API reference
Interconnections
The SIP IP whitelist and connectivity tests for your traffic.
BrowseInterconnections
List your whitelisted source IPs
GET/
- Access
- API key. Scoped keys need
account:read. - Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
userIdrequiredstring (uuid) · data[].userId
ipAddressrequiredstring · data[].ipAddress
IPv4/IPv6 address, optionally with a CIDR suffixlabelrequiredstring | null · data[].label
createdAtrequiredstring (date-time) · data[].createdAt
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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Whitelist a source IP for your traffic
POST/
- Access
- API key. Scoped keys need
account:write. - Rate limit
- 100 requests per second (the default)
An address can authenticate for one account only; an address already registered elsewhere is refused with VALIDATION_ERROR.
Request body (application/json)
ipAddressrequiredstring
max 49 charslabelstring
max 100 chars
Response 201
datarequiredobject
Same fields as WhitelistedIp, shown earlier on this page.
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.
Remove a whitelisted source IP
DELETE/
- Access
- API key. Scoped keys need
account:write. - Rate limit
- 100 requests per second (the default)
Traffic from the address is refused from then on.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
messagerequiredstring · data.message
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.
List your interconnections
GET/
- Access
- API key. Scoped keys need
account:read. - Rate limit
- 100 requests per second (the default)
One per purchase, with your credentials, the route (never its seller endpoint) and pricing: what you are actually billed on the route. route.pricePerUnit is the list price only.
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
purchaseIdrequiredstring (uuid) · data[].purchaseId
typerequiredstring · data[].type
One ofsip,smpp,apibuyerEndpointrequiredobject | null · data[].buyerEndpoint
Your own connection settings and credentialssellerEndpointrequiredenum | null · data[].sellerEndpoint
Always null: the seller endpoint is never shown to buyersOne ofnullstatusrequiredstring · data[].status
One ofactive,inactivecreatedAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)updatedAtrequiredstring (date-time) · data[].updatedAt
ISO-8601 timestamp (UTC)purchaserequiredobject | null · data[].purchase
idrequiredstring (uuid) · data[].purchase.id
statusrequiredstring · data[].purchase.status
sipUsernamerequiredstring | null · data[].purchase.sipUsername
sipPasswordrequiredstring | null · data[].purchase.sipPassword
smppSystemIdrequiredstring | null · data[].purchase.smppSystemId
smppPasswordrequiredstring | null · data[].purchase.smppPassword
routerequiredobject | null · data[].route
idrequiredstring (uuid) · data[].route.id
typerequiredstring · data[].route.type
One ofvoice,smscountryrequiredstring | null · data[].route.country
countryCoderequiredstring | null · data[].route.countryCode
prefixrequiredstring[] · data[].route.prefix
destinationNamerequiredstring | null · data[].route.destinationName
The listing name as a buyer reads it: generated by the platform, never the seller's text, and ending in the listing reference (e.g. "Niger Mobile · Ref 7K2Q", "A-Z Voice · Premium · Full CLI · Ref 3MX9"). Your own listings keep the name you gave them.listingRefstring · data[].route.listingRef
Anonymous short reference of the listing (4 characters, e.g. "7K2Q"): stable for the life of the listing, unique enough to tell two same-named listings apart, and derived from the listing alone (it says nothing about the seller). Absent on your own listings.pricePerUnitrequiredmoney · data[].route.pricePerUnit
List price only; seepricingfor what you pay USD as a decimal string with exactly 6 places, e.g. "0.012500".billingIncrementrequiredstring | null · data[].route.billingIncrement
jingleSipIprequiredenum | null · data[].route.jingleSipIp
One ofnullcapacityrequiredinteger | null · data[].route.capacity
rateCountrequiredinteger · data[].route.rateCount
Destinations on the rate deck; > 0 means priced per destinationpricingrequiredobject | null · data[].pricing
Your real rate basis for this routebasisrequiredstring · data[].pricing.basis
One offlat,per_destination
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.
Get an interconnection
GET/
- Access
- API key. Scoped keys need
account:read. - Rate limit
- 100 requests per second (the default)
In buyerEndpoint the SIP password is replaced by sipPasswordSet (here and on the two PUTs); the list endpoint carries your plaintext credentials for the connection card.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
purchaseIdrequiredstring (uuid) · data.purchaseId
typerequiredstring · data.type
One ofsip,smpp,apibuyerEndpointrequiredobject | null · data.buyerEndpoint
Your own connection settings and credentialssellerEndpointrequiredenum | null · data.sellerEndpoint
Always null: the seller endpoint is never shown to buyersOne ofnullstatusrequiredstring · data.status
One ofactive,inactivecreatedAtrequiredstring (date-time) · data.createdAt
ISO-8601 timestamp (UTC)updatedAtrequiredstring (date-time) · data.updatedAt
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 an interconnection
PUT/
- Access
- API key. Scoped keys need
account:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
buyerEndpointobject
statusstring
One ofactive,inactive
Response 200
datarequiredobject
Same fields as Interconnection, shown earlier on this page.
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.
Set delivery-receipt settings on an SMS interconnection
PUT/
- Access
- API key. Scoped keys need
account:write. - Rate limit
- 100 requests per second (the default)
Stores whether to request delivery receipts and the https callback URL for them.
Parameters
idrequiredpath · string
Request body (application/json)
requestDlrsrequiredboolean
dlrCallbackUrlstring (uri) | null
Response 200
datarequiredobject
Same fields as Interconnection, shown earlier on this page.
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.
Test connectivity on a purchased route
POST/
- Access
- API key. Scoped keys need
account:write. - Rate limit
- 100 requests per second (the default)
- Real traffic
- Sends real test traffic over the purchased route.
sip_options probes reachability from every media worker. test_call places a real billed test call to testNumber; smpp_bind checks an SMS bind. Test calls and binds are capped per purchase per hour and per day.
Request body (application/json)
purchaseIdrequiredstring (uuid)
testTypestring
default "sip_options"One ofsip_options,test_call,smpp_bindtestNumberstring
max 30 charstestClistring
max 30 chars
Response 200
datarequiredobject
statusrequiredstring · data.status
Outcome: connected, degraded, failed, no_answer, error or unknownmessagerequiredstring · data.message
detailsrequiredobject · data.details
Diagnostic trace. Never carries the seller address.
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 summary of your interconnect setup
GET/
- Access
- API key. Scoped keys need
account:read. - Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject
whitelistedIpsrequiredinteger · data.whitelistedIps
activePurchasesrequiredinteger · data.activePurchases
activeInterconnectionsrequiredinteger · data.activeInterconnections
totalInterconnectionsrequiredinteger · data.totalInterconnections
sipPublicIprequiredstring · data.sipPublicIp
The edge address to send SIP traffic to
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.
Get live connection health per purchase
GET/
- Access
- API key. Scoped keys need
account:read. - Rate limit
- 100 requests per second (the default)
SIP purchases report whether the switch is up and the route configured; SMS purchases report their SMPP bind state.
Response 200
datarequiredobject[]
purchaseIdrequiredstring (uuid) · data[].purchaseId
protocolrequiredstring · data[].protocol
One ofsip,smppboundrequiredboolean · data[].bound
boundAtrequiredstring (date-time) | null · data[].boundAt
ISO-8601 timestamp (UTC)lastMessageAtrequiredstring (date-time) | null · data[].lastMessageAt
ISO-8601 timestamp (UTC)remoteIprequiredstring | null · data[].remoteIp
configuredboolean · data[].configured
reachablerequiredboolean · data[].reachable
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.
Rotate the SIP and SMPP credentials on a purchase
POST/
- Access
- API key. Scoped keys need
account:write. - Rate limit
- 100 requests per second (the default)
Issues new credentials, returned once. The old ones stop working immediately and open SMPP binds are dropped.
Parameters
purchaseIdrequiredpath · string
Response 200
datarequiredobject
sipUsernamerequiredstring · data.sipUsername
sipPasswordrequiredstring · data.sipPassword
smppSystemIdrequiredstring · data.smppSystemId
smppPasswordrequiredstring · data.smppPassword
unboundSessionsrequiredinteger · data.unboundSessions
messagerequiredstring · data.message
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.