SENDO NUMBERS - DID API
Buy, track, and manage your inbound phone numbers (DIDs), and query your account's numbering, orders, rates, CDRs, and billing data.
This API lets an external system manage its own phone numbering (DIDs) and query its own account data without going through the web portal. Two things define how it behaves everywhere:
-
There are only 5 write operations, all under
/api/management(below). Everything under/api/datais entirely read-only — POST, PUT, PATCH and DELETE are explicitly disabled there. -
Everything is scoped to your account automatically. There is no parameter to query “another account” — the account is enforced by the bearer token, so every response only ever contains your own data.
Authorization: Bearer <token> (OAuth2 / Auth0). The token must include the namespaced email claim — a plain client_credentials token without it will not work for this API. Management — Actions
The 5 write operations. Everything else in this document is read-only.
Buy Numbering
The API’s central operation. In a single call it validates, creates the number group (DID Set), creates the order and its line, reserves the available numbers that match, and returns the ones it got.
numbers may come back incomplete and that is not an error. If it finds fewer than quantity (or none), the order is still created in PROCESSING status: you must not retry the purchase. Re-buying because you didn’t see numbers in the response is the most likely integration mistake, and it causes duplicate orders and duplicate charges.
Requires an inbound rate (inboundDidRates) that exactly covers the destination + features + number types combination; otherwise, 404.
Required attributes
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| destinationId | integer | Must exist. Obtained from GET /api/data/destinations. | none | No | 143 |
| quantity | integer | Greater than 0. | none | No | 3 |
| numberTypes | array | Possible values: NONE, GEOGRAPHIC, MOBILE, TOLL_FREE, SHARED_COST, NATIONAL, VOIP, ITFS, PSTN, CALL_API. | none | No | ["TOLL_FREE"] |
| features | array | Possible values: NONE, CALL_IN, CALL_OUT, MSG_IN, MSG_OUT, FAX, EMERGENCY, LEGAL_INTERCEPT, CALL_API. | none | No | ["CALL_IN"] |
| reference | string | Unique within your account, cannot be reused even after cancellation. | none | No | CRM-ORDER-00417 |
Request body.
curl --location 'https://didm.sendo.cloud/qbert-web/api/management/buyDids' --header 'Authorization: Bearer YOUR_TOKEN' --header 'Content-Type: application/json' --data-raw '{"destinationId": 143,"quantity": 3,"numberTypes": ["TOLL_FREE"],"features": ["CALL_IN"],"reference": "CRM-ORDER-00417"}'
numbers may come back empty or partial (backorder). | Code | Description |
|---|---|
| 200 | Order created |
{
"orderId": 88213,
"orderStatus": "PROCESSING",
"numbers": [
"51170000012",
"51170000013"
]
}
Server responses.
Cancel an Order
The order must be in PROCESSING; any other status returns 400. Cancels every line of the order and leaves it in CANCELED.
Watch the verb: it’s a GET that modifies data. If your HTTP client, proxy, or service mesh automatically retries GET requests, the action may run twice (although it’s idempotent in its final effect: an already-cancelled order returns 400).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Order id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/management/cancelOrder/88213' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | Cancelled |
true
Server responses.
Release a Number
Marks the number as released (released = true + release date) and registers the negative adjustment to the monthly fee. It does not unlink the number from the account instantly — the final disconnection (releaseDidNow) is run by Administration.
The account’s minimum cancellation period is checked (minimumCancelPeriod, 12 months by default for self-registered accounts): the order line’s completion date must be earlier than today minus minimumCancelPeriod months.
⚠️ If the number belongs to an order that hasn’t been completed yet, that date is null and the call may fail with 500 instead of a clear message. Don’t try to release a number whose order isn’t closed.
There is no reverse operation (unrelease) via API: only from the portal.
Watch the verb: it’s a GET that modifies data (see the note on Cancel an Order).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| number | string | Number in E.164 format without +, exactly as returned by the API. | none | No | 51170000012 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/management/releaseDid?number=51170000012' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | Release request recorded |
true
Server responses.
Numbers Assigned to an Order
The tracking endpoint: called periodically after Buy Numbering until it returns as many numbers as requested. An empty list is normal if no numbers have been assigned yet.
Known limitation (QBE-4402): it combines the order’s lines with AND instead of OR, so for an order with more than one line it returns an empty list. Orders created by Buy Numbering always have a single line, so it’s reliable for them; for portal orders with multiple lines, use Order Lines of an Order followed by List Numbers (DIDs).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Order id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/management/getDidsFromOrder?id=88213' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
[
"51170000012",
"51170000013"
]
Server responses.
Your Numbers in a Country
Returns the full list at once, not paginated — with large inventories the response can be bulky. Includes released numbers: it doesn’t filter by release status.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| cc | string | The country's ISO-2 code. Case-insensitive. | none | No | PE |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/management/getDidsByISO2CountryCode?cc=PE' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
[
"51170000012",
"51170000013",
"51170000014"
]
Server responses.
Data API (Read-Only)
Every route below is under /api/data and only supports GET — POST, PUT, PATCH, and DELETE return 405. List endpoints share the same paginated response envelope (content, totalElements, totalPages, number, size, first, last, empty); number is the 0-based internal page index even though the page query parameter you send is 1-based.
Account Data
Resources filtered to your account: orders, order lines, numbers, CDRs, invoices and their breakdowns, and billing info.
List Orders
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/orders?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 88213,
"orderStatus": "PROCESSING",
"purchaseDate": "2024-09-23",
"completeDate": null,
"reference": "CRM-ORDER-00417"
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get an Order
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Order id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/orders/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"id": 88213,
"orderStatus": "PROCESSING",
"purchaseDate": "2024-09-23",
"completeDate": null,
"reference": "CRM-ORDER-00417"
}
Server responses.
List Order Lines
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/orderItems?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 120933,
"orderId": 88213,
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"areaCode": "1",
"quantity": 3,
"orderItemStatus": "PROCESSING",
"capacity": null,
"didFeatureTypes": [
"CALL_IN"
],
"didNumberTypes": [
"GEOGRAPHIC"
]
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get an Order Line
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Order line id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/orderItems/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"id": 120933,
"orderId": 88213,
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"areaCode": "1",
"quantity": 3,
"orderItemStatus": "PROCESSING",
"capacity": null,
"didFeatureTypes": [
"CALL_IN"
],
"didNumberTypes": [
"GEOGRAPHIC"
]
}
Server responses.
Order Lines of an Order
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account). Preferred way to read a multi-line order’s lines — see the note on getDidsFromOrder’s known limitation above.
Path & Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Order id. | none | No | 88213 |
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/orderItems/byOrder/88213?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 120933,
"orderId": 88213,
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"areaCode": "1",
"quantity": 3,
"orderItemStatus": "PROCESSING",
"capacity": null,
"didFeatureTypes": [
"CALL_IN"
],
"didNumberTypes": [
"GEOGRAPHIC"
]
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Numbers (DIDs)
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/e164Numbers?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 552341,
"number": "51170000012",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
},
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"npa": {
"id": 9,
"prefix": "1",
"location": "Lima"
},
"e164NumberStatus": "ASSIGNED",
"inboundDidRate": {
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"npa": {
"id": 9,
"prefix": "1",
"location": "Lima"
},
"mrc": 2.5,
"setup": 10,
"perMinute": 0.01,
"mobilePerMinute": 0.02,
"didFeatureTypes": [
"CALL_IN"
],
"didNumberTypes": [
"GEOGRAPHIC"
]
},
"didSettings": {
"translation": null,
"cnam": null,
"clientRoutingNumber": null,
"released": false,
"releasedOn": null
},
"didNumberTypes": [
"GEOGRAPHIC"
],
"didFeatureTypes": [
"CALL_IN"
]
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get a Number (DID)
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Number id (not the phone number itself). | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/e164Numbers/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"id": 552341,
"number": "51170000012",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
},
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"npa": {
"id": 9,
"prefix": "1",
"location": "Lima"
},
"e164NumberStatus": "ASSIGNED",
"inboundDidRate": {
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"npa": {
"id": 9,
"prefix": "1",
"location": "Lima"
},
"mrc": 2.5,
"setup": 10,
"perMinute": 0.01,
"mobilePerMinute": 0.02,
"didFeatureTypes": [
"CALL_IN"
],
"didNumberTypes": [
"GEOGRAPHIC"
]
},
"didSettings": {
"translation": null,
"cnam": null,
"clientRoutingNumber": null,
"released": false,
"releasedOn": null
},
"didNumberTypes": [
"GEOGRAPHIC"
],
"didFeatureTypes": [
"CALL_IN"
]
}
Server responses.
List CDRs (Calls)
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/cdrs?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"callId": "1737575163.412",
"callerId": "51170000012",
"calledId": "17862345678",
"orgCallerId": null,
"orgCalledId": null,
"translationAni": null,
"translationDni": null,
"startTime": "2024-09-23T14:12:03Z",
"answerTime": "2024-09-23T14:12:08Z",
"disconnectTime": "2024-09-23T14:14:52Z",
"ratedTime": 164,
"rate": 0.01,
"rateOut": null,
"ratedAmount": 0.0274,
"ratedAmountIn": 0.0274,
"ratedAmountOut": null,
"invoice": 90441,
"releaseCode": "16",
"completeCode": "200",
"ratingStatus": "RATED",
"mobile": false,
"domesticCall": false,
"ratedOn": "2024-09-23T14:14:53Z"
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get a CDR
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | CDR id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/cdrs/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"callId": "1737575163.412",
"callerId": "51170000012",
"calledId": "17862345678",
"orgCallerId": null,
"orgCalledId": null,
"translationAni": null,
"translationDni": null,
"startTime": "2024-09-23T14:12:03Z",
"answerTime": "2024-09-23T14:12:08Z",
"disconnectTime": "2024-09-23T14:14:52Z",
"ratedTime": 164,
"rate": 0.01,
"rateOut": null,
"ratedAmount": 0.0274,
"ratedAmountIn": 0.0274,
"ratedAmountOut": null,
"invoice": 90441,
"releaseCode": "16",
"completeCode": "200",
"ratingStatus": "RATED",
"mobile": false,
"domesticCall": false,
"ratedOn": "2024-09-23T14:14:53Z"
}
Server responses.
List Invoices
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoices?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"numInvoice": "INV-2024-090441",
"fromDate": "2024-09-01",
"toDate": "2024-09-30",
"invoiceDate": "2024-10-01",
"paymentDate": null,
"amountFixed": 45.5,
"amountCalls": 12.34,
"amountChannels": 0,
"amount": 57.84
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get an Invoice
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Invoice id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoices/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"numInvoice": "INV-2024-090441",
"fromDate": "2024-09-01",
"toDate": "2024-09-30",
"invoiceDate": "2024-10-01",
"paymentDate": null,
"amountFixed": 45.5,
"amountCalls": 12.34,
"amountChannels": 0,
"amount": 57.84
}
Server responses.
List Fixed-Fee Lines
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account). Breaks down an invoice’s amountFixed.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceFixedChargeses?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"invoiceId": 90441,
"number": "51170000012",
"mrc": 2.5,
"setup": 0
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get a Fixed-Fee Line
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Fixed-fee line id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceFixedChargeses/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"invoiceId": 90441,
"number": "51170000012",
"mrc": 2.5,
"setup": 0
}
Server responses.
Fixed-Fee Lines of an Invoice
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path & Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Invoice id. | none | No | 88213 |
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceFixedChargeses/byInvoice/88213?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"invoiceId": 90441,
"number": "51170000012",
"mrc": 2.5,
"setup": 0
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Channel Lines
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account). Breaks down an invoice’s amountChannels.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceChannelChargeses?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"invoiceId": 90441,
"number": "51170000012",
"groupName": "default-trunk",
"extraChannels": 2,
"mrcExtraChannels": 5,
"nrcExtraChannels": 0
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get a Channel Line
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Channel line id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceChannelChargeses/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"invoiceId": 90441,
"number": "51170000012",
"groupName": "default-trunk",
"extraChannels": 2,
"mrcExtraChannels": 5,
"nrcExtraChannels": 0
}
Server responses.
Channel Lines of an Invoice
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path & Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Invoice id. | none | No | 88213 |
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceChannelChargeses/byInvoice/88213?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"invoiceId": 90441,
"number": "51170000012",
"groupName": "default-trunk",
"extraChannels": 2,
"mrcExtraChannels": 5,
"nrcExtraChannels": 0
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Product Lines
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account). Usage detail per product/DID set.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceProductAmountses?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"invoiceId": 90441,
"number": "51170000012",
"productName": "Inbound Minutes",
"didSetDescription": "Peru Geographic - Lima",
"usageTotal": 12.34
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get a Product Line
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Product line id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceProductAmountses/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"invoiceId": 90441,
"number": "51170000012",
"productName": "Inbound Minutes",
"didSetDescription": "Peru Geographic - Lima",
"usageTotal": 12.34
}
Server responses.
Product Lines of an Invoice
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path & Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Invoice id. | none | No | 88213 |
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/invoiceProductAmountses/byInvoice/88213?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"invoiceId": 90441,
"number": "51170000012",
"productName": "Inbound Minutes",
"didSetDescription": "Peru Geographic - Lima",
"usageTotal": 12.34
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Billing Info
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/billingInfos?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"contact": "Jane Doe",
"email": "billing@yourcompany.com",
"address": "123 Main St",
"city": "Lima",
"state": "Lima",
"postcode": "15001",
"country": "Peru",
"phone": "+51170000000",
"fax": null
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get Billing Info
Read-only resource, filtered to your account (enforced by the token — there is no parameter to query another account).
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Billing info id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/billingInfos/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"contact": "Jane Doe",
"email": "billing@yourcompany.com",
"address": "123 Main St",
"city": "Lima",
"state": "Lima",
"postcode": "15001",
"country": "Peru",
"phone": "+51170000000",
"fax": null
}
Server responses.
Rates
Rates assigned to your rate plan.
List Inbound (DID) Rates
Rates assigned to your rate plan, read-only. Used to check, before calling buyDids, whether your rate plan covers a destination + features + number types combination.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/inboundDidRates?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"npa": {
"id": 9,
"prefix": "1",
"location": "Lima"
},
"mrc": 2.5,
"setup": 10,
"perMinute": 0.01,
"mobilePerMinute": 0.02,
"didFeatureTypes": [
"CALL_IN"
],
"didNumberTypes": [
"GEOGRAPHIC"
]
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get an Inbound (DID) Rate
Rates assigned to your rate plan, read-only.
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Rate id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/inboundDidRates/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"npa": {
"id": 9,
"prefix": "1",
"location": "Lima"
},
"mrc": 2.5,
"setup": 10,
"perMinute": 0.01,
"mobilePerMinute": 0.02,
"didFeatureTypes": [
"CALL_IN"
],
"didNumberTypes": [
"GEOGRAPHIC"
]
}
Server responses.
List Termination Rates
Rates assigned to your rate plan, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/terminationRates?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"perMinute": 0.015,
"international": false,
"apiCAllRate": null
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
Get a Termination Rate
Rates assigned to your rate plan, read-only.
Path Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| id | integer | Rate id. | none | No | 88213 |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/terminationRates/{id}' --header 'Authorization: Bearer YOUR_TOKEN'| Code | Description |
|---|---|
| 200 | OK |
{
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"perMinute": 0.015,
"international": false,
"apiCAllRate": null
}
Server responses.
Catalogs
Common reference data, not filtered by account.
List Countries
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/countries?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Destinations
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/destinations?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Geographic Areas
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/geographicAreas?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 7,
"name": "South America"
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List E.164 Codes
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/e164Codes?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List NPAs
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/npas?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"id": 9,
"prefix": "1",
"location": "Lima"
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Internal Area Codes
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/internalAreaCodes?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"areaCode": "1",
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
}
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Fixed/Mobile Codes
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/fixedMobileCodes?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"name": "Lima Mobile",
"code": "1",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"codeType": "MOBILE"
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Activation Requirements
Common catalog, not filtered by account, read-only.
Query Parameters
| Field | Type | Description | Default Value | Optional | Example |
|---|---|---|---|---|---|
| page | integer | Page number. Starts at 1, not 0. | 1 | Yes | 1 |
| size | integer | Elements per page. | 20 | Yes | 50 |
| sort | string | Field and sort direction: field,asc|desc. Can be repeated to sort by multiple fields. | none | Yes | id,desc |
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/activationRequirements?page=1&size=50&sort=id,desc' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
{
"content": [
{
"destination": {
"id": 143,
"name": "Peru Inbound",
"description": "Geographic numbers, Lima area",
"country": {
"id": 51,
"name": "Peru",
"shortName": "Peru",
"isoCode": "PE",
"e164Code": {
"id": 51,
"description": "Peru",
"e164CodeType": "COUNTRY"
},
"geographicAreaId": 7,
"domestic": false,
"international": true
},
"destinationType": "INBOUND",
"e164Code": {
"id": 511,
"description": "Lima",
"e164CodeType": "AREA"
}
},
"didNumberTypes": [
"GEOGRAPHIC"
],
"activationRequirementTypes": [
"PROOF_OF_ADDRESS",
"PROOF_OF_IDENTITY"
]
}
],
"totalElements": 137,
"totalPages": 3,
"number": 0,
"size": 50,
"first": true,
"last": false,
"empty": false
}
Server responses.
List Number Types
Common catalog, not filtered by account, read-only.
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/numberTypes' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
[
{
"id": 1,
"name": "NONE"
},
{
"id": 2,
"name": "GEOGRAPHIC"
},
{
"id": 3,
"name": "MOBILE"
},
{
"id": 4,
"name": "TOLL_FREE"
}
]
Server responses.
List Features
Common catalog, not filtered by account, read-only.
Request.
curl --location 'https://didm.sendo.cloud/qbert-web/api/data/features' --header 'Authorization: Bearer YOUR_TOKEN'
| Code | Description |
|---|---|
| 200 | OK |
[
{
"id": 1,
"name": "NONE"
},
{
"id": 2,
"name": "CALL_IN"
},
{
"id": 3,
"name": "CALL_OUT"
}
]
Server responses.
On This Page
- Data API (Read-Only)
- Account Data
- List Orders
- Get an Order
- List Order Lines
- Get an Order Line
- Order Lines of an Order
- List Numbers (DIDs)
- Get a Number (DID)
- List CDRs (Calls)
- Get a CDR
- List Invoices
- Get an Invoice
- List Fixed-Fee Lines
- Get a Fixed-Fee Line
- Fixed-Fee Lines of an Invoice
- List Channel Lines
- Get a Channel Line
- Channel Lines of an Invoice
- List Product Lines
- Get a Product Line
- Product Lines of an Invoice
- List Billing Info
- Get Billing Info
- Rates
- List Inbound (DID) Rates
- Get an Inbound (DID) Rate
- List Termination Rates
- Get a Termination Rate
- Catalogs
- List Countries
- List Destinations
- List Geographic Areas
- List E.164 Codes
- List NPAs
- List Internal Area Codes
- List Fixed/Mobile Codes
- List Activation Requirements
- List Number Types
- List Features