API reference
Revenue share numbers
Revenue share number pools, IVR and payouts.
26 operationsBase URL https://packetexchange.io/api/v1Postman collection
BrowseRevenue share numbers
Browse the revenue share number pool
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Cheapest first. Rates shown are what you earn per minute at the best payment term.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
country | query | string | Country name contains |
countryCode | query | string | - |
q | query | string | Number starts with these digits |
numberFrom | query | string | - |
numberTo | query | string | - |
maxRate | query | number | - |
status | query | string | Default availableOne of available, taken, retired |
limit | query | integer | - |
offset | query | integer | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | - |
idrequireddata[].id | string (uuid) | - |
numberrequireddata[].number | string | - |
countryrequireddata[].country | string | null | - |
countryCoderequireddata[].countryCode | string | null | - |
carrierrequireddata[].carrier | string | null | - |
rangeLabelrequireddata[].rangeLabel | string | null | - |
groupKeyrequireddata[].groupKey | string | - |
statusrequireddata[].status | string | -One of available, taken, retired |
ratePerMinrequireddata[].ratePerMin | money | What you earn per minute at the best payment term USD as a decimal string with exactly 6 places, e.g. "0.012500". |
createdAtrequireddata[].createdAt | string (date-time) | ISO-8601 timestamp (UTC) |
total | integer | - |
limit | integer | - |
offset | integer | - |
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.
Take a revenue share number
POST/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
You earn on every inbound minute to it. At most 5 numbers of one type per account.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Request body (application/json)
| Field | Type | Description |
|---|---|---|
termrequired | string | -One of 1_1, 7_1, 15_15 |
Response 201
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
idrequireddata.id | string (uuid) | - |
numberIdrequireddata.numberId | string (uuid) | - |
userIdrequireddata.userId | string (uuid) | - |
paymentTermrequireddata.paymentTerm | string | Payout cadence: 1_1 any day, 7_1 weekly, 15_15 twice monthlyOne of 1_1, 7_1, 15_15 |
effectiveRaterequireddata.effectiveRate | money | What you earn per minute on this number USD as a decimal string with exactly 6 places, e.g. "0.012500". |
ivrConfigIdrequireddata.ivrConfigId | string (uuid) | null | - |
ivrModerequireddata.ivrMode | string | -One of single, split, geo |
statusrequireddata.status | string | -One of active, released |
callsCountrequireddata.callsCount | integer | - |
minutesTotalrequireddata.minutesTotal | string | - |
earningsTotalrequireddata.earningsTotal | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
lastCallAtrequireddata.lastCallAt | string (date-time) | null | ISO-8601 timestamp (UTC) |
takenAtrequireddata.takenAt | string (date-time) | ISO-8601 timestamp (UTC) |
releasedAtrequireddata.releasedAt | string (date-time) | null | 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. - 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.
Take one number of every available type
POST/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Skips types where you already hold the maximum.
Request body (application/json)
| Field | Type | Description |
|---|---|---|
termrequired | string | -One of 1_1, 7_1, 15_15 |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
takenrequireddata.taken | integer | - |
groupsrequireddata.groups | integer | - |
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.
Release a revenue share number back to the pool
POST/
- 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 | Same fields as RevshareTaking, 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 the revenue share numbers you hold
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Active and released numbers with running call, minute and earnings totals.
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | - |
idrequireddata[].id | string (uuid) | - |
numberIdrequireddata[].numberId | string (uuid) | - |
numberrequireddata[].number | string | - |
countryrequireddata[].country | string | null | - |
countryCoderequireddata[].countryCode | string | null | - |
carrierrequireddata[].carrier | string | null | - |
paymentTermrequireddata[].paymentTerm | string | Payout cadence: 1_1 any day, 7_1 weekly, 15_15 twice monthlyOne of 1_1, 7_1, 15_15 |
ratePerMinrequireddata[].ratePerMin | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
statusrequireddata[].status | string | -One of active, released |
callsCountrequireddata[].callsCount | integer | - |
minutesTotalrequireddata[].minutesTotal | string | - |
earningsTotalrequireddata[].earningsTotal | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
lastCallAtrequireddata[].lastCallAt | string (date-time) | null | ISO-8601 timestamp (UTC) |
ivrConfigIdrequireddata[].ivrConfigId | string (uuid) | null | - |
ivrModerequireddata[].ivrMode | string | -One of single, split, geo |
takenAtrequireddata[].takenAt | string (date-time) | ISO-8601 timestamp (UTC) |
releasedAtrequireddata[].releasedAt | string (date-time) | null | 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.
List calls to your revenue share numbers
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Newest first. format=csv downloads up to 5,000 rows as CSV.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
numberId | query | string (uuid) | - |
from | query | string | ISO date or timestamp |
to | query | string | - |
format | query | string | csv returns a CSV download instead of JSONOne of csv |
limit | query | integer | - |
offset | query | integer | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | - |
idrequireddata[].id | string (uuid) | - |
numberIdrequireddata[].numberId | string (uuid) | - |
fromCarrierrequireddata[].fromCarrier | string | null | - |
toNetworkrequireddata[].toNetwork | string | null | - |
prefixrequireddata[].prefix | string | - |
callerNumberrequireddata[].callerNumber | string | null | The full number that called your number; null when no caller ID was presented |
ivrConfigIdrequireddata[].ivrConfigId | string (uuid) | null | Which of your IVR variants answered, when one did |
originIsorequireddata[].originIso | string | null | - |
originCountryrequireddata[].originCountry | string | null | - |
startedAtrequireddata[].startedAt | string (date-time) | ISO-8601 timestamp (UTC) |
durationSecrequireddata[].durationSec | integer | - |
ratePerMinrequireddata[].ratePerMin | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
earnedAmountrequireddata[].earnedAmount | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
createdAtrequireddata[].createdAt | string (date-time) | ISO-8601 timestamp (UTC) |
total | integer | - |
limit | integer | - |
offset | integer | - |
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 the public revenue share call log
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Recent calls across the pool, with origin and destination geography for mapping.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
country | query | string | - |
since | query | string | - |
limit | query | integer | - |
offset | query | integer | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | - |
fromCarrierrequireddata[].fromCarrier | string | null | - |
toNetworkrequireddata[].toNetwork | string | null | - |
prefixrequireddata[].prefix | string | - |
countryrequireddata[].country | string | null | - |
startedAtrequireddata[].startedAt | string (date-time) | ISO-8601 timestamp (UTC) |
toIsorequireddata[].toIso | string | null | - |
toLatrequireddata[].toLat | number | null | - |
toLngrequireddata[].toLng | number | null | - |
fromIsorequireddata[].fromIso | string | null | - |
fromLatrequireddata[].fromLat | number | null | - |
fromLngrequireddata[].fromLng | number | null | - |
fromCountryrequireddata[].fromCountry | string | null | - |
limit | integer | - |
offset | integer | - |
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 the carrier paths that reach the pool
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 |
|---|---|---|---|
country | query | string | - |
limit | query | integer | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | - |
fromCarrierrequireddata[].fromCarrier | string | null | - |
toNetworkrequireddata[].toNetwork | string | null | - |
countryrequireddata[].country | string | null | - |
countryCoderequireddata[].countryCode | string | null | - |
numbersrequireddata[].numbers | integer | - |
toIsorequireddata[].toIso | string | null | - |
toLatrequireddata[].toLat | number | null | - |
toLngrequireddata[].toLng | number | null | - |
fromIsorequireddata[].fromIso | string | null | - |
fromLatrequireddata[].fromLat | number | null | - |
fromLngrequireddata[].fromLng | number | null | - |
fromCountryrequireddata[].fromCountry | 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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List revenue share rates by number type
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Available count and what you earn per minute at the best payment term. format=csv downloads CSV.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
country | query | string | - |
countryCode | query | string | - |
maxRate | query | number | - |
format | query | string | csv returns a CSV download instead of JSONOne of csv |
limit | query | integer | - |
offset | query | integer | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object[] | - |
groupKeyrequireddata[].groupKey | string | - |
countryrequireddata[].country | string | null | - |
countryCoderequireddata[].countryCode | string | null | - |
isoCountryrequireddata[].isoCountry | string | null | - |
latrequireddata[].lat | number | null | - |
lngrequireddata[].lng | number | null | - |
availableCountrequireddata[].availableCount | integer | - |
ratePerMinrequireddata[].ratePerMin | money | 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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get your revenue share balance
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
available = earned minus paid, requested and forfeited.
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
earnedrequireddata.earned | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
paidrequireddata.paid | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
requestedrequireddata.requested | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
availablerequireddata.available | money | 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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get when each payout term next opens
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[] | - |
termrequireddata[].term | string | Payout cadence: 1_1 any day, 7_1 weekly, 15_15 twice monthlyOne of 1_1, 7_1, 15_15 |
labelrequireddata[].label | string | - |
cadencerequireddata[].cadence | string | - |
nextOpenrequireddata[].nextOpen | string (date-time) | ISO-8601 timestamp (UTC) |
openNowrequireddata[].openNow | boolean | - |
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 a revenue share earnings statement
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Totals by number and by origin carrier for a period. format=csv downloads CSV.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
from | query | string | - |
to | query | string | - |
format | query | string | csv returns a CSV download instead of JSONOne of csv |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
periodrequireddata.period | object | - |
fromrequireddata.period.from | string (date-time) | null | ISO-8601 timestamp (UTC) |
torequireddata.period.to | string (date-time) | null | ISO-8601 timestamp (UTC) |
totalsrequireddata.totals | object | - |
callsrequireddata.totals.calls | integer | - |
minutesrequireddata.totals.minutes | number | - |
earnedrequireddata.totals.earned | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
byNumberrequireddata.byNumber | object[] | - |
numberrequireddata.byNumber[].number | string | - |
countryrequireddata.byNumber[].country | string | null | - |
callsrequireddata.byNumber[].calls | integer | - |
minutesrequireddata.byNumber[].minutes | number | - |
earnedrequireddata.byNumber[].earned | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
byOriginrequireddata.byOrigin | object[] | - |
fromCarrierrequireddata.byOrigin[].fromCarrier | string | null | - |
callsrequireddata.byOrigin[].calls | integer | - |
minutesrequireddata.byOrigin[].minutes | number | - |
earnedrequireddata.byOrigin[].earned | money | 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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List your revenue share payout requests
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[] | - |
idrequireddata[].id | string (uuid) | - |
amountrequireddata[].amount | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
cryptoAssetrequireddata[].cryptoAsset | string | null | - |
networkrequireddata[].network | string | null | - |
addressrequireddata[].address | string | null | - |
termrequireddata[].term | string | Payout cadence: 1_1 any day, 7_1 weekly, 15_15 twice monthlyOne of 1_1, 7_1, 15_15 |
statusrequireddata[].status | string | -One of requested, approved, paid, rejected |
txRefrequireddata[].txRef | string | null | - |
createdAtrequireddata[].createdAt | string (date-time) | ISO-8601 timestamp (UTC) |
paidAtrequireddata[].paidAt | string (date-time) | null | 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.
Request a revenue share payout
POST/
- Access
- Dashboard session. API keys are refused with 403. Use a login access token.
- Rate limit
- 100 requests per second (the default)
- Moves money
- Requests a payout of your balance.
Paid in crypto to the address given. Subject to the minimum payout and, when enabled, identity verification.
Request body (application/json)
| Field | Type | Description |
|---|---|---|
amountrequired | number | -min 50 |
cryptoAsset | string | -max 40 chars |
network | string | -max 40 chars |
address | string | -max 200 chars |
termrequired | string | -One of 1_1, 7_1, 15_15 |
Response 201
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
idrequireddata.id | string (uuid) | - |
amountrequireddata.amount | money | USD as a decimal string with exactly 6 places, e.g. "0.012500". |
cryptoAssetrequireddata.cryptoAsset | string | null | - |
networkrequireddata.network | string | null | - |
addressrequireddata.address | string | null | - |
paymentTermrequireddata.paymentTerm | string | Payout cadence: 1_1 any day, 7_1 weekly, 15_15 twice monthlyOne of 1_1, 7_1, 15_15 |
statusrequireddata.status | string | -One of requested |
requestedAtrequireddata.requestedAt | 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. - 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 IVR configurations
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[] | - |
idrequireddata[].id | string (uuid) | - |
userIdrequireddata[].userId | string (uuid) | - |
takingIdrequireddata[].takingId | string (uuid) | null | - |
kindrequireddata[].kind | string | -One of default_music, upload, tts |
namerequireddata[].name | string | null | - |
assetPathrequireddata[].assetPath | string | null | - |
assetMimerequireddata[].assetMime | string | null | Set when audio exists; stream it from the preview endpoint |
ttsTextrequireddata[].ttsText | string | null | - |
ttsVoiceIdrequireddata[].ttsVoiceId | string | null | - |
statusrequireddata[].status | string | -One of draft, active |
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. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create an IVR configuration
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 |
|---|---|---|
kindrequired | string | -One of default_music, upload, tts |
takingId | string (uuid) | null | - |
name | string | null | -max 120 chars |
assetPath | string | null | -max 1024 chars |
ttsText | string | null | -max 4000 chars |
ttsVoiceId | string | null | -max 120 chars |
status | string | -One of draft, active |
Response 201
| Field | Type | Description |
|---|---|---|
datarequired | object | Same fields as RevshareIvrConfig, 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.
Update an IVR configuration
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 |
|---|---|---|
kind | string | -One of default_music, upload, tts |
takingId | string (uuid) | null | - |
name | string | null | -max 120 chars |
assetPath | string | null | -max 1024 chars |
ttsText | string | null | -max 4000 chars |
ttsVoiceId | string | null | -max 120 chars |
status | string | -One of draft, active |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | Same fields as RevshareIvrConfig, 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 an IVR configuration
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 | - |
messagerequireddata.message | string | - |
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.
Preview text-to-speech audio before saving
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 |
|---|---|---|
kind | string | - |
ttsTextrequired | string | -max 600 chars |
ttsVoiceIdrequired | string | - |
Response 200 (audio/mpeg)
The spoken text as MP3 audio.
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.
Generate the audio for a text-to-speech IVR
POST/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Renders and stores the audio, and returns it.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Response 200 (audio/mpeg)
The generated audio.
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.
Play an IVR configuration's audio
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 (audio/mpeg)
The stored audio, in the media type it was saved with.
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 audio for an IVR
POST/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Send a multipart file (with optional takingId and name fields), or JSON with contentBase64 as below.
Request body (application/json)
| Field | Type | Description |
|---|---|---|
contentBase64 | string | - |
contentType | string | null | -max 120 chars |
takingId | string (uuid) | null | - |
name | string | null | -max 120 chars |
Response 201
| Field | Type | Description |
|---|---|---|
datarequired | object | Same fields as RevshareIvrConfig, 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.
Attach an IVR to a number you hold
PATCH/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Send ivrConfigId: null to fall back to the default music loop.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Request body (application/json)
| Field | Type | Description |
|---|---|---|
ivrConfigId | string (uuid) | null | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | Same fields as RevshareTaking, 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 the IVR set on a number you hold
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 | - |
moderequireddata.mode | string | -One of single, split, geo |
variantsrequireddata.variants | object[] | - |
idrequireddata.variants[].id | string (uuid) | - |
ivrConfigIdrequireddata.variants[].ivrConfigId | string (uuid) | - |
namerequireddata.variants[].name | string | - |
kindrequireddata.variants[].kind | string | null | -One of default_music, upload, tts |
weightPctrequireddata.variants[].weightPct | integer | null | - |
originIsorequireddata.variants[].originIso | string | null | - |
originCountryrequireddata.variants[].originCountry | string | null | - |
enabledrequireddata.variants[].enabled | boolean | 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.
Replace the IVR set on a number you hold
PUT/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
single: exactly one variant. split: two or more, each with a weight. geo: one per caller country plus at most one default.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Request body (application/json)
| Field | Type | Description |
|---|---|---|
moderequired | string | -One of single, split, geo |
variantsrequired | object[] | - |
ivrConfigIdrequiredvariants[].ivrConfigId | string (uuid) | - |
weightPctvariants[].weightPct | integer | null | -1 to 100 |
originIsovariants[].originIso | string | null | -max 2 chars |
originCountryvariants[].originCountry | string | null | -max 120 chars |
enabledvariants[].enabled | boolean | null | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | Same fields as RevshareIvrSet, 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.
Compare IVR variants on a number you hold
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Calls, minutes and earnings per variant and per caller country, with the best-earning variant once two have calls.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
from | query | string | - |
to | query | string | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
periodrequireddata.period | object | - |
fromrequireddata.period.from | string (date-time) | null | ISO-8601 timestamp (UTC) |
torequireddata.period.to | string (date-time) | null | ISO-8601 timestamp (UTC) |
byVariantrequireddata.byVariant | object[] | - |
byCountryrequireddata.byCountry | object[] | - |
isorequireddata.byCountry[].iso | string | null | - |
countryrequireddata.byCountry[].country | string | null | - |
callsrequireddata.byCountry[].calls | integer | - |
minutesrequireddata.byCountry[].minutes | number | - |
earningsrequireddata.byCountry[].earnings | number | - |
winnerrequireddata.winner | string (uuid) | 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.