• ×
    Information
    Windows update impacting certain printer icons and names. Microsoft is working on a solution.
    Click here to learn more
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
  • ×
    Information
    Windows update impacting certain printer icons and names. Microsoft is working on a solution.
    Click here to learn more
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
Guidelines
The HP Community is where owners of HP products, like you, volunteer to help each other find solutions.
HP Recommended

 

Does anyone know if it's possible to provision new endpoints using the RPRM REST API?

 

I am currently manually uploading new endpoints (e.g. Trio and VVX handsets) via CSV:
Endpoint / Monitor View / More / "Import/Export UC Managed Endpoints".

 

This works well, however it requires a human, and I'd like to automate it.

 

My RPRM is 10.8.

 

The most recent copy of the Polycom® RealPresence® Platform API PDF I can find is API Version 3.6.0 | SEPTEMBER 2018 | 3725 77702 001K.

 

Inside it says:
plcm-ep-registration
New for this release, this resource collection allows you to control registration by endpoints.

 

There's no more information about this feature, so I'm left to guess (and hope?) that it might meet my needs.

 

I can't find any more info on the forum and nothing on the web.

 

Can anyone help?

 

Thanks,

 

 

Greig.

4 REPLIES 4
HP Recommended

It is possible, but it's going to be a bit different experience than how you are using CSV upload/import.  The main difference is that when you do the import, you'll see a 'CSV_import' Config Profile created and auto associated to your device automatically.  Through API, there is no way you can trigger that exact same behavior, but you can replicate it. 

 

I'll give you the APIs and the high level direction, if you need some more specifics to sort through, feel free to respond with more questions.

 

For handling the Devices

Create => POST to /api/rest/devices

List/Search => GET to /api/rest/devices

 

For handling Group Association

Create a Group => POST to /api/rest/device-groups

List all Groups => GET to /api/rest/device-groups

List all Devices in a specific Group => GET to /api/rest/device-groups/{device-group-identifier}/associated-devices

Add/Remove Devices in a specific Group => PUT to /api/rest/device-groups/{device-group-identifier}/associated-devices

 

For Handling Config Profiles and Association

Create a Profile => POST to /api/rest/uc-profiles

Find a Profile => GET to /api/rest/uc-profiles

Delete a Profile => DELETE to /api/rest/uc-profiles/{profile-identifier}

Update a Profile => PUT to /api/rest/uc-profiles/{profile-identifier}

 

Attach Profiles to a Device

List associated profiles on a Device => GET to /api/rest/uc-profile-deployments/devices/{device-identifier}

Attach or Remove a Profile to a Device => PUT to /api/rest/uc-profile-deployments/devices/{device-identifier}

 

So thinking through it, you'd want to know if an endpoint exists, if not create it, if so update it.  Then you'd want to know if a profile with the unique device parameters exists, if not create it, if so update.  Then you'd want to make sure your groups exist, if so you'd get the device group identifier from the list and then attach the endpoint to the specified group.  

 

I've done this workflow through postman, so it is for sure possible using the APIs, just no clean api you could call to ingest a CSV file and do it all for you.

 

The biggest gap at the moment is that you can't automate the attachment of software to a config profile, so you'll still have to use the RPRM interface for uploading and handling attachment of software to a particular config profile.

 

Bonus points for additional things that you can't do through CSV but since you are trying to automate, may want to leverage

Attach Profiles to Groups

List associated profiles => GET to /api/rest/uc-profile-deployments/groups/{group-identifier}

Attach or Remove a Profile => PUT to /api/rest/uc-profile-deployments/groups/{group-identifier}

Attach Profiles to Site Deployment Level

List associated profiles  => GET to /api/rest/uc-profile-deployments/sites/{site-identifier}

Attach or Remove a Profile => PUT to /api/rest/uc-profile-deployments/sites/{site-identifier}

Attach Profiles to Model Deployment Level

List associated profiles  => GET to /api/rest/uc-profile-deployments/model/{model-identifier}

Attach or Remove a Profile => PUT to /api/rest/uc-profile-deployments/model/{model-identifier}

Attach Profiles to Global Deployment Level

List associated profiles  => GET to /api/rest/uc-profile-deployments/global/1

Attach or Remove a Profile => PUT to /api/rest/uc-profile-deployments/global/1

 

HP Recommended

oh one more thing that is likely far more helpful than that document you found.  go to:

https://your.rprm.fqdn/api/rest/documentation/

 

It'll have you log in with any local admin user, and then you'll get access to the documentation for your version of the API as implemented on your device, and also link to that document you found.

 

I find the documentation here the most useful:

https://your.rprm.fqdn/api/rest/documentation/toc.html

HP Recommended

 

Thanks Brandon..

 

I'm Beta-testing 10.9 and amusingly, it still has the samples and PDF v3.2.7 (dated 2018 and for RPRM v10.7) baked into it. (I've just reported it on the Beta site).

 

Regardless I think you've given me HEAPS to go on, so thanks for that.

 

- Greig.

 

 

HP Recommended

Hi,

I know this is an old thread. I was looking into deleting devices from RPRM with REST API.
In API docs on RPRM server i see that DELETE method is supported for devices but it does not work when I execute it. getting 'The remote server returned an error: (400) Bad Request.'
GET method works though. Is this supported or does it require some extra's in headers?

I use this:
$url = "https://myserver:8443/api/rest/devices/<deviceid>"
Invoke-WebRequest -Uri $url -Credential $cred -Method Delete -contenttype "application/json"

† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href="https://www8.hp.com/us/en/terms-of-use.html" class="udrlinesmall">Terms of Use</a> and <a href="/t5/custom/page/page-id/hp.rulespage" class="udrlinesmall"> Rules of Participation</a>.