OVI API Reference
General Information
Documentation for CONNECT API/PAPI v3 provisioning web service.
The base path for the API is: api/provisioning
The path api/provisioning
version 3.0
has three endpoints /save
, /bulksave
, /delete
All requests need included header Authorization: Bearer <acquired token>
and x-api-version: 3.0
How to aquire Bearer token
Request
To aquire Bearer token we need to POST
correct authentication information to auth/gettoken
in the header following
following object needs to be included in body of the POST
Response
a string with the token to be used in the header of all API requests.
API Endpoints
POST [base]/save
Will provision/insert a new gateway if input.GatewayId
is null.
The GatewayId
that the gateway has will be returned, so that it is possible to update this gateway next time instead of creating a duplicate.
If GatewayId
is sent, the existing gateway will be updated.
We prefer that you send GatewayId when you have it.
Note
After 30 days without any interaction, the URL to SIP-URI mapping will be automatically deleted. To keep the mapping, you need to set up a process to continuously refresh the object.
Examples
Request
without GatewayId
{
"GatewayId": null,
"PlannedStartAtUtc": "2025-03-20T10:00:00.000Z",
"PlannedEndAtUtc": "2025-03-20T11:30:00.000Z",
"MeetingTypeIdentifier": "OVI",
"MeetingUrl": "https://yourvideoplatform.com/meet-now/325dagxgy",
"MeetingId": "325dagxgy",
"MeetingPassword": "password123",
"IsExternalOrganizer": false,
"LiveCaptionsEnabled": true
}
with GatewayId
{
"GatewayId": "0195b8c8-3fd2-787d-a73b-bfe03f5e5ff5",
"PlannedStartAtUtc": "2025-03-20T10:00:00.000Z",
"PlannedEndAtUtc": "2025-03-20T11:30:00.000Z",
"MeetingTypeIdentifier": "OVI",
"MeetingUrl": "https://yourvideoplatform.com/meet-now/325dagxgy",
"MeetingId": "325dagxgy",
"MeetingPassword": "password123",
"IsExternalOrganizer": false,
"LiveCaptionsEnabled": true
}
Response
{
"GatewayId": "0195b8c8-3fd2-787d-a73b-bfe03f5e5ff5",
"EndpointDialUri": "t.ab123.thb14b7@qa.joingw.com",
"CommonDialUri": "t.123456789012@joingw.com"
}
POST [base]/bulksave
Bulk Provisioning
This feature allows for the provisioning of up to 1,000 gateways in a single call. Each item in the bulk request uses the same data structure as a standard save call, with the addition of one property: BulkItemId
.
- With
BulkItemId
: If you provide aBulkItemId
in your request, you can use it to match each item in the response, which will also include the corresponding HTTP status for that item. - Without
BulkItemId
: IfBulkItemId
is not set in the input, you can still identify each item in the response by its sequence. The first item in the request corresponds to the first item in the response, the second to the second, and so on.
Examples
Request
[
{
"BulkItemId": "item-123",
"GatewayId": null,
"PlannedStartAtUtc": "2025-03-20T10:00:00.000Z",
"PlannedEndAtUtc": "2025-03-20T11:30:00.000Z",
"MeetingTypeIdentifier": "OVI",
"MeetingUrl": "https://yourvideoplatform.com/meet-now/325dagxgy",
"MeetingId": "325dagxgy",
"MeetingPassword": "password123",
"IsExternalOrganizer": false,
"LiveCaptionsEnabled": true
},
{
"BulkItemId": null,
"GatewayId": "0195ae46-3aad-79f5-9c1e-65609ea809a3",
"PlannedStartAtUtc": "2025-03-21T13:00:00.000Z",
"PlannedEndAtUtc": null,
"MeetingTypeIdentifier": "OVI",
"MeetingUrl": "https://yourvideoplatform.com/meet-now/53abacgi",
"MeetingId": "53abacgi",
"MeetingPassword": "123pass",
"IsExternalOrganizer": true,
"LiveCaptionsEnabled": false
}
]
Response
[
{
"BulkItemId": "item-123",
"StatusCode": 200,
"StatusDescription": null,
"GatewayId": "0195b8d3-a100-72eb-a0ee-411171ec8345",
"EndpointDialUri": "t.ab123.1a2b3cD@joingw.com",
"CommonDialUri": "t.12345678@joingw.com"
},
{
"BulkItemId": "item-789",
"StatusCode": 400,
"StatusDescription": "Validation failed: \n-- PlannedEndAtUtc: 'Planned End At Utc' can not be before PlannedStartAtUtc. Severity: Error",
"GatewayId": null,
"EndpointDialUri": null,
"CommonDialUri": null
}
]
DELETE [base]/delete
Takes in a gatewayId, and will delete this if it exists, and returns HttpStatus Ok (200). If gatewayId does not exist, no error will be thrown, since it then is considered already deleted.