API reference
Rate sheets
Upload and manage per-prefix rate decks on routes you sell.
BrowseRate sheets
List rate-sheet imports for a route
GET/
- Access
- API key. Scoped keys need
routes:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
routeIdrequiredstring (uuid) · data[].routeId
filenamerequiredstring · data[].filename
fileTyperequiredstring · data[].fileType
statusrequiredstring · data[].status
rowCountrequiredinteger | null · data[].rowCount
columnMappingany · data[].columnMapping
previewRowsany · data[].previewRows
warningsany · data[].warnings
currencyrequiredstring | null · data[].currency
fxRaterequiredstring | null · data[].fxRate
errorMessagerequiredstring | null · data[].errorMessage
createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)appliedAtrequiredstring (date-time) | null · data[].appliedAt
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 rate sheet to a route
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 10 requests per minute
Multipart upload (field file, CSV or Excel). Creates an import to preview, diff and apply; nothing is priced until you apply it.
Parameters
idrequiredpath · string
Request body (multipart/form-data)
filerequiredstring
CSV or Excel rate sheet (binary)
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
routeIdrequiredstring (uuid) · data.routeId
filenamerequiredstring · data.filename
fileTyperequiredstring · data.fileType
statusrequiredstring · data.status
rowCountrequiredinteger | null · data.rowCount
columnMappingany · data.columnMapping
previewRowsany · data.previewRows
warningsany · data.warnings
currencyrequiredstring | null · data.currency
fxRaterequiredstring | null · data.fxRate
errorMessagerequiredstring | null · data.errorMessage
createdAtrequiredstring (date-time) · data.createdAt
ISO-8601 timestamp (UTC)appliedAtrequiredstring (date-time) | null · data.appliedAt
ISO-8601 timestamp (UTC)rawSampleany · data.rawSample
summaryany · data.summary
confidenceany · data.confidence
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.
Upload and apply a rate sheet in one step
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 10 requests per minute
Applies straight away when the sheet reads unambiguously; otherwise returns outcome: "review" with the reasons.
Parameters
idrequiredpath · string
Request body (multipart/form-data)
filerequiredstring
CSV or Excel rate sheet (binary)
Response 200
datarequiredobject
outcomerequiredstring · data.outcome
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 rate-sheet import
GET/
- Access
- API key. Scoped keys need
routes:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
importIdrequiredpath · string
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
routeIdrequiredstring (uuid) · data.routeId
filenamerequiredstring · data.filename
fileTyperequiredstring · data.fileType
statusrequiredstring · data.status
rowCountrequiredinteger | null · data.rowCount
columnMappingany · data.columnMapping
previewRowsany · data.previewRows
warningsany · data.warnings
currencyrequiredstring | null · data.currency
fxRaterequiredstring | null · data.fxRate
errorMessagerequiredstring | null · data.errorMessage
createdAtrequiredstring (date-time) · data.createdAt
ISO-8601 timestamp (UTC)appliedAtrequiredstring (date-time) | null · data.appliedAt
ISO-8601 timestamp (UTC)rawSampleany · data.rawSample
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.
Preview a rate-sheet import
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
importIdrequiredpath · string
Request body (application/json)
fxRatenumber
Multiply source rates by this to convert to USDmin 0mappingany
Column mapping overrideoverridesobject
defaultIncrementstring | null
increaseEffectiveAtstring | string (date-time) | null
When the sheet's increases take effect: "now", an ISO instant, or omitted for the default notice period (diff and apply only)
Response 200
datarequiredobject
Parsed rows as they would be priced
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 a rate-sheet import with the live deck
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
importIdrequiredpath · string
Request body (application/json)
fxRatenumber
Multiply source rates by this to convert to USDmin 0mappingany
Column mapping overrideoverridesobject
defaultIncrementstring | null
increaseEffectiveAtstring | string (date-time) | null
When the sheet's increases take effect: "now", an ISO instant, or omitted for the default notice period (diff and apply only)
Response 200
datarequiredobject
Added, changed and removed rows
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.
Apply a rate-sheet import
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Rate increases put list-rate buyers on hold until they accept the new rate.
Parameters
idrequiredpath · string
importIdrequiredpath · string
Request body (application/json)
fxRatenumber
Multiply source rates by this to convert to USDmin 0mappingany
Column mapping overrideoverridesobject
defaultIncrementstring | null
increaseEffectiveAtstring | string (date-time) | null
When the sheet's increases take effect: "now", an ISO instant, or omitted for the default notice period (diff and apply only)
Response 200
datarequiredobject
appliedrequiredinteger · data.applied
addedrequiredinteger · data.added
changedrequiredinteger · data.changed
removedrequiredinteger · data.removed
droppedBlockedrequiredinteger · data.droppedBlocked
diffany · data.diff
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.
Roll a route back to an earlier rate-sheet import
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
importIdrequiredpath · string
Response 200
datarequiredobject
appliedrequiredinteger · data.applied
addedrequiredinteger · data.added
changedrequiredinteger · data.changed
removedrequiredinteger · data.removed
droppedBlockedrequiredinteger · data.droppedBlocked
diffany · data.diff
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.
Reapply a rate-sheet import with new settings
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
importIdrequiredpath · string
Request body (application/json)
fxRatenumber
Multiply source rates by this to convert to USDmin 0mappingany
Column mapping overrideoverridesobject
defaultIncrementstring | null
increaseEffectiveAtstring | string (date-time) | null
When the sheet's increases take effect: "now", an ISO instant, or omitted for the default notice period (diff and apply only)
Response 200
datarequiredobject
appliedrequiredinteger · data.applied
addedrequiredinteger · data.added
changedrequiredinteger · data.changed
removedrequiredinteger · data.removed
droppedBlockedrequiredinteger · data.droppedBlocked
diffany · data.diff
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.
Publish an A-Z deck as per-country listings
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 6 requests per minute
Parameters
idrequiredpath · string
Request body (application/json)
perCarrierboolean
Response 200
datarequiredobject
The listings created
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.
Collapse per-country listings back into one deck
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Response 200
datarequiredobject
removedrequiredinteger · data.removed
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 per-country listings of a deck
GET/
- Access
- API key. Scoped keys need
routes:read. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Response 200
datarequiredobject[]
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 per-destination rates on a route
GET/
- Access
- Key optional. A key or token personalises the answer.
- Rate limit
- 100 requests per second (the default)
Public for public routes. Buyers see cleaned destination names and no upstream operator labels.
Parameters
idrequiredpath · string
searchquery · string
limitquery · integer
offsetquery · integer
Response 200
ratesrequiredobject[]
idrequiredstring (uuid) · rates[].id
routeIdrequiredstring (uuid) · rates[].routeId
destinationNamerequiredstring · rates[].destinationName
operatorrequiredstring | null · rates[].operator
prefixrequiredstring · rates[].prefix
ratePerUnitrequiredmoney · rates[].ratePerUnit
USD as a decimal string with exactly 6 places, e.g. "0.012500".billingIncrementrequiredstring | null · rates[].billingIncrement
minDurationrequiredinteger | null · rates[].minDuration
effectiveDaterequiredstring (date-time) | null · rates[].effectiveDate
ISO-8601 timestamp (UTC)statusrequiredstring · rates[].status
mccMncstring | null · rates[].mccMnc
SMS sheets priced by network code: the network the row price came from ("214" = whole country)operatorRatesobject[] | null · rates[].operatorRates
SMS sheets priced by network: the price per destination network (charged per network whennetworkPricedis true). A message is charged its network's rate (networks not listed pay the All Operators rate when there is one);ratePerUnitis the price for other or unknown networks. The network is determined from the number's range (ported numbers may be priced at the network the range belongs to)mccMncrequiredstring · rates[].operatorRates[].mccMnc
"214-07" for one network; "214" for All Operatorsoperatorrequiredstring | null · rates[].operatorRates[].operator
raterequiredmoney · rates[].operatorRates[].rate
USD as a decimal string with exactly 6 places, e.g. "0.012500".networkPricedboolean · rates[].networkPriced
True when each SMS on this row is charged its destination network's rate fromoperatorRates;ratePerUnitthen applies to other or unknown networkstotalrequiredinteger
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.
Add a rate to your route's deck
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
destinationNamerequiredstring
max 255 charsoperatorstring | null
max 120 charsprefixrequiredstring
max 24 charsratePerUnitrequiredstring
billingIncrementstring
max 10 charsminDurationinteger
min 0
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
routeIdrequiredstring (uuid) · data.routeId
destinationNamerequiredstring · data.destinationName
operatorrequiredstring | null · data.operator
prefixrequiredstring · data.prefix
ratePerUnitrequiredmoney · data.ratePerUnit
USD as a decimal string with exactly 6 places, e.g. "0.012500".billingIncrementrequiredstring | null · data.billingIncrement
minDurationrequiredinteger | null · data.minDuration
effectiveDaterequiredstring (date-time) | null · data.effectiveDate
ISO-8601 timestamp (UTC)statusrequiredstring · data.status
mccMncstring | null · data.mccMnc
SMS sheets priced by network code: the network the row price came from ("214" = whole country)operatorRatesobject[] | null · data.operatorRates
SMS sheets priced by network: the price per destination network (charged per network whennetworkPricedis true). A message is charged its network's rate (networks not listed pay the All Operators rate when there is one);ratePerUnitis the price for other or unknown networks. The network is determined from the number's range (ported numbers may be priced at the network the range belongs to)mccMncrequiredstring · data.operatorRates[].mccMnc
"214-07" for one network; "214" for All Operatorsoperatorrequiredstring | null · data.operatorRates[].operator
raterequiredmoney · data.operatorRates[].rate
USD as a decimal string with exactly 6 places, e.g. "0.012500".networkPricedboolean · data.networkPriced
True when each SMS on this row is charged its destination network's rate fromoperatorRates;ratePerUnitthen applies to other or unknown networksupdatedrequiredboolean · 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.
Export a route's rates as CSV
GET/
- Access
- Key optional. A key or token personalises the answer.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Response 200 (text/csv)
The deck as CSV (attachment).
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.
Add many rates to your route's deck
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Request body (application/json)
rowsrequiredobject[]
destinationNamestring · rows[].destinationName
max 255 charsoperatorstring | null · rows[].operator
max 120 charsprefixrequiredstring · rows[].prefix
max 24 charsratePerUnitrequiredstring · rows[].ratePerUnit
max 32 charsbillingIncrementstring · rows[].billingIncrement
max 10 charsminDurationinteger · rows[].minDuration
min 0
Response 201
datarequiredobject
addedrequiredinteger · data.added
updatedrequiredinteger · data.updated
skippedrequiredinteger · data.skipped
skippedRowsrequiredobject[] · data.skippedRows
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.
Edit or block one rate in your deck
PATCH/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
rateIdrequiredpath · string
Request body (application/json)
destinationNamestring
max 255 charsratePerUnitstring
billingIncrementstring | null
max 10 charsminDurationinteger | null
min 0blockedboolean
Response 200
datarequiredobject
Same fields as RouteRate, 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 one rate from your deck
DELETE/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
rateIdrequiredpath · string
Response 200
datarequiredobject
messagerequiredstring · data.message
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List scheduled rate changes on your route
GET/
- Access
- API key. Scoped keys need
routes:read. - Rate limit
- 100 requests per second (the default)
With how many buyers are held by each change and how many already accepted it.
Parameters
idrequiredpath · string
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
kindrequiredstring · data[].kind
statusrequiredstring · data[].status
effectiveDaterequiredstring (date-time) · data[].effectiveDate
ISO-8601 timestamp (UTC)increasesrequiredinteger · data[].increases
decreasesrequiredinteger · data[].decreases
addedrequiredinteger · data[].added
removedrequiredinteger · data[].removed
largestIncreasePctrequirednumber | null · data[].largestIncreasePct
sampleOldRaterequiredmoney | null · data[].sampleOldRate
US dollars as a decimal string with exactly 6 decimal places, e.g. "0.012500". Do money arithmetic with a decimal type, not floating point. USD as a decimal string with exactly 6 places, e.g. "0.012500".sampleNewRaterequiredmoney | null · data[].sampleNewRate
US dollars as a decimal string with exactly 6 decimal places, e.g. "0.012500". Do money arithmetic with a decimal type, not floating point. USD as a decimal string with exactly 6 places, e.g. "0.012500".flatOldPricerequiredmoney | null · data[].flatOldPrice
US dollars as a decimal string with exactly 6 decimal places, e.g. "0.012500". Do money arithmetic with a decimal type, not floating point. USD as a decimal string with exactly 6 places, e.g. "0.012500".flatNewPricerequiredmoney | null · data[].flatNewPrice
US dollars as a decimal string with exactly 6 decimal places, e.g. "0.012500". Do money arithmetic with a decimal type, not floating point. USD as a decimal string with exactly 6 places, e.g. "0.012500".createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)notifiedAtrequiredstring (date-time) | null · data[].notifiedAt
ISO-8601 timestamp (UTC)promotedAtrequiredstring (date-time) | null · data[].promotedAt
ISO-8601 timestamp (UTC)cancelledAtrequiredstring (date-time) | null · data[].cancelledAt
ISO-8601 timestamp (UTC)heldPurchasesrequiredinteger | null · data[].heldPurchases
acceptedPurchasesrequiredinteger · data[].acceptedPurchases
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.
Schedule a price change on a one-price route
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
An increase takes effect after the notice period when list-rate buyers are bound; buyers are notified and can accept in advance. Replaces any change already scheduled.
Parameters
idrequiredpath · string
Request body (application/json)
newPricerequiredstring
effectiveDatestring (date-time) | null
Omit for the default notice period
Response 201
datarequiredobject
scheduledrequiredboolean · data.scheduled
False when the change applied immediatelychangeIdrequiredstring (uuid) · data.changeId
effectiveDaterequiredstring (date-time) · data.effectiveDate
ISO-8601 timestamp (UTC)boundBuyersrequiredinteger · data.boundBuyers
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.
Withdraw a scheduled rate change
POST/
- Access
- API key. Scoped keys need
routes:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
changeIdrequiredpath · string
Response 200
datarequiredobject
cancelledrequiredboolean · data.cancelled
One oftrue
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.