RESTful API doesn't deliver all of the cameras informations mentionned in the documentation

Hello,

I am using the Milestone Restful API for my integration and the main issue is that i don’t get the full informations showcased within the documentation especially the cameras.

For instance it doesn’t contain the streams nor the settings among a lot informations, please refer to this image of what should i get according to the doc:

And here’s what i get (one camera) :

"array": [
        {
            "displayName": "AUTODOME IP starlight 5100i (192.168.1.105) - Caméra 1",
            "enabled": true,
            "id": "60e5efad-3f46-4c4f-aee3-a9e027d01ba9",
            "name": "AUTODOME IP starlight 5100i (192.168.1.105) - Caméra 1",
            "channel": 0,
            "description": "",
            "createdDate": "0001-01-01T00:00:00.0000000",
            "lastModified": "2024-07-25T16:52:06.8970000Z",
            "gisPoint": "POINT EMPTY",
            "shortName": "",
            "icon": 0,
            "coverageDirection": "0",
            "coverageDepth": "0",
            "coverageFieldOfView": "0",
            "recordingFramerate": "5",
            "recordKeyframesOnly": false,
            "recordOnRelatedDevices": true,
            "recordingEnabled": true,
            "prebufferEnabled": true,
            "prebufferInMemory": true,
            "prebufferSeconds": 3,
            "edgeStorageEnabled": false,
            "edgeStoragePlaybackEnabled": false,
            "manualRecordingTimeoutEnabled": true,
            "manualRecordingTimeoutMinutes": 5,
            "recordingStorage": {
                "type": "storages",
                "id": "8d0f1bae-782a-4bae-a892-c3c1ad99b77b"
            },
            "relations": {
                "parent": {
                    "type": "hardware",
                    "id": "af6b5cc4-e27c-43f3-822a-9236f13f9890"
                },
                "self": {
                    "type": "cameras",
                    "id": "60e5efad-3f46-4c4f-aee3-a9e027d01ba9"
                }
            }
        }

I am using my administrator credentials and i’m absolutely sure i have all the rights, on a related node i could use soap but integrating them within my api require altering the wsdl files themselves which is harmful for automation.

PS: Using Milestone Xprotect Corporate 23.3a

Thanks in advance.

Do a

GET /cameras/{id}?resources

then you can see that settings and stream are possible resources

Do a

GET /cameras/{id}/streams

then you can see the streams, and likewise

GET /cameras/{id}/settings

I will discuss your observation with Milestone on this looking different in the documentation, maybe there is an explanation.

Yes those routes worked,

However, it was implied in the official rest documentation webpage that this was all going to be sent within /API/rest/v1/cameras/ alone, that’s why i thought it was over or maybe a problem from my heavy client.

So the main problem was indeed the implication of the documentation that was misleading…

It turns out the documentation isn’t misleading, but I had a hard time finding the right information..

If you look at https://doc.developer.milestonesys.com/mipvmsapi/api/config-rest/v1/#tag/DeviceConfig/operation/getcamerasById

If you then expand the “200 OK” section you find -

-It actually describes a different approach to retrieving the information compared to my first answer.

owwwwww i didn’t notice this as i jumped directly to the result format…

My bad