API reference
Route blends
Blended routes that spread traffic across several member routes.
7 operationsBase URL https://packetexchange.io/api/v1Postman collection
BrowseRoute blends
Preview a blended route
POST/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Request body (application/json)
| Field | Type | Description |
|---|---|---|
membersrequired | object[] | - |
memberRouteIdmembers[].memberRouteId | string (uuid) | null | - |
memberVendorTrunkIdmembers[].memberVendorTrunkId | string (uuid) | null | - |
raterequiredmembers[].rate | number | -min 0 |
weightPctrequiredmembers[].weightPct | number | -0 to 100 |
routeTypemembers[].routeType | string | -One of direct, premium, standard, ncli |
capacitymembers[].capacity | integer | -min 0 |
maxCpsmembers[].maxCps | integer | -min 0 |
prioritymembers[].priority | integer | -1 to 20 |
enabledmembers[].enabled | boolean | - |
type | string | -One of voice, sms |
countryCode | string | - |
numberType | string | -One of mobile, fixed, both |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
blendedRaterequireddata.blendedRate | number | Weighted rate (display figure) |
capacityrequireddata.capacity | number | - |
memberCountrequireddata.memberCount | integer | - |
membersrequireddata.members | object[] | - |
coveragerequireddata.coverage | object | null | - |
coverageSummaryrequireddata.coverageSummary | string | null | - |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Propose the cheapest complete blend for a destination
POST/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 20 requests per minute
Request body (application/json)
| Field | Type | Description |
|---|---|---|
type | string | -default "voice"One of voice, sms |
countryCoderequired | string | - |
numberType | string | -default "both"One of mobile, fixed, both |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | Proposed members, their coverage and a coverage summary |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List your blended routes
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | - |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create a blended route
POST/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 30 requests per minute
Refused when no member is enabled, or when the blend cannot carry the destination it claims unless acknowledgeIncomplete is set.
Request body (application/json)
| Field | Type | Description |
|---|---|---|
namerequired | string | -max 255 chars |
typerequired | string | -One of voice, sms |
countryrequired | string | -max 100 chars |
countryCoderequired | string | - |
prefix | string[] | - |
destinationName | string | -max 255 chars |
cliType | string | -One of full_cli, ncli, local_cli, mixed_cli |
billingIncrement | string | - |
visibility | string | -One of public, private |
dialerCompatible | boolean | - |
membersrequired | object[] | - |
memberRouteIdmembers[].memberRouteId | string (uuid) | null | - |
memberVendorTrunkIdmembers[].memberVendorTrunkId | string (uuid) | null | - |
raterequiredmembers[].rate | number | -min 0 |
weightPctrequiredmembers[].weightPct | number | -0 to 100 |
routeTypemembers[].routeType | string | -One of direct, premium, standard, ncli |
capacitymembers[].capacity | integer | -min 0 |
maxCpsmembers[].maxCps | integer | -min 0 |
prioritymembers[].priority | integer | -1 to 20 |
enabledmembers[].enabled | boolean | - |
numberType | string | -One of mobile, fixed, both |
acknowledgeIncomplete | boolean | - |
Response 201
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get a blended route
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
idrequireddata.id | string (uuid) | - |
namerequireddata.name | string | - |
typerequireddata.type | string | -One of voice, sms |
countryrequireddata.country | string | - |
countryCoderequireddata.countryCode | string | - |
visibilityrequireddata.visibility | string | -One of public, private |
statusrequireddata.status | string | -One of active, paused, suspended, pending_review |
numberTyperequireddata.numberType | string | null | - |
coveragerequireddata.coverage | object | null | - |
coverageSummaryrequireddata.coverageSummary | string | null | - |
createdAtrequireddata.createdAt | string (date-time) | ISO-8601 timestamp (UTC) |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Update a blended route
PATCH/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Request body (application/json)
| Field | Type | Description |
|---|---|---|
name | string | -max 255 chars |
visibility | string | -One of public, private |
dialerCompatible | boolean | - |
members | object[] | - |
memberRouteIdmembers[].memberRouteId | string (uuid) | null | - |
memberVendorTrunkIdmembers[].memberVendorTrunkId | string (uuid) | null | - |
raterequiredmembers[].rate | number | -min 0 |
weightPctrequiredmembers[].weightPct | number | -0 to 100 |
routeTypemembers[].routeType | string | -One of direct, premium, standard, ncli |
capacitymembers[].capacity | integer | -min 0 |
maxCpsmembers[].maxCps | integer | -min 0 |
prioritymembers[].priority | integer | -1 to 20 |
enabledmembers[].enabled | boolean | - |
numberType | string | -One of mobile, fixed, both |
acknowledgeIncomplete | boolean | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Archive a blended route
DELETE/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
archivedrequireddata.archived | boolean | -One of true |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.