API reference
Phone numbers
The DID Store: search, buy, route and release phone numbers; SMS and softphone lines on them.
BrowsePhone numbers
Browse the number catalogue
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Number groups by country, city and type, with the price of each SKU. While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Parameters
countryIdquery · string
From GET .../catalog/countriestypeIdquery · string
From GET .../catalog/typessearchquery · string
Text match over country, city, area prefix and type; digits also match the start of the full dialling prefix ("4420" finds London). Spans the whole catalogue once it is indexed, otherwise the fetched pagepagequery · integer
sortquery · string
Order by the cheapest monthly price, setup price or location. Omitted: the catalogue orderOne of monthly_asc, monthly_desc, setup_asc, location_ascmaxMonthlyquery · number
Only groups whose cheapest monthly price is at most this, in USD
Response 200
groupsrequiredobject[]
groupIdrequiredstring · groups[].groupId
Pass to POST /dids/buy with a skuIdcountryrequiredstring · groups[].country
countryIdrequiredstring · groups[].countryId
Catalogue country id (filter value), not an ISO codecountryPrefixrequiredstring · groups[].countryPrefix
cityrequiredstring | null · groups[].city
areaPrefixrequiredstring | null · groups[].areaPrefix
typeIdrequiredstring | null · groups[].typeId
typeNamerequiredstring | null · groups[].typeName
Local, National, Mobile, Toll-free...skusrequiredobject[] · groups[].skus
skuIdrequiredstring · groups[].skus[].skuId
Pass to POST /dids/buychannelsrequiredinteger · groups[].skus[].channels
Concurrent call channels includedsetupPricerequirednumber · groups[].skus[].setupPrice
One-off price in USD (display number, not a money string)monthlyPricerequirednumber · groups[].skus[].monthlyPrice
Monthly price in USD (display number, not a money string)totalrequiredinteger | null
pagerequiredinteger
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.
List countries with numbers for sale
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Response 200
datarequiredobject[]
countryIdrequiredstring · data[].countryId
countryrequiredstring · data[].country
countryPrefixrequiredstring · data[].countryPrefix
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.
List number types for sale
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Response 200
datarequiredobject[]
idrequiredstring · data[].id
namerequiredstring · data[].name
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.
Buy a phone number
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
- Safe retries
- Send
X-Idempotency-Key; a replay within 24 hours returns the first response. - Moves money
- Buys a phone number, charged to your balance.
Charges the setup price plus the first month to your balance (or the named sub-account's) and orders the number. It starts pending; number is null until provisioning completes. Requires a verified identity where KYC is enforced.
Parameters
X-Idempotency-Keyheader · string
Any unique string (a UUID is ideal). Replays within 24 hours return the first response instead of acting twice.
Request body (application/json)
skuIdrequiredstring
max 64 charsgroupIdrequiredstring
max 64 charscountryIdstring
max 64 charscountrystring
max 120 charscitystring | null
max 120 charsareaPrefixstring | null
max 16 charsdidTypestring | null
max 40 charssubAccountIdstring (uuid)
Buy the number for one of your sub-accounts: its balance pays and the number is theirs
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
numberrequiredstring | null · data.number
null while the number is still being provisionedcountryrequiredstring | null · data.country
countryCoderequiredstring | null · data.countryCode
ISO-3166-1 alpha-2 country codemax 2 charscityrequiredstring | null · data.city
areaPrefixrequiredstring | null · data.areaPrefix
didTyperequiredstring | null · data.didType
channelsIncludedrequiredinteger · data.channelsIncluded
statusrequiredstring · data.status
suspended = a monthly renewal failed; the number is held forgraceDaysbefore releaseOne ofpending,active,suspended,released,failedpointModerequiredstring · data.pointMode
One ofunrouted,sip,forwardpointsTorequiredstring | null · data.pointsTo
Primary destination: host[:port] for sip, E.164 for forwardpointsToBackuprequiredstring | null · data.pointsToBackup
autoRenewrequiredboolean · data.autoRenew
setupPricerequiredmoney · data.setupPrice
USD as a decimal string with exactly 6 places, e.g. "0.012500".monthlyPricerequiredmoney · data.monthlyPrice
USD as a decimal string with exactly 6 places, e.g. "0.012500".orderedAtrequiredstring (date-time) | null · data.orderedAt
ISO-8601 timestamp (UTC)activatedAtrequiredstring (date-time) | null · data.activatedAt
ISO-8601 timestamp (UTC)nextRenewalAtrequiredstring (date-time) | null · data.nextRenewalAt
ISO-8601 timestamp (UTC)suspendedAtrequiredstring (date-time) | null · data.suspendedAt
ISO-8601 timestamp (UTC)releasedAtrequiredstring (date-time) | null · data.releasedAt
ISO-8601 timestamp (UTC)endpointReachablerequiredboolean | null · data.endpointReachable
null = not checked yetendpointCauserequiredstring | null · data.endpointCause
endpointCheckedAtrequiredstring (date-time) | null · data.endpointCheckedAt
ISO-8601 timestamp (UTC)aiAgentIdrequiredstring (uuid) | null · data.aiAgentId
The AI voice agent answering inbound calls to this number, or null (PUT /dids/{id}/ai-agent)graceDaysrequiredinteger · data.graceDays
Days an unpaid (suspended) number is held before release
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. - Also
KYC_REQUIRED
List your phone numbers
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Response 200
datarequiredobject[]
Same fields as Did, 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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get your request to list numbers on the marketplace
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Your latest request, plus a profile prefill for the form. Works while the number store is off.
Response 200
datarequiredobject
ownedActiveDidsrequiredinteger · data.ownedActiveDids
requestrequiredobject | null · data.request
Your latest request, or nullidrequiredstring (uuid) · data.request.id
statusrequiredstring · data.request.status
selectedDidsrequiredobject[] | null · data.request.selectedDids
idrequiredstring (uuid) · data.request.selectedDids[].id
numberrequiredstring | null · data.request.selectedDids[].number
countryrequiredstring | null · data.request.selectedDids[].country
didTyperequiredstring | null · data.request.selectedDids[].didType
didCountrequiredinteger | null · data.request.didCount
submittedAtrequiredstring (date-time) · data.request.submittedAt
ISO-8601 timestamp (UTC)reviewedAtrequiredstring (date-time) | null · data.request.reviewedAt
ISO-8601 timestamp (UTC)prefillrequiredobject · data.prefill
companyNamerequiredstring · data.prefill.companyName
contactNamerequiredstring · data.prefill.contactName
contactEmailrequiredstring · data.prefill.contactEmail
contactPhonerequiredstring · data.prefill.contactPhone
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.
Ask to list your numbers on the marketplace
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 5 requests per 10 minutes
Our team reviews the request and lists the numbers by hand. One open request at a time (409 CONFLICT otherwise). A validation failure here answers 400 with error.field naming the first bad field instead of a details array.
Request body (application/json)
companyNamestring | null
max 255 charscontactNamerequiredstring
max 255 charscontactEmailstring (email) | null
max 255 charscontactPhonestring | null
max 40 charsselectedDidIdsstring (uuid)[]
Numbers from your portfolio to listdidCountinteger | null
countriesstring | null
max 255 charsnumberTypesstring | null
max 255 charsmonthlyVolumestring | null
max 255 charstargetPricestring | null
max 2000 charsnotesstring | null
max 4000 chars
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
statusrequiredstring · data.status
submittedAtrequiredstring (date-time) · data.submittedAt
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. - 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 numbers usable as outbound caller IDs
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Active, provisioned numbers you own.
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
clirequiredstring · data[].cli
Digits onlynumberrequiredstring · data[].number
countryrequiredstring | null · data[].country
countryCoderequiredstring | null · data[].countryCode
cityrequiredstring | null · data[].city
didTyperequiredstring | null · data[].didType
channelsrequiredinteger · data[].channels
labelrequiredstring | null · data[].label
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.
Add your numbers to a dialer caller-ID set
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Adds the chosen (or all) active numbers so they rotate as caller IDs on voice campaigns.
Request body (application/json)
setIdrequiredstring (uuid)
One of your dialer caller-ID setsdidIdsstring (uuid)[] | string
Omit or "all" for every active number
Response 201
datarequiredobject
insertedrequiredinteger · data.inserted
skippedrequiredinteger · data.skipped
rejectsrequiredobject[] · data.rejects
valuerequiredstring · data.rejects[].value
reasonrequiredstring · data.rejects[].reason
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 one of your phone numbers
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Response 200
datarequiredobject
Same fields as Did, 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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get a number's call flow
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Ring strategy and ordered destinations. Hosted line passwords are never included.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
strategyrequiredstring · data.strategy
One offailover,simultaneoustimeoutSecrequiredinteger · data.timeoutSec
endpointsrequiredobject[] · data.endpoints
idrequiredstring (uuid) · data.endpoints[].id
kindrequiredstring · data.endpoints[].kind
One ofsip,forward,hostedtargetrequiredstring | null · data.endpoints[].target
sipUsernamerequiredstring | null · data.endpoints[].sipUsername
Hosted lines only; the password is never listedlabelrequiredstring | null · data.endpoints[].label
priorityrequiredinteger · data.endpoints[].priority
enabledrequiredboolean · data.endpoints[].enabled
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.
Replace a number's call flow
PUT/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Full replace: an endpoint sent with an id is kept or updated, one without an id is created, and any existing endpoint you leave out is deleted (hosted lines included - send them back by id to keep them).
Parameters
idrequiredpath · string
Request body (application/json)
strategystring
One offailover,simultaneoustimeoutSecinteger
5 to 600endpointsrequiredobject[]
idstring (uuid) · endpoints[].id
Send an existing id to keep or update it; omit to createkindrequiredstring · endpoints[].kind
One ofsip,forward,hostedtargetstring | null · endpoints[].target
Required for sip and forward; ignored for hostedmax 255 charslabelstring | null · endpoints[].label
max 120 charspriorityinteger · endpoints[].priority
1 to 999enabledboolean · endpoints[].enabled
Response 200
datarequiredobject
Same fields as DidCallFlow, 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.
Point a number at one destination (and an optional backup)
PATCH/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
The simple form of call routing: a primary and an optional failover backup. Hosted softphone lines and any extra destinations are left alone. Use PUT for the full call flow.
Parameters
idrequiredpath · string
Request body (application/json)
moderequiredstring
One ofsip,forwardtargetrequiredstring
host[:port] for sip, E.164 for forwardmax 255 charsbackupModestring | null
Defaults tomodeOne ofsip,forwardbackupTargetstring | null
null or "" clears the backup; omit to keep itmax 255 chars
Response 200
datarequiredobject
Same fields as Did, 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.
List a number's softphone lines
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Passwords are not included; use reveal.
Parameters
idrequiredpath · string
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
sipUsernamerequiredstring · data[].sipUsername
labelrequiredstring | null · data[].label
priorityrequiredinteger · data[].priority
enabledrequiredboolean · data[].enabled
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. - 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.
Create a softphone line on a number
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Returns the full login, password included, once.
Parameters
idrequiredpath · string
Request body (application/json)
labelstring | null
max 120 chars
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
sipUsernamerequiredstring · data.sipUsername
sipPasswordrequiredstring · data.sipPassword
Shown only here and on an explicit revealserverrequiredstring · data.server
portrequiredstring · data.port
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.
Reveal a softphone line's login
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
lineIdrequiredpath · string
Response 200
datarequiredobject
Same fields as DidSipLineLogin, 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.
Delete a softphone line
DELETE/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
lineIdrequiredpath · string
Response 200
datarequiredobject
idrequiredstring · data.id
deletedrequiredboolean · data.deleted
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.
Turn monthly auto-renew on or off
PATCH/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
With auto-renew off, the number is released at its next renewal date instead of being charged.
Parameters
idrequiredpath · string
Request body (application/json)
enabledrequiredboolean
Response 200
datarequiredobject
Same fields as Did, 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.
List inbound calls to a number
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Recent inbound calls, newest first, with a calls and minutes total.
Parameters
idrequiredpath · string
limitquery · integer
Newest first; default 200
Response 200
datarequiredobject
callsrequiredobject[] · data.calls
idrequiredstring (uuid) · data.calls[].id
fromNumberrequiredstring | null · data.calls[].fromNumber
toNumberrequiredstring | null · data.calls[].toNumber
durationSecrequiredinteger · data.calls[].durationSec
statusrequiredstring | null · data.calls[].status
startedAtrequiredstring (date-time) · data.calls[].startedAt
ISO-8601 timestamp (UTC)summaryrequiredobject · data.summary
callsrequiredinteger · data.summary.calls
minutesrequirednumber · data.summary.minutes
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.
See which AI voice agent answers a number
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Returns the agent pointed at this number (or null), whether inbound AI answering is switched on for the platform, and the per-minute AI voice rate.
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
didIdrequiredstring (uuid) · data.didId
agentIdrequiredstring (uuid) | null · data.agentId
agentNamerequiredstring | null · data.agentName
agentEnabledrequiredboolean | null · data.agentEnabled
A disabled agent does not answer; the number rings its call flowliverequiredboolean · data.live
Whether inbound AI answering is switched on for the platform right nowratePerMinrequiredstring · data.ratePerMin
AI voice rate in USD per minute, billed per second
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.
Point a number at an AI voice agent
PUT/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Send { "agentId": "<your agent id>" } and inbound calls to the number are answered by that agent instead of ringing the number's call flow; send { "agentId": null } to go back to the call flow, which is kept untouched meanwhile. Billed per second at the AI voice per-minute rate to the number's owner, on top of the number's monthly price. Each call is capped at the agent's maximum call length and at what your balance covers; when the agent is disabled or your balance covers less than 30 seconds, the number rings its call flow as usual. The agent must belong to your account.
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
agentIdrequiredstring (uuid) | null
One of your AI agents (GET /ai-agents), or null to clear
Response 200
datarequiredobject
Same fields as DidAiAgent, 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.
Get a number's voicemail, recording, IVR and schedule settings
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
A number with nothing configured rings its call flow as normal.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
voicemailrequiredobject · data.voicemail
enabledrequiredboolean · data.voicemail.enabled
moderequiredstring · data.voicemail.mode
One ofon_no_answer,alwaysgreetingAssetIdrequiredstring (uuid) | null · data.voicemail.greetingAssetId
hasGreetingrequiredboolean · data.voicemail.hasGreeting
transcriberequiredboolean · data.voicemail.transcribe
recordingrequiredobject · data.recording
enabledrequiredboolean · data.recording.enabled
announcerequiredboolean · data.recording.announce
retentionDaysrequiredinteger · data.recording.retentionDays
ivrrequiredobject · data.ivr
enabledrequiredboolean · data.ivr.enabled
greetingAssetIdrequiredstring (uuid) | null · data.ivr.greetingAssetId
hasGreetingrequiredboolean · data.ivr.hasGreeting
timeoutSecrequiredinteger · data.ivr.timeoutSec
maxRetriesrequiredinteger · data.ivr.maxRetries
optionsrequiredobject[] · data.ivr.options
idrequiredstring (uuid) · data.ivr.options[].id
digitrequiredstring · data.ivr.options[].digit
actionrequiredstring · data.ivr.options[].action
One ofendpoint,voicemail,hangupendpointIdrequiredstring (uuid) | null · data.ivr.options[].endpointId
labelrequiredstring | null · data.ivr.options[].label
schedulerequiredobject · data.schedule
enabledrequiredboolean · data.schedule.enabled
timezonerequiredstring · data.schedule.timezone
schedulerequiredobject | null · data.schedule.schedule
sunrequiredobject[] · data.schedule.schedule.sun
openrequiredstring · data.schedule.schedule.sun[].open
HH:MMmax 5 charscloserequiredstring · data.schedule.schedule.sun[].close
HH:MMmax 5 charsmonrequiredobject[] · data.schedule.schedule.mon
openrequiredstring · data.schedule.schedule.mon[].open
HH:MMmax 5 charscloserequiredstring · data.schedule.schedule.mon[].close
HH:MMmax 5 charstuerequiredobject[] · data.schedule.schedule.tue
openrequiredstring · data.schedule.schedule.tue[].open
HH:MMmax 5 charscloserequiredstring · data.schedule.schedule.tue[].close
HH:MMmax 5 charswedrequiredobject[] · data.schedule.schedule.wed
openrequiredstring · data.schedule.schedule.wed[].open
HH:MMmax 5 charscloserequiredstring · data.schedule.schedule.wed[].close
HH:MMmax 5 charsthurequiredobject[] · data.schedule.schedule.thu
openrequiredstring · data.schedule.schedule.thu[].open
HH:MMmax 5 charscloserequiredstring · data.schedule.schedule.thu[].close
HH:MMmax 5 charsfrirequiredobject[] · data.schedule.schedule.fri
openrequiredstring · data.schedule.schedule.fri[].open
HH:MMmax 5 charscloserequiredstring · data.schedule.schedule.fri[].close
HH:MMmax 5 charssatrequiredobject[] · data.schedule.schedule.sat
openrequiredstring · data.schedule.schedule.sat[].open
HH:MMmax 5 charscloserequiredstring · data.schedule.schedule.sat[].close
HH:MMmax 5 charsholidaysrequiredobject[] | null · data.schedule.holidays
daterequiredstring · data.schedule.holidays[].date
YYYY-MM-DDmax 10 charsnamestring · data.schedule.holidays[].name
max 120 charsoutsideHoursActionrequiredstring · data.schedule.outsideHoursAction
One ofvoicemail,endpoints,hangupclosedEndpointsrequiredobject[] · data.schedule.closedEndpoints
idrequiredstring (uuid) · data.schedule.closedEndpoints[].id
kindrequiredstring · data.schedule.closedEndpoints[].kind
One ofsip,forwardtargetrequiredstring · data.schedule.closedEndpoints[].target
labelrequiredstring | null · data.schedule.closedEndpoints[].label
priorityrequiredinteger · data.schedule.closedEndpoints[].priority
enabledrequiredboolean · data.schedule.closedEndpoints[].enabled
openNowrequiredboolean | null · data.schedule.openNow
assetsrequiredobject[] · data.assets
idrequiredstring (uuid) · data.assets[].id
kindrequiredstring · data.assets[].kind
One ofvoicemail_greeting,ivr_greetingnamerequiredstring | null · data.assets[].name
mimerequiredstring · data.assets[].mime
createdAtrequiredstring (date-time) · data.assets[].createdAt
ISO-8601 timestamp (UTC)mediaLiverequiredboolean · data.mediaLive
Whether voicemail and recording capture is live on the platform
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.
Configure voicemail on a number
PUT/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
enabledboolean
modestring
One ofon_no_answer,alwaysgreetingAssetIdstring (uuid) | null
transcribeboolean
Response 200
datarequiredobject
Same fields as DidFeatures, 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.
Configure call recording on a number
PUT/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
enabledboolean
announceboolean
retentionDaysinteger
0 to 3650
Response 200
datarequiredobject
Same fields as DidFeatures, 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.
Configure the IVR menu on a number
PUT/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
enabledboolean
greetingAssetIdstring (uuid) | null
timeoutSecinteger
1 to 30maxRetriesinteger
1 to 5optionsobject[]
Replaces the whole menu when sentdigitrequiredstring · options[].digit
0-9, * or #max 1 charsactionrequiredstring · options[].action
One ofendpoint,voicemail,hangupendpointIdstring (uuid) | null · options[].endpointId
labelstring | null · options[].label
max 120 chars
Response 200
datarequiredobject
Same fields as DidFeatures, 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.
Configure business-hours routing on a number
PUT/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
enabledboolean
timezonestring
IANA zone, e.g. Europe/Londonmax 64 charsscheduleobject
sunrequiredobject[] · schedule.sun
openrequiredstring · schedule.sun[].open
HH:MMmax 5 charscloserequiredstring · schedule.sun[].close
HH:MMmax 5 charsmonrequiredobject[] · schedule.mon
openrequiredstring · schedule.mon[].open
HH:MMmax 5 charscloserequiredstring · schedule.mon[].close
HH:MMmax 5 charstuerequiredobject[] · schedule.tue
openrequiredstring · schedule.tue[].open
HH:MMmax 5 charscloserequiredstring · schedule.tue[].close
HH:MMmax 5 charswedrequiredobject[] · schedule.wed
openrequiredstring · schedule.wed[].open
HH:MMmax 5 charscloserequiredstring · schedule.wed[].close
HH:MMmax 5 charsthurequiredobject[] · schedule.thu
openrequiredstring · schedule.thu[].open
HH:MMmax 5 charscloserequiredstring · schedule.thu[].close
HH:MMmax 5 charsfrirequiredobject[] · schedule.fri
openrequiredstring · schedule.fri[].open
HH:MMmax 5 charscloserequiredstring · schedule.fri[].close
HH:MMmax 5 charssatrequiredobject[] · schedule.sat
openrequiredstring · schedule.sat[].open
HH:MMmax 5 charscloserequiredstring · schedule.sat[].close
HH:MMmax 5 charsholidaysobject[]
daterequiredstring · holidays[].date
YYYY-MM-DDmax 10 charsnamestring · holidays[].name
max 120 charsoutsideHoursActionstring
One ofvoicemail,endpoints,hangupclosedEndpointsobject[]
kindrequiredstring · closedEndpoints[].kind
One ofsip,forwardtargetrequiredstring · closedEndpoints[].target
max 255 charslabelstring | null · closedEndpoints[].label
max 120 charspriorityinteger · closedEndpoints[].priority
1 to 999enabledboolean · closedEndpoints[].enabled
Response 200
datarequiredobject
Same fields as DidFeatures, 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.
List a number's uploaded greetings
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
kindrequiredstring · data[].kind
One ofvoicemail_greeting,ivr_greetingnamerequiredstring | null · data[].name
mimerequiredstring · data[].mime
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. - 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.
Upload a voicemail or IVR greeting
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
WAV or MP3, up to 8 MB. Send multipart with a file part (and kind as a field or query parameter), or JSON with contentBase64.
Parameters
idrequiredpath · string
Request body (application/json)
kindrequiredstring
One ofvoicemail_greeting,ivr_greetingnamestring | null
max 120 charscontentBase64string
WAV or MP3, base64, up to 8 MB. Or send multipart with afilepart
Response 201
datarequiredobject
Same fields as DidGreeting, 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.
Download a greeting's audio
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
assetIdrequiredpath · string
Response 200 (audio/*)
The greeting audio bytes (WAV or MP3; the Content-Type says which).
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.
Delete a greeting
DELETE/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
assetIdrequiredpath · string
Response 200
datarequiredobject
idrequiredstring · data.id
deletedrequiredboolean · data.deleted
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 call recordings on a number
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
limitquery · integer
Newest first; default 200
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
kindrequiredstring · data[].kind
One ofcall,voicemailfromNumberrequiredstring | null · data[].fromNumber
toNumberrequiredstring | null · data[].toNumber
durationSecrequiredinteger · data[].durationSec
mimerequiredstring | null · data[].mime
byteSizerequiredinteger · data[].byteSize
heardrequiredboolean · data[].heard
transcriptrequiredstring | null · data[].transcript
hasAudiorequiredboolean · data[].hasAudio
expiresAtrequiredstring (date-time) | null · data[].expiresAt
ISO-8601 timestamp (UTC)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. - 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.
Download a call recording
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
recIdrequiredpath · string
Response 200 (audio/*)
The recording audio bytes (WAV or MP3; the Content-Type says which).
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.
Delete a call recording
DELETE/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
recIdrequiredpath · string
Response 200
datarequiredobject
idrequiredstring · data.id
deletedrequiredboolean · data.deleted
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 voicemails on a number
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
limitquery · integer
Newest first; default 200
Response 200
datarequiredobject[]
Same fields as DidRecording, 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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Download a voicemail
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
recIdrequiredpath · string
Response 200 (audio/*)
The voicemail audio bytes (WAV or MP3; the Content-Type says which).
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.
Mark a voicemail heard or unheard
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
recIdrequiredpath · string
Request body (application/json)
heardboolean
Default true
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
heardrequiredboolean · data.heard
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.
Delete a voicemail
DELETE/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
recIdrequiredpath · string
Response 200
datarequiredobject
idrequiredstring · data.id
deletedrequiredboolean · data.deleted
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.
Release a phone number
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Cancels the number and stops its monthly charge. Irreversible: the number goes back to the carrier.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
Same fields as Did, 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.
Get a number's SMS settings
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
While SMS on numbers is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
smsEnabledrequiredboolean · data.smsEnabled
forwardWebhookUrlrequiredstring | null · data.forwardWebhookUrl
https URL each inbound SMS is forwarded tonotifyEmailrequiredstring | null · data.notifyEmail
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 number's SMS settings
PUT/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
smsEnabledboolean
forwardWebhookUrlstring | null
https only; null or "" clears itmax 2048 charsnotifyEmailstring | null
null or "" clears itmax 255 chars
Response 200
datarequiredobject
Same fields as DidSmsSettings, 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.
List SMS conversations on a number
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
One row per other party, newest activity first, with unread counts.
Parameters
idrequiredpath · string
Response 200
datarequiredobject[]
peerrequiredstring · data[].peer
lastBodyrequiredstring · data[].lastBody
lastDirectionrequiredstring · data[].lastDirection
One ofin,outlastStatusrequiredstring · data[].lastStatus
One ofreceived,queued,sent,delivered,failedlastAtrequiredstring (date-time) · data[].lastAt
ISO-8601 timestamp (UTC)unreadrequiredinteger · data[].unread
totalrequiredinteger · data[].total
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.
List SMS messages on a number
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Newest first. Page older with before set to the previous nextBefore.
Parameters
idrequiredpath · string
peerquery · string
One conversation; omit for the number's whole logbeforequery · string
ISO timestamp: page older than this (usenextBefore)limitquery · integer
Default 50
Response 200
messagesrequiredobject[]
idrequiredstring (uuid) · messages[].id
directionrequiredstring · messages[].direction
One ofin,outfromrequiredstring · messages[].from
torequiredstring · messages[].to
peerrequiredstring · messages[].peer
The other party, digits only; the conversation keybodyrequiredstring · messages[].body
segmentsrequiredinteger · messages[].segments
statusrequiredstring · messages[].status
One ofreceived,queued,sent,delivered,failederrorrequiredstring | null · messages[].error
providerMessageIdrequiredstring | null · messages[].providerMessageId
Upstream carrier message idreadAtrequiredstring (date-time) | null · messages[].readAt
ISO-8601 timestamp (UTC)createdAtrequiredstring (date-time) · messages[].createdAt
ISO-8601 timestamp (UTC)nextBeforerequiredstring | 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. - 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.
Send an SMS from one of your numbers
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
- Safe retries
- Send
X-Idempotency-Key; a replay within 24 hours returns the first response. - Real traffic
- Sends a real SMS from your number, billed to your balance.
Charges per segment, then hands the message to the carrier. A hard send failure refunds the charge and marks the message failed.
Parameters
idrequiredpath · string
X-Idempotency-Keyheader · string
Any unique string (a UUID is ideal). Replays within 24 hours return the first response instead of acting twice.
Request body (application/json)
torequiredstring
max 32 charsbodyrequiredstring
max 1600 charsidempotencyKeystring | null
A retry with the same key returns the original messagemax 80 chars
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
directionrequiredstring · data.direction
One ofin,outfromrequiredstring · data.from
torequiredstring · data.to
peerrequiredstring · data.peer
The other party, digits only; the conversation keybodyrequiredstring · data.body
segmentsrequiredinteger · data.segments
statusrequiredstring · data.status
One ofreceived,queued,sent,delivered,failederrorrequiredstring | null · data.error
providerMessageIdrequiredstring | null · data.providerMessageId
Upstream carrier message idreadAtrequiredstring (date-time) | null · data.readAt
ISO-8601 timestamp (UTC)createdAtrequiredstring (date-time) · data.createdAt
ISO-8601 timestamp (UTC)costrequiredmoney · data.cost
What you were charged; 0.000000 when failed and refunded USD as a decimal string with exactly 6 places, e.g. "0.012500".
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.
Mark an SMS conversation read
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
peerrequiredstring
max 32 chars
Response 200
datarequiredobject
updatedrequiredinteger · data.updated
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.
Search the catalogue by digit pattern or vanity run
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Scans catalogue pages for groups whose dialing prefix matches. While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Parameters
patternquery · string
Digits to match against the dialing prefix (country + area)matchquery · string
Default containsOne of contains, starts_with, ends_with, exactvanityquery · string
Only prefixes with repeating or sequential runsOne of true, false, 1, 0, yes, no, on, offcountryIdquery · string
typeIdquery · string
textquery · string
Text over country, city and type namelimitquery · integer
Default 50
Response 200
datarequiredobject
hitsrequiredobject[] · data.hits
groupIdrequiredstring · data.hits[].groupId
Pass to POST /dids/buy with a skuIdcountryrequiredstring · data.hits[].country
countryIdrequiredstring · data.hits[].countryId
Catalogue country id (filter value), not an ISO codecountryPrefixrequiredstring · data.hits[].countryPrefix
cityrequiredstring | null · data.hits[].city
areaPrefixrequiredstring | null · data.hits[].areaPrefix
typeIdrequiredstring | null · data.hits[].typeId
typeNamerequiredstring | null · data.hits[].typeName
Local, National, Mobile, Toll-free...skusrequiredobject[] · data.hits[].skus
Same fields as DidCatalogSku, shown earlier on this page.dialingPrefixrequiredstring · data.hits[].dialingPrefix
Country prefix plus area prefixvanityrequiredboolean · data.hits[].vanity
scannedPagesrequiredinteger · data.scannedPages
truncatedrequiredboolean · data.truncated
True when the scan budget ran out before the end of the cataloguehitsobject[]
groupIdrequiredstring · hits[].groupId
Pass to POST /dids/buy with a skuIdcountryrequiredstring · hits[].country
countryIdrequiredstring · hits[].countryId
Catalogue country id (filter value), not an ISO codecountryPrefixrequiredstring · hits[].countryPrefix
cityrequiredstring | null · hits[].city
areaPrefixrequiredstring | null · hits[].areaPrefix
typeIdrequiredstring | null · hits[].typeId
typeNamerequiredstring | null · hits[].typeName
Local, National, Mobile, Toll-free...skusrequiredobject[] · hits[].skus
Same fields as DidCatalogSku, shown earlier on this page.dialingPrefixrequiredstring · hits[].dialingPrefix
Country prefix plus area prefixvanityrequiredboolean · hits[].vanity
scannedPagesinteger
truncatedboolean
True when the scan budget ran out before the end of the catalogue
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.
Buy several phone numbers in one request
POST/
- Access
- API key. Scoped keys need
numbers:write. - Rate limit
- 100 requests per second (the default)
- Safe retries
- Send
X-Idempotency-Key; a replay within 24 hours returns the first response. - Moves money
- Buys a phone number, charged to your balance.
Buys each item in order and reports a result per item. Stops buying once your balance runs out and marks the rest skipped.
Parameters
X-Idempotency-Keyheader · string
Any unique string (a UUID is ideal). Replays within 24 hours return the first response instead of acting twice.
Request body (application/json)
itemsrequiredobject[]
skuIdrequiredstring · items[].skuId
max 64 charsgroupIdrequiredstring · items[].groupId
max 64 charscountryIdstring · items[].countryId
max 64 charscountrystring · items[].country
max 120 charscitystring | null · items[].city
max 120 charsareaPrefixstring | null · items[].areaPrefix
max 16 charsdidTypestring | null · items[].didType
max 40 chars
Response 201
datarequiredobject
requestedrequiredinteger · data.requested
succeededrequiredinteger · data.succeeded
failedrequiredinteger · data.failed
skippedrequiredinteger · data.skipped
itemsrequiredobject[] · data.items
indexrequiredinteger · data.items[].index
Position in the submitted arrayskuIdrequiredstring · data.items[].skuId
groupIdrequiredstring · data.items[].groupId
statusrequiredstring · data.items[].status
One ofok,failed,skippeddidobject · data.items[].did
Present when status is okSame fields as Did, shown earlier on this page.errorstring · data.items[].error
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 spend and usage overview across your numbers
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject
countsrequiredobject · data.counts
totalrequiredinteger · data.counts.total
activerequiredinteger · data.counts.active
pendingrequiredinteger · data.counts.pending
suspendedrequiredinteger · data.counts.suspended
releasedrequiredinteger · data.counts.released
failedrequiredinteger · data.counts.failed
monthlyRecurringrequirednumber · data.monthlyRecurring
Sum of monthly prices on active numbers, USD display numberlifetimeSpendrequirednumber · data.lifetimeSpend
Net charged across all your numbers, USD display numberusagerequiredobject · data.usage
callsrequiredinteger · data.usage.calls
callMinutesrequirednumber · data.usage.callMinutes
smsrequiredinteger · data.usage.sms
voicemailsrequiredinteger · data.usage.voicemails
voicemailMinutesrequirednumber · data.usage.voicemailMinutes
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 spend and usage analytics for a number
GET/
- Access
- API key. Scoped keys need
numbers:read. - Rate limit
- 100 requests per second (the default)
Totals and a month-by-month series. Spend figures are USD display numbers.
Parameters
idrequiredpath · string
monthsquery · integer
Trailing months in the series
Response 200
datarequiredobject
numberrequiredstring | null · data.number
statusrequiredstring · data.status
pricerequiredobject · data.price
setuprequiredmoney · data.price.setup
USD as a decimal string with exactly 6 places, e.g. "0.012500".monthlyrequiredmoney · data.price.monthly
USD as a decimal string with exactly 6 places, e.g. "0.012500".spendrequiredobject · data.spend
USD as display numbersgrossrequirednumber · data.spend.gross
refundedrequirednumber · data.spend.refunded
netrequirednumber · data.spend.net
setuprequirednumber · data.spend.setup
recurringrequirednumber · data.spend.recurring
usagerequiredobject · data.usage
callsrequiredinteger · data.usage.calls
callMinutesrequirednumber · data.usage.callMinutes
smsrequiredinteger · data.usage.sms
voicemailsrequiredinteger · data.usage.voicemails
voicemailMinutesrequirednumber · data.usage.voicemailMinutes
windowrequiredobject · data.window
monthsrequiredinteger · data.window.months
fromrequiredstring · data.window.from
seriesrequiredobject[] · data.series
callsrequiredinteger · data.series[].calls
callMinutesrequirednumber · data.series[].callMinutes
smsrequiredinteger · data.series[].sms
voicemailsrequiredinteger · data.series[].voicemails
voicemailMinutesrequirednumber · data.series[].voicemailMinutes
periodrequiredstring · data.series[].period
YYYY-MMspendrequirednumber · data.series[].spend
USD, display number
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.
Browse the public number catalogue
GET/
- Access
- Public. No key needed.
- Rate limit
- 30 requests per minute
No account needed: prices only, for pre-signup browsing. While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Parameters
countryIdquery · string
From GET .../catalog/countriestypeIdquery · string
From GET .../catalog/typessearchquery · string
Text match over country, city, area prefix and type; digits also match the start of the full dialling prefix ("4420" finds London). Spans the whole catalogue once it is indexed, otherwise the fetched pagepagequery · integer
sortquery · string
Order by the cheapest monthly price, setup price or location. Omitted: the catalogue orderOne of monthly_asc, monthly_desc, setup_asc, location_ascmaxMonthlyquery · number
Only groups whose cheapest monthly price is at most this, in USD
Response 200
groupsrequiredobject[]
Same fields as DidCatalogGroup, shown earlier on this page.totalrequiredinteger | null
pagerequiredinteger
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Number catalogue market summary
GET/
- Access
- Public. No key needed.
- Rate limit
- 15 requests per minute
No account needed. The store's live figures: how many countries and number groups are for sale, and the cheapest monthly price by number type and by country. Prices only. Indexed in the background and refreshed about every 20 minutes. While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Response 200
datarequiredobject
readyboolean · data.ready
The catalogue is being indexed (the first minute after a restart); ask again shortlyOne offalsecompleteboolean · data.complete
false when the catalogue was larger than the indexing budget, so the figures are a lower boundasOfstring (date-time) · data.asOf
When the catalogue was last indexedgroupsinteger · data.groups
Buyable number groups (a city, area or national pool you order a number from)countriesinteger · data.countries
fromMonthlynumber | null · data.fromMonthly
Cheapest monthly price in the catalogue, USDtypesobject[] · data.types
Most groups firsttypeIdrequiredstring · data.types[].typeId
typeNamerequiredstring · data.types[].typeName
Local, National, Mobile, Toll-free...groupsrequiredinteger · data.types[].groups
Number groups of this typecountriesrequiredinteger · data.types[].countries
Countries with at least one group of this typefromMonthlyrequirednumber | null · data.types[].fromMonthly
Cheapest monthly price of this type, USDfromSetuprequirednumber | null · data.types[].fromSetup
Cheapest one-off setup price of this type, USDcountryListobject[] · data.countryList
AlphabeticalcountryIdrequiredstring · data.countryList[].countryId
Catalogue country id (filter value)countryrequiredstring · data.countryList[].country
countryPrefixrequiredstring · data.countryList[].countryPrefix
groupsrequiredinteger · data.countryList[].groups
fromMonthlyrequirednumber | null · data.countryList[].fromMonthly
Cheapest monthly price in this country, USDtypeIdsrequiredstring[] · data.countryList[].typeIds
Number types sold in this country
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List countries in the public number catalogue
GET/
- Access
- Public. No key needed.
- Rate limit
- 15 requests per minute
While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Response 200
datarequiredobject[]
Same fields as DidCatalogCountry, shown earlier on this page.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List number types in the public number catalogue
GET/
- Access
- Public. No key needed.
- Rate limit
- 15 requests per minute
While the number store is switched off this answers 200 with data: { disabled: true, comingSoon: true, message }.
Response 200
datarequiredobject[]
Same fields as DidCatalogType, shown earlier on this page.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.