Patrolling API - what API should be used to get a list of available patrols per camera?

I want to be able to trigger patrolling by an API call. As I understand, the API to call is this one:

But, I need a “patrollingSchemaId” GUID to call this API.

I have tried this one (the only API we found by “Patrol” keyword search):

Given that I know this camera has 2 Patrols, I get this response:

that looks incorrect.

How can I find an API to get a list of available patrols per camera (same as I can get a list of available PTZ Presets per camera) ?

What you are searching for is setup, and the Configuration API can give you this using SOAP protocol.

You can see it in action if you explore the Config API Client sample.

https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_configurationapi.html&tree=tree_4.html

https://doc.developer.milestonesys.com/html/index.html?base=samples/componentsamples/configapiclient/readme.html&tree=tree_2.html

It is also possible to use Rest API

https://doc.developer.milestonesys.com/mipvmsapi/api/config-rest/v1/#tag/Core/operation/getpatrollingProfilesById

For completion I would like to mention also using the MIP library and the strongly typed classes for the Configuration API (ConfigurationItems classes).

https://doc.developer.milestonesys.com/html/index.html?base=miphelp/namespace_video_o_s_1_1_platform_1_1_configuration_items.html&tree=tree_search.html?search=patrollingprofile

private void GetPatrols()
{
	ManagementServer ms = new ManagementServer(Configuration.Instance.ServerFQID);
	Item cameraItem = TestGetCamera();
	Camera camera = new Camera(cameraItem.FQID);
	var patrols = camera.PatrollingProfileFolder.PatrollingProfiles;
	foreach ( var patro in patrols )
	{
		label1.Text += $"patrol {patro.DisplayName} - d - {patro.Description}" + Environment.NewLine;
		foreach (var pChildItems in patro.PatrollingEntryChildItems)
		{
			label1.Text += $"patrolpost {pChildItems.Name} " + Environment.NewLine;
			foreach (var key in pChildItems.GetPropertyKeys())
			{
				label1.Text += $"p - {key}/{pChildItems.GetProperty(key)}" + Environment.NewLine;
			}
		}
	}
}

Thank you for your response.

I used SOAP protocol /ManagementServer/ConfigurationApiService.svc?wsdl

and still cannot find a proper request.

The one that I have tried (with Basic auth):

And I got:

I really recommend to use the Rest API instead, it is the newest and recommended API now.