Appearance
Jabra Plus APIs (beta)
With the Jabra Plus APIs (beta), you can easily integrate Jabra device functionality into your cloud service
The Jabra Plus APIs support the following use cases:
- Getting device inventory
- Getting meeting room information
- Getting and updating device settings
- Getting and updating firmware version
- Performing a remote reboot of meeting room devices
- Subscribing to webhooks for meeting room device status updates
Background and pre-requisites
With the Jabra Plus APIs, you can manage devices in your organization in Jabra Plus Management (Jabra Plus). To use the APIs, you must:
- Create an organization in Jabra Plus Management - Jabra Plus.
- Provision Jabra devices to your organization
- Get an API subscription key In Jabra Plus Management
Why is this in beta?
The following features are fully functional, however with the following caveats:
- During the beta period, features are under development and changes can occur
- Breaking changes are handled under versioning, whenever possible
- Limited documentation or feature completeness can be expected
Usage of the Jabra Plus APIs is free during the beta period. After this, APIs may become available as a paid service.
Feedback and bug reporting
As the Jabra Plus APIs are in a beta state, developers can provide Jabra with feedback through the following channel developer support, informing us:
- What you like about the APIs and/or what you would like to see changed or improved
- Feature requests for upcoming versions
- Bug reports if something is not working as you would expect it to
Getting started
The full set of API endpoints and versions available can be found at the API Portal, including the exact URLs and format for each API endpoint. The portal requires that you have set up API access as per the pre-requisites above. Furthermore, you can directly interact with the APIs and get examples of exact HTTP requests to use the API endpoints.
API endpoints available
The full set of API endpoints and versions available can be found at the API Portal.
Base URL for API access: https://api.cloud.jabra.com
Devices API
The Devices API lets you retrieve device inventory, get and update device settings, as well as get and update firmware for every device.
Most important query Parameters:
- PageSize (integer): Number of devices per page (max: 100 - this is the recommended value)
- DeviceClientType (string): Filter by type – “Personal” or “MeetingRoom”. If nothing is specified all devices are returned. Be aware that this is filtering on client type, not device type. See more below or in the Software clients & Jabra Plus apps chapter in the Jabra Plus Management platform guide: Jabra Plus -> click your user name -> Download user guide.
- ContinuationToken (string): Token for the next page (returned in previous response) in case returned payload exceeds “PageSize”.
- The list of query parameters is available on the API Portal
Example:
http
GET https://api.cloud.jabra.com/Devices/api/devices?DeviceClientType=MeetingRoom&SortDescending=false&PageSize=100 HTTP/1.1
Cache-Control: no-cache
api-version: 1
Ocp-Apim-Subscription-Key: {your API subscription key}curl
curl -v -X GET "https://api.cloud.jabra.com/Devices/api/devices?DeviceClientType=MeetingRoom&SortDescending=false&PageSize=100" -H "Cache-Control: no-cache" -H "api-version: 1"
- H "Ocp-Apim-Subscription-Key: {your API subscription key}""This example returns a list of meeting room devices in pages of 100.
Meeting Rooms API
The Meeting Rooms API gets a meeting room based on the "groupId" property of a meeting room devices. Additionally you can remote reboot all Jabra meeting room devices in a particular meeting room.
Example: Retrieve a room
http
GET https://api.cloud.jabra.com/meetingrooms/api/meetingrooms/{groupId of one of devices in room} HTTP/1.1
Cache-Control: no-cache
api-version: 1
Ocp-Apim-Subscription-Key: {your API subscription key}curl
curl -v -X GET "https://api.cloud.jabra.com/meetingrooms/api/meetingrooms/{groupId of one of devices in room}" -H "Cache-Control: no-cache" -H "api-version: 1"
- H "Ocp-Apim-Subscription-Key: {your API subscription key}""Example: Reboot all Jabra meeting room devices in a room:
http
POST https://api.cloud.jabra.com/meetingrooms/api/meetingrooms/{groupId of one of devices in room}/reboot HTTP/1.1
Cache-Control: no-cache
api-version: 1
Ocp-Apim-Subscription-Key: {your API subscription key}curl
curl -v -X POST "https://api.cloud.jabra.com/meetingrooms/api/meetingrooms/{groupId of one of devices in room}/reboot" -H "Cache-Control: no-cache" -H "api-version: 1"
- H "Ocp-Apim-Subscription-Key: {your API subscription key}""Meeting room devices vs personal devices
Jabra Plus Management uses dedicated gateway clients to connect an organization's personal and meeting room Jabra devices to the platform for centralized management.
Desktop client For Jabra personal devices, installing and running a desktop client (i.e.: Jabra Plus Desktop app) on a computer is a prerequisite to remote manage Jabra personal devices, also adding them to virtual inventories.
Meeting room client The Meeting room client connects Jabra meeting room devices to Jabra Plus Management in two ways:
Install the Jabra Plus room client on a meeting room compute device (for example, a Microsoft Teams Rooms or Zoom Rooms system) to manage connected Jabra speakers, video bars, controllers, and schedulers. Use the built-in client on supported Jabra meeting room devices (for example, PanaCast 40/50/55 VBS) or the Jabra Plus Provisioning app (for example, PanaCast 50 BYOD) by applying a room or organization provisioning code generated in the platform.
API versioning
Jabra Plus APIs use explicit version headers to control behavior and maintain backward compatibility as functionality evolves. See full description of available APIs and versions in the API Portal.
Version header format:
api-version: [version-number]Backward compatibility: Older versions remain supported for a transition period. Breaking changes are only introduced in new versions, and new parameters or response fields are added via new versions to avoid impacting existing integrations.
While Jabra aims to prevent breaking changes outside new versions, this cannot be fully guaranteed.
Pagination and continuation tokens
When you request a list of devices, the response is returned in pages of up to 100 devices (recommended value). If more devices are available, a continuation token is included in the response. You can use this token to request the next page of devices.
Example of using a continuation token to request next page:
The continuation token is provided in the API response when more pages are available.
http
GET https://api.cloud.jabra.com/Devices/api/devices?SortDescending=false&ContinuationToken={your continuation token} HTTP/1.1
Cache-Control: no-cache
api-version: 1
Ocp-Apim-Subscription-Key: {your API subscription key}curl
curl -v -X GET "https://api.cloud.jabra.com/Devices/api/devices?SortDescending=false&ContinuationToken={your continuation token}" -H "Cache-Control: no-cache" -H "api-version: 1" -H "Ocp-Apim-Subscription-Key: {your API subscription key}"See full description of available APIs in the API Portal
Webhooks
To get near real-time updates on changes happening to meeting room devices, you can use the Jabra Plus webhooks. Webhooks can be used to get near real-time notifications in the following scenarios:
- Meeting room device status has changed. E.g. device went offline, online or rebooted.
- Meeting room device firmware has changed. E.g. a firmware update was completed.
The schema for the webhook payload can be downloaded when creating or editing a webhook in Jabra Plus Management platform.
Webhooks are limited to meeting room devices
Be aware that webhooks are only available for meeting room devices. If you need information about the state of personal devices (headsets, speakerphones, etc.) you must use REST APIs and get devices at an interval compliant with the below rate limits. If you have a use case for which you'd like to use webhooks with personal devices, contact developer support.
Adding a webhook
Use webhooks to receive event notifications (for example, when device status or firmware changes) from Jabra Plus Management platform.
Prerequisites
- You have access to Jabra Plus Management as an admin user holding the Owner role
- You have a publicly reachable HTTPS endpoint ready to receive webhook events
Procedure
Log in to Jabra Plus Management with an account that has the Owner role
On the left-hand navigation bar, click Integrations
In the Configurable Webhooks tab, click Add webhook
In the Add webhook for meeting rooms dialog box, in the Name field, enter a name for the webhook
a. In the Webhook URL field, enter the Callback URL for your webhook endpoint (the URL that will receive events)
b. In the Authentication method drop-down, select the relevant authentication (None or Basic) * If you select Basic ensure you enter the required credentials (Username and Password)
c. Check the event types you want to receive, for example:
* Device status changed * Firmware changedTo save the webhook, click Add webhook
You must now validate the webhook (handshake). After you add the webhook, Jabra Plus sends a validation event to your callback URL.
Ensure you inspect the incoming event payload and locate the "validationUrl" property in the data section, and within 10 minutes, send an HTTP GET request to the "validationUrl" using a REST client or a web browser.
If the validation request is successful, the webhook is activated and starts receiving events for the selected event types. At this point your webhook is added and validated. Jabra Plus Management sends event notifications to your callback URL whenever the selected events occur.
Usage terms, rate limits, quota
Usage of the Jabra Plus APIs is free during the beta period. After this, APIs may become available as a paid service.
You can consult Jabra Plus legal agreements for further usage terms.
The Jabra Plus APIs are governed by rate limits as per the following:
The following are general rate limits across all API endpoints (both rules apply):
- 10000 API calls every five minutes
- 100 API calls per second
The following is the specific rate limit for updating firmware, changing settings, and rebooting devices:
- One API request every minute per device
When these limits are exceeded, the API returns a HTTP 429 Too Many Requests error. The response includes a Retry-After header indicating when the client may retry.
Clients should treat HTTP 429 as a non-fatal, expected condition and:
- Respect the
Retry-Afterheader before retrying - Apply exponential backoff and jitter to avoid synchronized retry storms (adding a small random component to the retry delay, so that not all clients retry at the exact same time).
Best Practices:
- Cache responses when appropriate
- Use pagination efficiently by using a maximum page size of 100 items to reduce the number of API requests
- Batch operations during off-peak hours
Error handling
Common HTTP Status Codes:
- 200 OK: Successful request
- 400 Bad Request: Invalid parameters
- 401 Unauthorized: Missing or invalid subscription key
- 404 Not Found: Room/device not found
- 429 Too Many Requests: Rate limit exceeded - see above
- 500 Internal Server Error: Server-side issue