Trunking
Trunk groups allow to connect traditional PBXes to the platform. You can setup trunk groups and connect numbers (aka DIDs) to them. A trunk group always requires access trunks. An access trunk is a point-to-point connection between the PBX and the fusion platform. A trunk group must have at least 1 but can have multiple access trunk.
List all trunk groups of a subscription
Use this endpoint to retrieve all trunk groups currently assigned to a subscription.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.list
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
URL/Query parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
withStatus | boolean | If provided it will return also the synchronization status of each trunk group based on the access trunks | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | One or more trunk groups found |
400 | Error while processing the request |
404 | No trunk group found for the specified subscription |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
trunkgroups | array | List containing all trunk groups for the tenant | no |
Trunk Group Item Object
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index of the trunk group | no |
uuid | string | The unique ID (UUID) identifying the trunk group | no |
name | string | Name of the trunk group | no |
external | boolean | Flag that indicates if a trunk group is configured as external | no |
status | string | The synchronization status of each trunk group, based on the access trunks. Could be ok, pending, error or unknown | yes |
disasterRecoveryStatus | boolean | The status of disaster recovery | no |
billingId | string | The external reference of the peer trunk group. | no |
type | string | The type of the peer trunk group: sip, msteams, webexc, webexcc, zoom, azure. | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
Example
{
"trunkgroups": [
{
"disasterRecoveryStatus": false,
"external": false,
"id": 10,
"name": "t1",
"status": "ok",
"uuid": "760d0e53-f177-430a-bab8-52ba3c9a0fd4",
"billingId": "",
"type": "webexcc"
},
{
"disasterRecoveryStatus": false,
"external": false,
"id": 5,
"name": "Test TG 2",
"status": "ok",
"uuid": "58efcbf8-7cfb-496c-9699-0bcf2d9f51b4",
"billingId": "",
"type": "azure"
},
{
"disasterRecoveryStatus": false,
"external": false,
"id": 6,
"name": "Test TG 3",
"status": "ok",
"uuid": "0921a230-e173-4a6c-9af6-67841a517c80",
"billingId": "",
"type": "sip"
},
{
"disasterRecoveryStatus": false,
"external": false,
"id": 4,
"name": "Test TG 4",
"status": "ok",
"type": "msteams",
"uuid": "db44e2de-fd63-4d87-ac07-b0a99af9e51b",
"billingId": "",
"type": "msteams"
},
{
"disasterRecoveryStatus": false,
"external": false,
"id": 22,
"name": "TG test N4 Upd",
"status": "ok",
"uuid": "1d25d663-24c8-4cec-9b72-49cfd8442008",
"billingId": "",
"type": "sip"
},
{
"disasterRecoveryStatus": false,
"external": false,
"id": 2,
"name": "IDAL trunk2",
"status": "ok",
"uuid": "2ad922c4-a962-4458-be57-d0a39afcd549",
"billingId": "",
"type": "sip"
}
]
}Get details of a specific trunk group
Use this endpoint to retrieve the details of a trunk group currently assigned to a subscription.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.read
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
id | integer | Index of an existing trunk group |
URL/Query parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
withStatus | boolean | If provided it will return also the synchronization status of the trunk group based on the access trunks | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | Details of the trunk group could be retrieved |
400 | Error while processing the request |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
uuid | string | The unique ID (UUID) identifying the trunk group | no |
name | string | Name of the trunk group | no |
billingId | string | The external reference of the peer trunk group. | no |
external | boolean | Flag that indicates if the trunk group is configured as external | no |
calledFormat | string | Determines how the called number should be presented on the trunk. See Calling Format. | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. See Calling Format. | no |
maxCalls | integer | Maximum simultaneous calls allowed for the trunk group | yes |
maxIncomingCalls | integer | Maximum incoming calls allowed for the trunk group | yes |
maxOutgoingCalls | integer | Maximum outgoing calls allowed for the trunk group | yes |
pilot | object or null | Object representing the pilot number of the trunk. Acts as main number | no |
blockUnscreenedCalls | boolean | Block calls that have a CLI that doesn't belong to this trunk | no |
overwiteUnscreenedCallsWithPilot | boolean | Overwrite the CLI to the pilot number for calls with a CLI that doesn't belong to this trunk | no |
cfaActive | boolean | Flag enabling or disabling call forwarding always on the trunk group | no |
cfaDestination | string | Call forwarding always destination | no |
cfnrActive | boolean | Flag enabling or disabling call forwarding not reachable on the trunk group | no |
cfnrDestination | string | Call forwarding not reachable destination | no |
cfnrTimer | integer | Timer in seconds before call forwarding not reachable | no |
incomingCalls | boolean | Incoming calls allow status | no |
outgoingCalls | boolean | Outgoing calls allow status | no |
extra | object | Object containing extra data | no |
status | string | The synchronization status of the trunk group based on the access trunks. Could be ok, pending, error or unknown | yes |
disasterRecoveryStatus | boolean | The status of disaster recovery | no |
peerTrunks | array | List containing all peer trunk groups of the subscription | yes |
type | string | The type of the peer trunk group: sip, msteams, webexc, webexcc, zoom, azure. | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
The role of an external trunk group
External trunk groups are special trunks that do not follow the classical settings of non-external trunk groups. They do not need a specific SBC configuration as this has been set once in a static way for all customers. A static trunk is set per default for every subscriptions if the group properties draas_external_trunkgroup_nameand draas_external_trunkgroup_name have been set. This external trunk group cannot be deleted and has a limited set of settings that may be managed.
Calling Format
Determines how the called/calling number should be presented on the trunk. This can be e164, national_with_0, international_with_00 or international_without_00.
Phone Number Object
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index of the phone number | yes |
connectionId | integer | Index of the connection ID linking the phone number to the trunk | no |
fullNumber | string | Phone number in E.164 international format | no |
Peer Trunk Group Object
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index of the trunk group | no |
uuid | string | The unique ID (UUID) identifying the peer trunk group | no |
billingId | string | The external reference of the peer trunk group. | no |
extra | object | Object containing extra data | no |
domain | string | The domain of the peer trunk | no |
status | string | The synchronization status of the peer trunk: error, pending, ok, unknown | no |
type | string | The type of the peer trunk group: sip, msteams, webexc, webexcc, zoom, azure. | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
popId | integer | Internal ID representing the access point in the network to which this trunk is connected | no |
popName | string | Friendly name of the POP | no |
inboundCalls | integer | Inbound calls quantity | no |
outboundCalls | integer | Outbound calls quantity | no |
Example
{
"blockUnscreenedCalls": false,
"calledFormat": "e164",
"callingFormat": "e164",
"cfaActive": false,
"cfaDestination": "",
"cfnrActive": false,
"cfnrDestination": "",
"cfnrTimer": 10,
"disasterRecoveryStatus": false,
"external": false,
"inboundCalls": true,
"name": "Test TG 4",
"billingId": "",
"outboundCalls": true,
"overwiteUnscreenedCallsWithPilot": true,
"pilot": {
"connectionId": 6,
"fullNumber": "+3225409943",
"id": 5
},
"status": "ok",
"uuid": "db44e2de-fd63-4d87-ac07-b0a99af9e51b"
}Example of a Peer Trunk Group
{
"blockUnscreenedCalls": false,
"calledFormat": "e164",
"callingFormat": "e164",
"cfaActive": false,
"cfaDestination": "",
"cfnrActive": false,
"cfnrDestination": "",
"cfnrTimer": 10,
"disasterRecoveryStatus": false,
"external": false,
"inboundCalls": true,
"name": "Test Peer Trunk 1",
"billingId": "",
"outboundCalls": true,
"overwiteUnscreenedCallsWithPilot": true,
"peerTrunks": [
{
"billingId": "1lklsd2",
"extra": {
"value": "1"
},
"id": 21,
"inboundCalls": false,
"outboundCalls": true,
"popId": 1,
"popName": "Wakefield",
"uuid": "e9951870-a44b-44df-8f9d-8d84e4dff69e"
},
{
"billingId": "",
"extra": {
"value": "2"
},
"id": 20,
"inboundCalls": true,
"outboundCalls": false,
"popId": 2,
"popName": "Northampton",
"uuid": "b611e775-3286-4a10-af47-e1711c30945f"
}
],
"pilot": null,
"status": "ok",
"type": "msteams",
"uuid": "58591d6b-fa87-4641-8ab8-90e21c6b86aa"
}Create a new trunk group
Use this endpoint to associate a new trunk group to a subscription
Once completed, based on the trunk type, a notification will be sent through webhook or email (if enabled). If it's a sip trunk the event is described on create trunk_group event, otherwise, if it's a peer trunk, the event is described on create peer trunk_group event
Request
Endpoint
POST /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.create
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription to which you want to add a trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
name | string | Name of the new trunk group. This name must be unique within a subscription | yes |
billingId | string | The external reference of the peer trunk group. | no |
calledFormat | string | Determines how the called number should be presented on the trunk. See Calling Format. | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. See Calling Format. | no |
maxCalls | integer | Maximum simultaneous calls allowed for the trunk group | no |
maxIncomingCalls | integer | Maximum incoming calls allowed for the trunk group | no |
maxOutgoingCalls | integer | Maximum outgoing calls allowed for the trunk group | no |
blockUnscreenedCalls | boolean | Block calls that have a CLI that doesn't belong to this trunk | no |
overwiteUnscreenedCallsWithPilot | boolean | Overwrite the CLI to the pilot number for calls with a CLI that doesn't belong to this trunk | no |
cfaActive | boolean | Flag enabling or disabling call forwarding always on the trunk group | no |
cfaDestination | string | Call forwarding always destination | no |
cfnrActive | boolean | Flag enabling or disabling call forwarding not reachable on the trunk group | no |
cfnrDestination | string | Call forwarding not reachable destination | no |
cfnrTimer | integer | Timer in seconds before call forwarding not reachable | no |
incomingCalls | boolean | Incoming calls allow status | no |
outgoingCalls | boolean | Outgoing calls allow status | no |
extra | object | Object containing extra data | no |
type | string | The type of the peer trunk group: sip, msteams, webexc, webexcc, zoom, azure. | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
peerTrunks | array | List containing all peer trunk groups of the subscription | no |
Example
{
"name": "My New trunk group",
"billingId": "",
"external": false,
"calledFormat": "e164",
"callingFormat": "e164",
"maxCalls": 10,
"blockUnscreenedCalls": false,
"overwiteUnscreenedCallsWithPilot": true,
"cfaActive": false,
"cfncActive": true,
"cfnrDestination": "+33613525507",
"cfnrTimer": 10,
"cfaActive": false,
"cfnrActive": true
}Example of a Peer Trunk Group
{
"extra": {},
"name": "Test Peer Trunk 1",
"billingId": "",
"peerTrunks": [
{
"popId": 1,
"inboundCalls": false,
"outboundCalls": true,
"billingId": "",
"extra": {
"value": "1"
}
},
{
"popId": 2,
"inboundCalls": true,
"outboundCalls": false,
"billingId": "",
"extra": {
"value": "1"
}
}
],
"type": "msteams"
}Response
Status codes
| Parameter | Description |
|---|---|
200 | The trunk group was created successfully |
400 | Error while creating the trunk group |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
name | string | Name of the trunk group | no |
billingId | string | The external reference of the peer trunk group. | no |
external | boolean | Flag that indicates if the trunk group is configured as external | no |
calledFormat | string | Determines how the called number should be presented on the trunk. See Calling Format. | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. See Calling Format. | no |
maxCalls | integer | Maximum simultaneous calls allowed for the trunk group | yes |
maxIncomingCalls | integer | Maximum incoming calls allowed for the trunk group | yes |
maxOutgoingCalls | integer | Maximum outgoing calls allowed for the trunk group | yes |
pilot | object or null | Object representing the pilot number of the trunk. Acts as main number | no |
blockUnscreenedCalls | boolean | Block calls that have a CLI that doesn't belong to this trunk | no |
overwiteUnscreenedCallsWithPilot | boolean | Overwrite the CLI to the pilot number for calls with a CLI that doesn't belong to this trunk | no |
cfaActive | boolean | Flag enabling or disabling call forwarding always on the trunk group | no |
cfaDestination | string | Call forwarding always destination | no |
cfnrActive | boolean | Flag enabling or disabling call forwarding not reachable on the trunk group | no |
cfnrDestination | string | Call forwarding not reachable destination | no |
cfnrTimer | integer | Timer in seconds before call forwarding not reachable | no |
incomingCalls | boolean | Incoming calls allow status | no |
outgoingCalls | boolean | Outgoing calls allow status | no |
extra | object | Object containing extra data | no |
type | string | The type of the peer trunk group: sip, msteams, webexc, webexcc, zoom, azure. | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
peerTrunks | array | List containing all peer trunk groups of the subscription | no |
Example
{
"name": "My New trunk group",
"billingId": "",
"external": false,
"extra": {},
"calledFormat": "e164",
"callingFormat": "e164",
"maxCalls": 10,
"blockUnscreenedCalls": false,
"overwiteUnscreenedCallsWithPilot": true,
"cfaActive": false,
"cfncActive": true,
"cfnrDestination": "+33613525507",
"cfnrTimer": 10,
"cfaActive": false,
"cfnrActive": true,
"pilot": null
}Example
{
"blockUnscreenedCalls": false,
"calledFormat": "e164",
"callingFormat": "e164",
"cfaActive": false,
"cfaDestination": "",
"cfnrActive": false,
"cfnrDestination": "",
"cfnrTimer": 10,
"external": false,
"id": 31,
"name": "Test Peer Trunk 1",
"billingId": "",
"overwiteUnscreenedCallsWithPilot": true,
"peerTrunks": [
{
"billingId": "",
"extra": {
"value": "1"
},
"id": 4,
"inboundCalls": false,
"outboundCalls": true,
"popId": 1,
"popName": "Wakefield"
"uuid": "d5422f50-acbe-4ac5-bfc6-b9d2464c5c70"
},
{
"billingId": "",
"extra": {
"value": "2"
},
"id": 23,
"inboundCalls": true,
"outboundCalls": false,
"popId": 2,
"popName": "Northampton"
"uuid": "afd91860-1ce9-455a-9662-8aa29f5afabf"
}
],
"status": "pending",
"type": "msteams",
"uuid": "122bf369-63cb-4a97-be21-54186f1e4667"
}Modify an existing trunk group
Use this endpoint to modify an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on update trunk_group event Once completed, based on the trunk type, a notification will be sent through webhook or email (if enabled). If it's a sip trunk the event is described on update trunk_group event, otherwise, if it's a peer trunk, the event is described on update peer trunk_group event
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.update
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
name | string | Name of the new trunk group. This name must be unique within a subscription | yes |
billingId | string | The external reference of the peer trunk group. | no |
calledFormat | string | Determines how the called number should be presented on the trunk. See Calling Format. | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. See Calling Format. | no |
maxCalls | integer | Maximum simultaneous calls allowed for the trunk group | no |
maxIncomingCalls | integer | Maximum incoming calls allowed for the trunk group | no |
maxOutgoingCalls | integer | Maximum outgoing calls allowed for the trunk group | no |
pilot | integer | Connection ID of the DID you want to assign as pilot | yes |
blockUnscreenedCalls | boolean | Block calls that have a CLI that doesn't belong to this trunk | no |
overwiteUnscreenedCallsWithPilot | boolean | Overwrite the CLI to the pilot number for calls with a CLI that doesn't belong to this trunk | no |
cfaActive | boolean | Flag enabling or disabling call forwarding always on the trunk group | no |
cfaDestination | string | Call forwarding always destination | no |
cfnrActive | boolean | Flag enabling or disabling call forwarding not reachable on the trunk group | no |
cfnrDestination | string | Call forwarding not reachable destination | no |
cfnrTimer | integer | Timer in seconds before call forwarding not reachable | no |
extra | object | Object containing extra data | no |
pops | array | List containing all Peer Trunking POP Object of the subscription | no |
type | string | The type of the peer trunk group: sip, msteams, webexc, webexcc, zoom, azure. | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
Example
{
"name": "My New trunk group 2"
}Example of a Peer Trunk Group
{
"extra": {},
"name": "Test Peer Trunk 2",
"billingId": "",
"peerTrunks": [
{
"id": 22,
"inboundCalls": false,
"outboundCalls": true,
"billingId": "billingId 1",
"extra": {
"name": "Extra 1"
}
},
{
"popId": 1,
"inboundCalls": false,
"outboundCalls": false,
"billingId": "billingId 2",
"extra": {
"name": "Extra 2"
}
}
]
}Response
Status codes
| Parameter | Description |
|---|---|
200 | Trunk group has been updated |
400 | Error while processing the request |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
name | string | Name of the trunk group | no |
billingId | string | The external reference of the peer trunk group. | no |
external | boolean | Flag that indicates if the trunk group is configured as external | no |
calledFormat | string | Determines how the called number should be presented on the trunk. See Calling Format. | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. See Calling Format. | no |
maxCalls | integer | Maximum simultaneous calls allowed for the trunk group | yes |
maxIncomingCalls | integer | Maximum incoming calls allowed for the trunk group | yes |
maxOutgoingCalls | integer | Maximum outgoing calls allowed for the trunk group | yes |
pilot | object or null | Object representing the pilot number of the trunk. Acts as main number | no |
blockUnscreenedCalls | boolean | Block calls that have a CLI that doesn't belong to this trunk | no |
overwiteUnscreenedCallsWithPilot | boolean | Overwrite the CLI to the pilot number for calls with a CLI that doesn't belong to this trunk | no |
cfaActive | boolean | Flag enabling or disabling call forwarding always on the trunk group | no |
cfaDestination | string | Call forwarding always destination | no |
cfnrActive | boolean | Flag enabling or disabling call forwarding not reachable on the trunk group | no |
cfnrDestination | string | Call forwarding not reachable destination | no |
cfnrTimer | integer | Timer in seconds before call forwarding not reachable | no |
inboundCalls | boolean | Incoming calls allow status | no |
outboundCalls | boolean | Outgoing calls allow status | no |
extra | object | Object containing extra data | no |
Example
{
"name": "My New trunk group 2",
"billingId": "",
"external": false,
"extra": {},
"calledFormat": "e164",
"callingFormat": "e164",
"maxCalls": 10,
"blockUnscreenedCalls": false,
"overwiteUnscreenedCallsWithPilot": true,
"cfaActive": false,
"cfncActive": true,
"cfnrDestination": "+33613525507",
"cfnrTimer": 10,
"cfaActive": false,
"cfnrActive": true,
"extra": {},
"inboundCalls": false,
"outboundCalls": false,
"pilot": null
}Example of a Peer Trunk Group
{
"blockUnscreenedCalls": false,
"calledFormat": "e164",
"callingFormat": "e164",
"cfaActive": false,
"cfaDestination": "",
"cfnrActive": false,
"cfnrDestination": "",
"cfnrTimer": 10,
"external": false,
"name": "Test Peer Trunk 2",
"billingId": "",
"overwiteUnscreenedCallsWithPilot": true,
"peerTrunks": [
{
"billingId": "billingId 2",
"extra": {
"name": "Extra 2"
},
"id": 24,
"inboundCalls": false,
"outboundCalls": false,
"popId": 1,
"popName": "Wakefield",
"uuid": "e3c9fd05-6a8f-43e3-b27b-06c71d01a53f"
},
{
"billingId": "billingId 1",
"extra": {
"name": "Extra 1"
},
"id": 22,
"inboundCalls": false,
"outboundCalls": true,
"popId": 1,
"popName": "Wakefield",
"uuid": "d5422f50-acbe-4ac5-bfc6-b9d2464c5c70"
}
],
"pilot": null,
"status": "pending",
"type": "msteams",
"uuid": "122bf369-63cb-4a97-be21-54186f1e4667"
}Suspend an existing trunk group
Use this endpoint to suspend an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on suspend trunk_group event
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.update
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
incomingCalls | boolean | Incoming calls allow status | no |
outgoingCalls | boolean | Outgoing calls allow status | no |
Example
{
"outgoingCalls": true
}Response
Status codes
| Parameter | Description |
|---|---|
200 | Trunk group has been updated |
400 | Error while processing the request |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
name | string | Name of the trunk group | no |
billingId | string | The external reference of the peer trunk group. | no |
external | boolean | Flag that indicates if the trunk group is configured as external | no |
calledFormat | string | Determines how the called number should be presented on the trunk. This can be e164, national_with_0, international_with_0 or international_with_00 | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. This can be e164, national_with_0, international_with_0 or international_with_00 | no |
maxCalls | integer | Maximum simultaneous calls allowed for the trunk group | yes |
maxIncomingCalls | integer | Maximum incoming calls allowed for the trunk group | yes |
maxOutgoingCalls | integer | Maximum outgoing calls allowed for the trunk group | yes |
pilot | object or null | Object representing the pilot number of the trunk. Acts as main number | no |
blockUnscreenedCalls | Boolean | Block calls that have a CLI that doesn't belong to this trunk | no |
overwiteUnscreenedCallsWithPilot | Boolean | Overwrite the CLI to the pilot number for calls with a CLI that doesn't belong to this trunk | no |
cfaActive | boolean | Flag enabling or disabling call forwarding always on the trunk group | no |
cfaDestination | string | Call forwarding always destination | no |
cfnrActive | boolean | Flag enabling or disabling call forwarding not reachable on the trunk group | no |
cfnrDestination | string | Call forwarding not reachable destination | no |
cfnrTimer | integer | Timer in seconds before call forwarding not reachable | no |
incomingCalls | boolean | Incoming calls allow status | no |
outgoingCalls | boolean | Outgoing calls allow status | no |
Example
{
"name": "My New trunk group 2",
"billingId": "asd123",
"external": false,
"calledFormat": "e164",
"callingFormat": "e164",
"maxCalls": 10,
"blockUnscreenedCalls": false,
"overwiteUnscreenedCallsWithPilot": true,
"cfaActive": false,
"cfncActive": true,
"cfnrDestination": "+33613525507",
"cfnrTimer": 10,
"cfaActive": false,
"cfnrActive": true,
"incomingCalls": false,
"outgoingCalls": true,
"pilot": null
}Delete an existing trunk group
Use this endpoint to remove an existing trunk group from a subscription.
Once completed, a notification will be sent through webhook or email (if enabled) as described on delete trunk_group event
Request
Endpoint
DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.delete
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
| Parameter | Description |
|---|---|
204 | Trunk group has been deleted |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Auto removing of phone numbers
If the trunk group still has numbers associated, the deletion bill be refused. Please make sure the numbers are disconnected from the trunk, prior to deleting the trunk.
Success
Body
N/A
Get numbers from a trunk group
Use this endpoint to get all phonenumbers connected to a trunk.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/numbers
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.numbers.list
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription to which the trunk group belongs |
trunkgroup_id | integer | Index of the trunk group |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
| Parameter | Description |
|---|---|
204 | The phone numbers have been successfully removed (might be the complete list or a partial list) |
400 | Error while removing the phone numbers |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
numbers | array | Array of phone numbers that have been assigned to the trunk group | yes |
Phone Number Object
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index of the phone number | yes |
connectionId | integer | Index of the connection ID linking the phone number to the trunk | no |
fullNumber | string | Phone number in E.164 international format | no |
Example
{
"numbers": [
{
"id": 872,
"connectionId": 137,
"fullNumber": "+3225405440"
},
{
"id": 1042,
"connectionId": 136,
"fullNumber": "+3225409843"
},
{
"id": 1043,
"connectionId": 135,
"fullNumber": "+3225409844"
}
]
}Add numbers to a trunk group
Use this endpoint to add phone numbers to an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on add_numbers_trunk_group event
Request
Endpoint
POST /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/numbers
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.numbers.create
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription to which the trunk group belongs |
trunkgroup_id | integer | Index of the trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
numbers | array | Array of numbers in e164 format that you want to add | yes |
Example
{
"countryCode": "+32",
"numbers": [
"+3225405220",
"+3225405221",
"+3225405230",
"+3225405231",
]
}Response
Status codes
| Parameter | Description |
|---|---|
200 | The phone numbers have been successfully added (might be the complete list or a partial list) |
400 | Error while adding the phone numbers |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Remove numbers from a trunk group
Use this endpoint to remove phone numbers from an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on remove_numbers_trunk_group event
Request
Endpoint
DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/numbers
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.numbers.delete
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription to which the trunk group belongs |
trunkgroup_id | integer | Index of the trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
connectionIds | array | Array of connection ID's used to link phone numbers to the trunk group as returned by this API | yes |
Example
{
"connectionIds": [
125,
138,
139
]
}Response
Status codes
| Parameter | Description |
|---|---|
204 | The phone numbers have been successfully removed (might be the complete list or a partial list) |
400 | Error while removing the phone numbers |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Modify a trunk group disaster recovery numbers
Use this endpoint to modify a trunk group disaster recovery numbers.
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{id}/disaster_recovery
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.update.disaster_recovery
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
plans | array | List containing all disaster recovery plans for the subscription | yes |
Example
{
"plans": [
{
"number": "+3225409943",
"disasterRecoveryNumber": "+32123456789"
},
{
"number": "+3225409876",
"disasterRecoveryNumber": null
}
]
}Response
Status codes
| Parameter | Description |
|---|---|
200 | Trunk group has been updated |
400 | Error while processing the request |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
results | array | List containing all disaster recovery plans results for the subscription | no |
Example
{
"results": [
{
"disasterRecoveryNumber": "+32123456789",
"number": "+3225409945",
"status": "success"
},
{
"disasterRecoveryNumber": null,
"message": "An error occurred while setting the disaster recovery number to your SIP trunk",
"number": "+3225409999",
"status": "error"
}
]
}Disaster Recovery Plan Object
|Parameter|Type|Description|Conditional?| |:--|:--|:--|:--|:--| |disasterRecoveryNumber|string or null|The disaster recovery number|no| |number|string|The phone number|no|
Disaster Recovery Plan Result Object
|Parameter|Type|Description|Conditional?| |:--|:--|:--|:--|:--| |disasterRecoveryNumber|string|The disaster recovery number|no| |message|string|The error message|yes| |number|string|The phone number|no| |status|string|The status|no|
Modify a trunk group disaster recovery status
Use this endpoint to modify the status of a trunk group disaster recovery.
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{id}/disaster_recovery/status
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.update.disaster_recovery
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
status | boolean | The status of the disaster recovery | yes |
Example
{
"status": true
}Response
Status codes
| Parameter | Description |
|---|---|
200 | Trunk group has been updated |
400 | Error while processing the request |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
status | boolean | The status of the disaster recovery | no |
Example
{
"status": true
}Toggles a trunk group disaster recovery status
Use this endpoint to toggle the status of a trunk group disaster recovery.
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{id}/disaster_recovery/toggle
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.update.disaster_recovery
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing trunk groups |
id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
| Parameter | Description |
|---|---|
200 | Trunk group has been updated |
400 | Error while processing the request |
404 | No trunk group found for the specified subscription and trunk group index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
status | boolean | The status of the disaster recovery | no |
Example
{
"status": false
}List all access trunks linked to a trunk group
Use this endpoint to retrieve all access trunks currently linked to a trunk group.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/access_trunks
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.access_trunks.list
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing access trunks |
trunkgroup_id | integer | Index of an existing trunk group |
URL/Query parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
search | string | Used to perform a search through all searchable properties of a access trunk that look like the string passed | no |
sort | string | Allows to specify one searchable property of a access trunk to apply a sorting operation | no |
dir | string | When performing a sort operation, specifies the type. Allowed values are asc for ascending (default) or desc for descending | no |
page_size | integer | Used for pagination, determines the maximum number of records on one page of results (defaults to 10) | no |
next | string | A token used to get the next records in the list. This token is taken back from the results of the previous call | no |
withStatus | boolean | If provided it will return also the synchronization status of the access trunks | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | One or more access trunk found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No trunk group found for the specified subscription and tenant |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
results | string | Total count of results that match your query | no |
pages | string | Total count of result pages that are available | no |
page | string | ID of the page that is currently returned | no |
next | string | A token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of numbers has to be continued | yes |
accessTrunks | array | List containing all access trunks for the tenant | no |
Access Trunk Object
| Parameter | Type | Description | Conditional? | Searchable? |
|---|---|---|---|---|
id | integer | Index of the access trunk | no | no |
name | string | Name of the access trunk | no | yes |
billingId | string | The external reference of the peer trunk group. | no | |
pop | array | Object describing the details of the Trunking access POP to which the trunk is connected | no | no |
weight | integer | Weight applicable to this access trunk | no | no |
priority | integer | Priority applicable to this access trunk | no | no |
primaryPeerIp | string | IP address of your PBX | yes | yes |
primaryPeerPort | integer | Port of your PBX | yes | yes |
ipWhitelist | string | A string giving a list of white listed IP addresses | yes | no |
authRequired | boolean | Flag indicating if authorization is required for this access trunk | no | no |
authUsername | string | Username used in authorization for this access trunk | yes | no |
authPassword | string | Password used in authorization for this access trunk | yes | no |
status | string | The synchronization status of the access trunk. Could be ok, pending, error or unknown | yes |
Trunking POP Object
| Parameter | Type | Description | Conditional? | Searchable? |
|---|---|---|---|---|
id | integer | Internal ID representing the access point in the network to which this trunk is connected | no | no |
name | string | Friendly name of the POP | no | no |
inboundCalls | integer | Inbound calls quantity | no | no |
outboundCalls | integer | Outbound calls quantity | no | no |
transport | string | Transport type. See Transport Protocols. | no | no |
Transport Protocols
Possible values are: TCP, UDP.
Example
{
"accessTrunks": [
{
"authRequired": false,
"id": 3,
"name": "Modified Access Trunk Test",
"billingId": "",
"pop": {
"id": 1,
"inboundCalls": true,
"name": "Wakefield",
"outboundCalls": true,
"transport": "UDP"
},
"priority": 5,
"weight": 8
},
{
"authRequired": false,
"id": 4,
"name": "Modified Access Trunk Test",
"billingId": "",
"pop": {
"id": 2,
"inboundCalls": true,
"name": "Northampton",
"outboundCalls": true,
"transport": "UDP"
},
"priority": 5,
"weight": 8
},
{
"authRequired": false,
"id": 1,
"name": "RBEN Pepsi Newport",
"billingId": "",
"pop": {
"id": 1,
"inboundCalls": true,
"name": "Wakefield",
"outboundCalls": true,
"transport": "UDP"
},
"priority": 10,
"weight": 10
},
{
"authRequired": false,
"id": 2,
"name": "RBEN Pepsi Newport",
"billingId": "",
"pop": {
"id": 2,
"inboundCalls": false,
"name": "Northampton",
"outboundCalls": false,
"transport": "UDP"
},
"priority": 10,
"weight": 10
},
{
"authRequired": false,
"id": 17,
"name": "RBEN Test New",
"billingId": "",
"pop": {
"id": 1,
"inboundCalls": false,
"name": "Wakefield",
"outboundCalls": true,
"transport": "UDP"
},
"priority": 20,
"weight": 12
},
{
"authRequired": false,
"id": 18,
"name": "RBEN Test New",
"billingId": "",
"pop": {
"id": 2,
"inboundCalls": true,
"name": "Northampton",
"outboundCalls": false,
"transport": "UDP"
},
"priority": 20,
"weight": 12
}
],
"page": 1,
"pages": 1,
"results": 6
}Get details of a specific access trunk
Use this endpoint to retrieve the details of an access trunk currently assigned to a subscription.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/access_trunks/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.access_trunks.read
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to list the existing access trunks |
trunkgroup_id | integer | Index of an existing trunk group |
id | integer | Index of an existing access trunk linked to the trunk group |
URL/Query parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
withStatus | boolean | If provided it will return also the synchronization status of the access trunk | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | Access trunk found |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No trunk group found for the specified subscription and tenant |
500 | Uncatched error on server side |
Success
Body
|Parameter|Type|Description|Conditional?| |:--|:--|:--|:--|:--| |id|integer|Index of the access trunk|no| |name|string|Name of the access trunk|no| |billingId|string|The external reference of the peer trunk group.|no| |pop|object|Object describing the details of the Trunking access POP to which the trunk is connected|no| |weight|integer|Weight applicable to this access trunk|no| |priority|integer|Priority applicable to this access trunk|no| |primaryPeerIp|string|IP address of your PBX|yes| |primaryPeerPort|integer|Port of your PBX|yes| |ipWhitelist|string|A string giving a list of white listed IP addresses|yes| |authRequired|boolean|Flag indicating if authorization is required for this access trunk|no| |authUsername|string|Username used in authorization for this access trunk|yes| |authPassword|string|Password used in authorization for this access trunk|yes| |extra|object|Object containing extra data|no| |status|string|The synchronization status of the access trunk. Could be ok, pending, error or unknown|yes| |sipOptions|boolean|SIP Options. Default true.|no|
Example
{
"authRequired": false,
"extra": {},
"id": 1,
"ipWhitelist": "",
"name": "RBEN Pepsi Newport",
"billingId": "",
"pop": {
"id": 1,
"inboundCalls": true,
"name": "Wakefield",
"outboundCalls": true,
"transport": "UDP",
"sipOptions": true
},
"primaryPeerIp": "10.0.0.1",
"primaryPeerPort": 5060,
"priority": 10,
"weight": 10
}Create a new access trunk
Use this endpoint to associate a new access trunk to an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on sip_add_access_trunk_trunkgroup event
Request
Endpoint
POST /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/access_trunks
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.access_trunks.create
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription to which you want to add a access trunk |
trunkgroup_id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
name | string | Name of the access trunk | yes |
billingId | string | The external reference of the peer trunk group. | no |
trunkingPopId | integer | Index of the associated trunking pop | no |
weight | integer | Weight applicable to this access trunk | no |
priority | integer | Priority applicable to this access trunk | no |
primaryPeerIp | string | IP address of your PBX | no |
primaryPeerPort | integer | Port of your PBX | no |
ipWhitelist | string | A string giving a list of white listed IP addresses | no |
authRequired | boolean | Flag indicating if authorization is required for this access trunk | no |
authUsername | string | Username used in authorization for this access trunk | no |
authPassword | string | Password used in authorization for this access trunk | no |
trunkLocale | string | Locale setting for the trunk group | yes |
extra | object | Object containing extra data | no |
sipOptions | boolean | SIP Options. Default true. | no |
Business Rules
If authorization is required, then the primary peer IP is not mandatory. If authorization is not required, then one of those IP addresses is required.
Example
{
"authRequired": false,
"extra": {},
"ipWhitelist": "127.0.0.1",
"name": "RBEN Test New",
"billingId": "",
"pops": [
{
"id": 1,
"inboundCalls": false,
"outboundCalls": true,
"transport": "UDP"
},
{
"id": 2,
"inboundCalls": true,
"outboundCalls": false,
"transport": "UDP",
"sipOptions": false
}
],
"primaryPeerIp": "10.1.2.3",
"primaryPeerPort": 5678,
"priority": 20,
"weight": 12
}Response
Status codes
| Parameter | Description |
|---|---|
200 | Access trunk has been added |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No trunk group found for the specified subscription and tenant |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
accessTrunks | array | List containing all the access trunk objects created | no |
Example
{
"accessTrunks": [
{
"authRequired": false,
"id": 17,
"ipWhitelist": "127.0.0.1",
"name": "RBEN Test New",
"billingId": "",
"pop": {
"id": 1,
"inboundCalls": false,
"name": "Wakefield",
"outboundCalls": true,
"transport": "UDP"
},
"primaryPeerIp": "10.1.2.3",
"primaryPeerPort": 5678,
"priority": 20,
"weight": 12
},
{
"authRequired": false,
"id": 18,
"ipWhitelist": "127.0.0.1",
"name": "RBEN Test New",
"billingId": "",
"pop": {
"id": 2,
"inboundCalls": true,
"name": "Northampton",
"outboundCalls": false,
"transport": "UDP"
},
"primaryPeerIp": "10.1.2.3",
"primaryPeerPort": 5678,
"priority": 20,
"weight": 12
}
]
}Modify an existing access trunk
Use this endpoint to modify an existing access trunk.
Once completed, a notification will be sent through webhook or email (if enabled) as described on sip_update_access_trunk_trunkgroup event
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/access_trunks/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.access_trunks.instance.update
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to modify the existing access trunk |
trunkgroup_id | integer | Index of an existing trunk group |
id | integer | Index of an existing access trunk linked to the trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
name | string | Name of the access trunk | no |
billingId | string | The external reference of the peer trunk group. | no |
trunkingPopId | integer | Index of the associated trunking pop | no |
weight | integer | Weight applicable to this access trunk | no |
priority | integer | Priority applicable to this access trunk | no |
primaryPeerIp | string or null | IP address of your PBX. Set to null to remove | no |
primaryPeerPort | integer | Port of your PBX | no |
ipWhitelist | string or null | A string giving a list of white listed IP addresses. Set to null to remove | no |
authRequired | boolean | Flag indicating if authorization is required for this access trunk | no |
authUsername | string or null | Username used in authorization for this access trunk. Set to null to remove | no |
authPassword | string or null | Password used in authorization for this access trunk. Set to null to remove | no |
trunkLocale | string | Locale setting for the trunk group | no |
extra | object | Object containing extra data | no |
sipOptions | boolean | SIP Options. Default true. | no |
Business Rules
If authorization is required, then the primary peer IP is not mandatory. If authorization is not required, then one of those IP addresses is required. This is checked against new provided data and existing data for coherence.
Example
{
"name": "Modified Access Trunk Test",
"billingId": "",
"weight": 8,
"priority": 5,
"primaryPeerIp": "10.1.1.2",
"primaryPeerPort": 1234,
"ipWhitelist": "127.0.0.1,10.1.2.34",
"pop": {
"inboundCalls": true,
"outboundCalls": true,
"transport": "UDP"
}
}Response
Status codes
| Parameter | Description |
|---|---|
200 | Access trunk has been modified |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No trunk group found for the specified subscription and tenant |
500 | Uncatched error on server side |
Success
Body
|Parameter|Type|Description|Conditional?| |:--|:--|:--|:--|:--| |id|integer|Index of the access trunk|no| |name|string|Name of the access trunk|no| |billingId|string|The external reference of the peer trunk group.|no| |pop|object|Object describing the details of the Trunking access POP to which the trunk is connected|no| |weight|integer|Weight applicable to this access trunk|no| |priority|integer|Priority applicable to this access trunk|no| |primaryPeerIp|string|IP address of your PBX|yes| |primaryPeerPort|integer|Port of your PBX|yes| |ipWhitelist|string|A string giving a list of white listed IP addresses|yes| |authRequired|boolean|Flag indicating if authorization is required for this access trunk|no| |authUsername|string|Username used in authorization for this access trunk|yes| |authPassword|string|Password used in authorization for this access trunk|yes| |trunkLocale|string|Locale setting for the trunk group|yes| |extra|object|Object containing extra data|no| |sipOptions|boolean|SIP Options. Default true.|no|
Example
{
"authRequired": false,
"extra": {},
"id": 5,
"ipWhitelist": "127.0.0.1,10.1.2.34",
"name": "Modified Access Trunk Test",
"billingId": "",
"pop": {
"id": 1,
"inboundCalls": true,
"name": "Wakefield",
"outboundCalls": true,
"transport": "UDP"
},
"primaryPeerIp": "10.1.1.2",
"primaryPeerPort": 1234,
"weight": 8,
"priority": 5
}Delete an existing access trunk
Use this endpoint to remove an existing access trunk from an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on sip_remove_access_trunk_trunkgroup event
Request
Endpoint
DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/access_trunks/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.access_trunks.instance.delete
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to delete the access trunk |
trunkgroup_id | integer | Index of an existing trunk group |
id | integer | Index of an existing access trunk linked to the trunk group |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
| Parameter | Description |
|---|---|
204 | Access trunk has been deleted |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No trunk group found for the specified subscription and tenant |
500 | Uncatched error on server side |
Success
Body
N/A
List all peer trunks of a trunk group
Use this endpoint to retrieve all peer trunks currently assigned to a trunk group.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/peer_trunks
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.peer_trunks.list
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
subscription_id | integer | Index of the subscription for which you want to list the existing trunk group |
trunkgroup_id | integer | Index of the trunk group for which you want to list the existing peer trunks |
URL/Query parameters
N/A
Response
Status codes
| Parameter | Description |
|---|---|
200 | One or more peer trunks found |
400 | Error while processing the request |
404 | No peer trunk found for the specified subscription |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
results | integer | Total number of results from the query | no |
pages | integer | Total number of pages according to pagination settings | no |
page | integer | Current displayed page from the set of pages | no |
peerTrunks | array | List containing all peer trunk of the trunk group | no |
Example
{
"page": 1,
"pages": 1,
"peerTrunks": [
{
"billingId": "tg-test-1",
"domain": "",
"id": 104,
"name": "TG test 1",
"pop": {
"id": 2,
"inboundCalls": true,
"name": "Northampton",
"outboundCalls": true
},
"uuid": "fec0205c-0ade-4e09-a708-50d68f9101d5"
},
{
"billingId": "tg-test-1",
"domain": "",
"id": 105,
"name": "TG test 1",
"pop": {
"id": 1,
"inboundCalls": true,
"name": "Wakefield",
"outboundCalls": true
},
"uuid": "b241dd38-aa45-4343-b6c3-67c20c8ec3ae"
}
],
"results": 2
}Get details of a specific peer trunk
Use this endpoint to retrieve the details of a peer trunk currently assigned to a trunk group.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/peer_trunks/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.peer_trunks.read
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
subscription_id | integer | Index of the subscription for which you want to list the existing trunk group |
trunkgroup_id | integer | Index of the trunk group for which you want to list the existing peer trunks |
id | integer | Index of an existing peer trunk |
URL/Query parameters
N/A
Response
Status codes
| Parameter | Description |
|---|---|
200 | Details of the peer trunk could be retrieved |
400 | Error while processing the request |
404 | No peer trunk found for the specified subscription and peer trunk index |
403 | The API consumer doesn't have sufficient rights to perform this action |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
billingId | string | The external reference of the peer trunk. | no |
domain | string | The domain of the peer trunk | no |
extra | string | Extra data | no |
id | integer | Index of the peer trunk | no |
pop | object | The POP of the peer trunk | no |
status | string | The synchronization status of the peer trunk: error, pending, ok, unknown | no |
type | string | The type of the peer trunk: sip, msteams, webexc, webexcc, zoom, azure. | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
uuid | string | The unique ID (UUID) identifying the peer trunk | no |
Peer Trunk Group POP Read Object
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index of the POP | no |
name | string | Friendly name of the POP. | no |
inboundCalls | integer | Inbound calls quantity | no |
outboundCalls | integer | Outbound calls quantity | no |
Peer Trunk Group POP Object
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index of the POP. Only for POST. | yes |
inboundCalls | integer | Inbound calls quantity | no |
outboundCalls | integer | Outbound calls quantity | no |
Example
{
"billingId": "tg-test-1",
"domain": "",
"id": 104,
"name": "TG test 1",
"pop": {
"id": 2,
"inboundCalls": true,
"name": "Northampton",
"outboundCalls": true
},
"uuid": "fec0205c-0ade-4e09-a708-50d68f9101d5"
}Create a new peer trunk
Use this endpoint to associate a new peer trunk to an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on sip_add_peer_trunk trunkgroup_event
Request
Endpoint
POST /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/peer_trunks
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.peer_trunks.create
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription to which you want to add a peer trunk |
trunkgroup_id | integer | Index of an existing trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
billingId | string | The external reference of the peer trunk group | no |
extra | string | Extra data | no |
name | string | Name of the peer trunk. Default is the name of the trunk group. | no |
pop | object | The POP of the peer trunk | yes |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
Example
{
"billingId": "peer:test",
"name": "Peer Test",
"pop": {
"id": 1,
"inboundCalls": false,
"outboundCalls": true
}
}Response
Status codes
| Parameter | Description |
|---|---|
201 | Peer trunk has been created |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No trunk group found for the specified subscription and tenant |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
billingId | string | The external reference of the peer trunk group. | no |
extra | string | Extra data | no |
id | integer | Index of the peer trunk | no |
name | string | Name of the peer trunk. | no |
pop | object | The POP of the peer trunk | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
uuid | string | Universal unique id uniquely identifying the peer trunk | no |
Example
{
"billingId": "peer:test",
"id": 15,
"name": "Peer Test",
"pop": {
"id": 1,
"inboundCalls": false,
"outboundCalls": true
},
"uuid": "a355b573-c1f1-49fc-bfb7-3d32ecc45860"
}Modify an existing peer trunk
Use this endpoint to modify an existing peer trunk.
Once completed, a notification will be sent through webhook or email (if enabled) as described on sip_update_peer_trunk_trunkgroup event
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/peer_trunks/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.peer_trunks.instance.update
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to modify the existing peer trunk |
trunkgroup_id | integer | Index of an existing trunk group |
id | integer | Index of an existing peer trunk linked to the trunk group |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required? |
|---|---|---|---|
billingId | string | The external reference of the peer trunk group. | no |
extra | string | Extra data | no |
name | string | Name of the peer trunk. Default is the name of the trunk group. | no |
pop | object | The POP of the peer trunk | no |
region | string | The region of the peer trunk group (only for types: webexc, webexcc). | no |
Example
{
"billingId": "peer:test-mod",
"name": "Peer Test Mod",
"pop": {
"inboundCalls": true,
"outboundCalls": false
}
}Response
Status codes
| Parameter | Description |
|---|---|
200 | Peer trunk has been modified |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No trunk group found for the specified subscription and tenant |
500 | Uncatched error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
billingId | string | The external reference of the peer trunk group. | no |
extra | string | Extra data | no |
id | integer | Index of the peer trunk | no |
name | string | Name of the peer trunk | no |
pop | object | The POP of the peer trunk | no |
uuid | string | Universal unique id uniquely identifying the peer trunk | no |
Example
{
"billingId": "peer:test-mod",
"id": 15,
"name": "Peer Test Mod",
"pop": {
"id": 2,
"inboundCalls": true,
"outboundCalls": false
},
"uuid": "a355b573-c1f1-49fc-bfb7-3d32ecc45860"
}Delete an existing peer trunk
Use this endpoint to remove an existing peer trunk from an existing trunk group.
Once completed, a notification will be sent through webhook or email (if enabled) as described on sip_remove_peer_trunk_trunkgroup event
Request
Endpoint
DELETE /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/{trunkgroup_id}/peer_trunks/{id}
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.instance.peer_trunks.instance.delete
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant to which the subscription belongs |
sub_id | integer | Index of the subscription for which you want to delete the peer trunk |
trunkgroup_id | integer | Index of an existing trunk group |
id | integer | Index of an existing peer trunk linked to the trunk group |
URL/Query parameters
N/A
Body
N/A
Response
Status codes
| Parameter | Description |
|---|---|
204 | Peer trunk has been deleted |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No peer trunk found for the specified trunk group, subscription and tenant |
500 | Uncatched error on server side |
Success
Body
N/A
Bulk create/update trunk groups
Bulk API to handle trunk groups.
This endpoint internally will call the create or update APIs. Once completed, a notification will not be sent through email.
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/trunkgroups/bulk
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.bulk
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of a subscription to manage the bulk job for |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required |
|---|---|---|---|
name | string | Bulk job descriptive name | yes |
data | array | List of trunk group bulk data objects to be created/updated | yes |
Example
{
"name": "Bulk create trunk groups",
"data": [
{
"uuid": "5c70f993-63d8-4204-a806-3f7baae000bc",
"name": "Bulk API TG 1",
"callingFormat": "national_with_0",
"calledFormat": "international_without_00",
"maxCalls": 4,
"maxIncomingCalls": 3,
"maxOutgoingCalls": 2,
"numbers": [
"+3226260125",
"+3226260126"
],
"pilot": "+3226260125"
}
]
}Trunk Group bulk data objects
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
name | string | The name. | no |
blockUnscreenedCalls | boolean | Block calls that have a CLI that doesn't belong to this trunk. | no |
calledFormat | string | Determines how the called number should be presented on the trunk. See Calling Format. | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. See Calling Format. | no |
cfaActive | boolean | Flag enabling or disabling call forwarding always on the trunk group. | no |
cfaDestination | string | Call forwarding always destination. | no |
cfnrActive | boolean | Flag enabling or disabling call forwarding not reachable on the trunk group. | no |
cfnrDestination | string | Call forwarding not reachable destination. | no |
cfnrTimer | integer | Timer in seconds before call forwarding not reachable. | no |
maxCalls | integer | Maximum simultaneous calls allowed for the trunk group. | no |
maxIncomingCalls | integer | Maximum incoming calls allowed for the trunk group. | no |
maxOutgoingCalls | integer | Maximum outgoing calls allowed for the trunk group. | no |
overwiteUnscreenedCallsWithPilot | boolean | Overwrite the CLI to the pilot number for calls with a CLI that doesn't belong to this trunk. | no |
numbers | array | The list of phone numbers. | no |
pilot | string | The pilot number of the trunk. | no |
uuid | string | The Trunk Group uuid (only for modify). | yes |
Response
Status codes
| Parameter | Description |
|---|---|
200 | All trunk groups were successfully updated |
400 | None of trunk groups were successfully updated |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
code | integer | Error code (see below for a complete error list) | no |
reason | string | Message providing more context to the error that occurred | no |
Success example
{
"code": 3077,
"reason": "Trunk Group bulk provisioning process is started"
}Get trunk groups bulk jobs history
Retrieve the history of trunk groups bulk jobs runs related to the given subscription.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/trunkgroups/bulk_jobs
Authorization
Required role
tenants.instance.subscriptions.instance.trunkgroups.bulk.jobs
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of a subscription to retrieve the bulk jobs history for |
URL/Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
page_size | integer | Used for pagination, determines the maximum number of records on one page of results (defaults to 10) | no |
next | string | A token used to get the next records in the list. This token is taken back from the results of the previous call | no |
search | string | A case insensitive search on the bulk job title or kind (that contains the passed value) | no |
filters | array | An object representing the conditions to filter out the results | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | The list of the bulk jobs has been retrieved |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No bulk history found or the path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
bulks | array | The list of the bulk jobs related to the given subscription_id | no |
results | integer | Total number of bulk jobs retrieved | no |
pages | integer | Total number of pages | no |
page | integer | Current page | no |
next | string | A token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of bulk jobs has to be continued | yes |
Example
{
"bulks": [
{
"created_on": "2026-01-09T12:02:14.667938",
"id": 90,
"job_id": "1767960134",
"kind": "trunk_groups",
"status": "success",
"success_count": 1,
"title": "Create trunk group",
"total_count": 1,
"updated_on": "2026-01-13T13:57:01.824744"
},
{
"created_on": "2026-01-09T10:55:38.569230",
"id": 89,
"job_id": "1767956137",
"kind": "trunk_groups",
"status": "ongoing",
"success_count": 0,
"title": "Create trunk group",
"total_count": 1,
"updated_on": "2026-01-13T13:56:29.860690"
}
],
"page": 1,
"pages": 1,
"results": 2
}Bulk create/update access trunks
Bulk API to handle access trunks.
This endpoint internally will call the create or update APIs. Once completed, a notification will not be sent through email.
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/accesstrunks/bulk
Authorization
Required role
tenants.instance.subscriptions.instance.accesstrunks.bulk
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of a subscription to manage the bulk job for |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required |
|---|---|---|---|
name | string | Bulk job descriptive name | yes |
data | array | List of access trunk bulk data objects to be created/updated | yes |
Example
{
"name": "Bulk create access trunks",
"data": [
{
"trunkgroup": 81,
"name": "Bulk API AT Test",
"primaryPeerIp": "10.0.0.4",
"primaryPeerPort": 5679,
"priority": 5,
"weight": 10,
"pops": [
{
"id": 1,
"inboundCalls": false,
"outboundCalls": false,
"realm": "public",
"sipOptions": true,
"transport": "UDP"
},
{
"id": 2,
"inboundCalls": true,
"outboundCalls": true,
"realm": "public",
"sipOptions": false,
"transport": "TCP"
}
]
}
]
}Access Trunk bulk data objects
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
name | string | Name of the access trunk | no |
billingId | string | The external reference of the peer trunk group. | no |
authRequired | boolean | Flag indicating if authorization is required for this access trunk | no |
authUsername | string | Username used in authorization for this access trunk | no |
authPassword | string | Password used in authorization for this access trunk | no |
priority | integer | Priority applicable to this access trunk | no |
primaryPeerIp | string | IP address of your PBX | no |
primaryPeerPort | integer | Port of your PBX | no |
ipWhitelist | string | A string giving a list of white listed IP addresses | no |
pops | array | The list of pops to which the trunk is connected. See Access Trunk POP Objects. | no |
weight | integer | Weight applicable to this access trunk | no |
uuid | string | The Access Trunk uuid (only for modify). | yes |
Access Trunk POP Objects
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index representing the access point in the network to which this trunk is connected (exclusive with popId). | yes |
popId | integer | POP index representing the connected access trunk (exclusive with ip). | yes |
name | string | Friendly name of the POP | no |
inboundCalls | integer | Inbound calls quantity | no |
outboundCalls | integer | Outbound calls quantity | no |
transport | string | Transport type. See Transport Protocols. | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | All access trunks were successfully updated |
400 | None of access trunks were successfully updated |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
code | integer | Error code (see below for a complete error list) | no |
reason | string | Message providing more context to the error that occurred | no |
Success example
{
"code": 3078,
"reason": "Access Trunk bulk provisioning process is started"
}Get access trunks bulk jobs history
Retrieve the history of access trunks bulk jobs runs related to the given subscription.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/accesstrunks/bulk_jobs
Authorization
Required role
tenants.instance.subscriptions.instance.accesstrunks.bulk.jobs
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of a subscription to retrieve the bulk jobs history for |
URL/Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
page_size | integer | Used for pagination, determines the maximum number of records on one page of results (defaults to 10) | no |
next | string | A token used to get the next records in the list. This token is taken back from the results of the previous call | no |
search | string | A case insensitive search on the bulk job title or kind (that contains the passed value) | no |
filters | array | An object representing the conditions to filter out the results | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | The list of the bulk jobs has been retrieved |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No bulk history found or the path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
bulks | array | The list of the bulk jobs related to the given subscription_id | no |
results | integer | Total number of bulk jobs retrieved | no |
pages | integer | Total number of pages | no |
page | integer | Current page | no |
next | string | A token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of bulk jobs has to be continued | yes |
Example
{
"bulks": [
{
"created_on": "2026-01-09T16:07:33.185840",
"id": 102,
"job_id": "1767974852",
"kind": "accesstrunks",
"status": "success",
"success_count": 1,
"title": "Create access trunk",
"total_count": 1,
"updated_on": "2026-01-09T16:07:35.426652"
},
{
"created_on": "2026-01-09T14:39:19.618844",
"id": 101,
"job_id": "1767969559",
"kind": "accesstrunks",
"status": "ongoing",
"success_count": 0,
"title": "Create access trunk",
"total_count": 1,
"updated_on": "2026-01-09T14:39:19.618844"
}
],
"page": 1,
"pages": 1,
"results": 2
}Bulk create/update peer trunks
Bulk API to handle peer trunks.
This endpoint internally will call the create or update APIs. Once completed, a notification will not be sent through email.
Request
Endpoint
PUT /api/v01/draas/{draas_instance}/tenants/{uuid}/subscriptions/{subscription_id}/peertrunks/bulk
Authorization
Required role
tenants.instance.subscriptions.instance.peertrunks.bulk
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of a subscription to manage the bulk job for |
URL/Query parameters
N/A
Body
| Parameter | Type | Description | Required |
|---|---|---|---|
name | string | Bulk job descriptive name | yes |
data | array | List of peer trunk bulk data objects to be created/updated | yes |
Example
{
"name": "Bulk create peer trunks",
"data": [
{
"uuid": "5c70f993-63d8-4204-a806-3f7baae000bc",
"type": "msteams",
"name": "API Bulk PT Test 1",
"billingId": "api-bulk-tg-test-1",
"callingFormat": "e164",
"calledFormat": "e164",
"peers": [
{
"id": 1,
"billingId": "BillingID1",
"inboundCalls": false,
"outboundCalls": true
},
{
"popId": 2,
"billingId": "Billing ID 2",
"inboundCalls": true,
"outboundCalls": false
}
]
},
{
"uuid": "a417c3f3-cceb-4a1e-9298-ec2869d6b028",
"type": "msteams",
"name": "API Bulk PT Test 2",
"billingId": "api-bulk-tg-test-2",
"callingFormat": "e164",
"calledFormat": "e164",
"peers": []
},
{
"uuid": "3b3d1326-8e1e-427b-a041-11190d4968bf",
"type": "msteams",
"name": "API Bulk PT Test 3",
"billingId": "api-bulk-tg-test-3",
"callingFormat": "e164",
"calledFormat": "e164"
}
]
}Peer Trunk bulk data objects
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
trunkgroup | string | The Trunk Group uuid. | no |
name | string | The name. | no |
type | strin | The type. Values in: msteams, webexc, webexcc, zoom, azure. | no |
billingId | string | The external reference of the peer trunk group. | no |
calledFormat | string | Determines how the called number should be presented on the trunk. See Calling Format. | no |
callingFormat | string | Determines how the calling number should be presented on the trunk. See Calling Format. | no |
peers | array | The list of peers to which the trunk is connected. See Access Trunk POP Objects. | no |
uuid | string | The Peer Trunk uuid (only for modify). | yes |
Peer Trunk Objects
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
id | integer | Index representing the access point in the network to which this trunk is connected (exclusive with popId). | yes |
popId | integer | POP index representing the connected peer trunk (exclusive with ip). | yes |
name | string | Friendly name of the POP. | no |
inboundCalls | integer | Inbound calls quantity. | no |
outboundCalls | integer | Outbound calls quantity. | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | All peer trunks were successfully updated |
400 | None of peer trunks were successfully updated |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | The path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
code | integer | Error code (see below for a complete error list) | no |
reason | string | Message providing more context to the error that occurred | no |
Success example
{
"code": 3079,
"reason": "Peer Trunk bulk provisioning process is started"
}Get peer trunks bulk jobs history
Retrieve the history of peer trunks bulk jobs runs related to the given subscription.
Request
Endpoint
GET /api/v01/draas/{draas_instance}/tenants/{uuid}/peertrunks/bulk_jobs
Authorization
Required role
tenants.instance.subscriptions.instance.peertrunks.bulk.jobs
Path Parameters
| Parameter | Type | Description |
|---|---|---|
draas_instance | string | See common parameters |
uuid | string | A system generated unique ID (UUID) identifying the tenant managing the subscription |
subscription_id | integer | Index of a subscription to retrieve the bulk jobs history for |
URL/Query parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
page_size | integer | Used for pagination, determines the maximum number of records on one page of results (defaults to 10) | no |
next | string | A token used to get the next records in the list. This token is taken back from the results of the previous call | no |
search | string | A case insensitive search on the bulk job title or kind (that contains the passed value) | no |
filters | array | An object representing the conditions to filter out the results | no |
Response
Status codes
| Parameter | Description |
|---|---|
200 | The list of the bulk jobs has been retrieved |
400 | Error while processing the request |
403 | The API consumer doesn't have sufficient rights to perform this action |
404 | No bulk history found or the path tenant / subscription doesn't exist |
500 | Uncaught error on server side |
Success
Body
| Parameter | Type | Description | Conditional? |
|---|---|---|---|
bulks | array | The list of the bulk jobs related to the given subscription_id | no |
results | integer | Total number of bulk jobs retrieved | no |
pages | integer | Total number of pages | no |
page | integer | Current page | no |
next | string | A token used for infinite scrolling, to be used in the next call to retrieve subsequent records. Only present if the list of bulk jobs has to be continued | yes |
Example
{
"bulks": [
{
"created_on": "2026-01-12T16:09:30.368826",
"id": 112,
"job_id": "1768234169",
"kind": "peertrunks",
"status": "success",
"success_count": 3,
"title": "Create peer trunk",
"total_count": 3,
"updated_on": "2026-01-12T16:09:37.957719"
},
{
"created_on": "2026-01-12T14:19:37.442654",
"id": 111,
"job_id": "1768227576",
"kind": "peertrunks",
"status": "ongoing",
"success_count": 0,
"title": "Create peer trunk",
"total_count": 3,
"updated_on": "2026-01-12T14:19:37.442654"
}
],
"page": 1,
"pages": 1,
"results": 2
}