API reference
Dialer
Outbound dialer and SMS campaigns, their numbers, caller IDs and results.
BrowseDialer
Ask the dialer assistant a question or give it an instruction
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 20 requests per minute
A conversational assistant that reads and operates YOUR dialer (campaigns, numbers, caller IDs). Send the history from the previous reply to continue a conversation. actions lists what it did, including any writes.
Request body (application/json)
messagerequiredstring
max 4000 charshistoryany[]
Thehistoryreturned by the previous turn
Response 200
datarequiredobject
replyrequiredstring · data.reply
actionsrequiredobject[] · data.actions
toolrequiredstring · data.actions[].tool
okrequiredboolean · data.actions[].ok
writerequiredboolean · data.actions[].write
suggestionsrequiredstring[] · data.suggestions
historyrequiredany[] · data.history
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 dialer analytics across all your campaigns
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Defaults to the last 30 days when from/to are omitted.
Parameters
fromquery · string
ISO date/timetoquery · string
ISO date/time
Response 200
datarequiredobject
windowrequiredobject · data.window
fromrequiredstring (date-time) · data.window.from
ISO-8601 timestamp (UTC)torequiredstring (date-time) · data.window.to
ISO-8601 timestamp (UTC)campaignsrequiredobject · data.campaigns
Campaign counts by status, plustotalheadlinerequiredobject · data.headline
dialedrequiredinteger · data.headline.dialed
answeredrequiredinteger · data.headline.answered
failedrequiredinteger · data.headline.failed
connectRaterequirednumber · data.headline.connectRate
acdrequirednumber · data.headline.acd
talkMinutesrequirednumber · data.headline.talkMinutes
spendrequirednumber · data.headline.spend
USD, a display numbercostPerAnsweredrequirednumber · data.headline.costPerAnswered
costPerMinuterequirednumber · data.headline.costPerMinute
topDestinationsrequiredobject[] · data.topDestinations
dialedrequiredinteger · data.topDestinations[].dialed
answeredrequiredinteger · data.topDestinations[].answered
asrrequirednumber · data.topDestinations[].asr
prefixrequiredstring · data.topDestinations[].prefix
byHourrequiredobject[] · data.byHour
dailyrequiredobject[] · data.daily
dialedrequiredinteger · data.daily[].dialed
answeredrequiredinteger · data.daily[].answered
asrrequirednumber · data.daily[].asr
dayrequiredstring · data.daily[].day
topCampaignsrequiredobject[] · data.topCampaigns
dialedrequiredinteger · data.topCampaigns[].dialed
answeredrequiredinteger · data.topCampaigns[].answered
asrrequirednumber · data.topCampaigns[].asr
idrequiredstring (uuid) · data.topCampaigns[].id
namerequiredstring · data.topCampaigns[].name
statusrequiredstring · data.topCampaigns[].status
One ofdraft,ready,running,paused,completed,failed
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 detailed analytics for one campaign
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
campaignrequiredobject · data.campaign
idrequiredstring (uuid) · data.campaign.id
namerequiredstring · data.campaign.name
statusrequiredstring · data.campaign.status
One ofdraft,ready,running,paused,completed,failedkindrequiredstring · data.campaign.kind
One ofvoice,smsheadlinerequiredobject · data.headline
dialedrequiredinteger · data.headline.dialed
answeredrequiredinteger · data.headline.answered
failedrequiredinteger · data.headline.failed
connectRaterequirednumber · data.headline.connectRate
acdrequirednumber · data.headline.acd
talkMinutesrequirednumber · data.headline.talkMinutes
spendrequirednumber · data.headline.spend
USD, a display numbercostPerAnsweredrequirednumber · data.headline.costPerAnswered
costPerMinuterequirednumber · data.headline.costPerMinute
totalNumbersrequiredinteger · data.headline.totalNumbers
pendingrequiredinteger · data.headline.pending
asrrequirednumber · data.headline.asr
bestHourrequiredobject | null · data.headline.bestHour
hourrequiredinteger · data.headline.bestHour.hour
asrrequirednumber · data.headline.bestHour.asr
tzrequiredstring · data.headline.bestHour.tz
dispositionsrequiredobject[] · data.dispositions
statusrequiredstring · data.dispositions[].status
countrequiredinteger · data.dispositions[].count
pctrequirednumber · data.dispositions[].pct
failureCausesrequiredobject[] · data.failureCauses
coderequiredinteger · data.failureCauses[].code
labelrequiredstring · data.failureCauses[].label
countrequiredinteger · data.failureCauses[].count
byHourrequiredobject[] · data.byHour
byDayOfWeekrequiredobject[] · data.byDayOfWeek
dialedrequiredinteger · data.byDayOfWeek[].dialed
answeredrequiredinteger · data.byDayOfWeek[].answered
asrrequirednumber · data.byDayOfWeek[].asr
dowrequiredinteger · data.byDayOfWeek[].dow
byDestinationrequiredobject[] · data.byDestination
dialedrequiredinteger · data.byDestination[].dialed
answeredrequiredinteger · data.byDestination[].answered
asrrequirednumber · data.byDestination[].asr
prefixrequiredstring · data.byDestination[].prefix
acdrequirednumber · data.byDestination[].acd
retryEffectivenessrequiredobject[] · data.retryEffectiveness
dialedrequiredinteger · data.retryEffectiveness[].dialed
answeredrequiredinteger · data.retryEffectiveness[].answered
asrrequirednumber · data.retryEffectiveness[].asr
attemptrequiredinteger · data.retryEffectiveness[].attempt
dailyrequiredobject[] · data.daily
dialedrequiredinteger · data.daily[].dialed
answeredrequiredinteger · data.daily[].answered
asrrequirednumber · data.daily[].asr
dayrequiredstring · data.daily[].day
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 your dialer and SMS campaigns
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
statusquery · string
One of draft, ready, running, paused, completed, failedsearchquery · string
cursorquery · string (uuid)
limitquery · integer
Default 25
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
userIdrequiredstring (uuid) · data[].userId
routeIdrequiredstring (uuid) | null · data[].routeId
The purchased route the campaign sends overnamerequiredstring · data[].name
kindrequiredstring · data[].kind
One ofvoice,smsenvironmentrequiredstring · data[].environment
test = created with a test key; simulated, never really dialled or billedOne oflive,teststatusrequiredstring · data[].status
One ofdraft,ready,running,paused,completed,failedmessageBodyrequiredstring | null · data[].messageBody
SMS campaigns: the message textsenderIdrequiredstring | null · data[].senderId
SMS campaigns: the sender IDaiAgentIdrequiredstring (uuid) | null · data[].aiAgentId
Voice campaigns: the AI voice agent that handles answered callsconcurrencyrequiredinteger · data[].concurrency
maxCallDurationrequiredinteger · data[].maxCallDuration
SecondscallIntervalrequiredinteger · data[].callInterval
platformFeePerCallrequiredmoney · data[].platformFeePerCall
USD as a decimal string with exactly 6 places, e.g. "0.012500".totalNumbersrequiredinteger · data[].totalNumbers
totalClisrequiredinteger · data[].totalClis
cliSetIdrequiredstring (uuid) | null · data[].cliSetId
cliStrategyrequiredobject | null · data[].cliStrategy
Caller-ID rotation strategy, when a caller-ID set is assignednumbersDialedrequiredinteger · data[].numbersDialed
numbersAnsweredrequiredinteger · data[].numbersAnswered
numbersFailedrequiredinteger · data[].numbersFailed
totalDurationSecondsrequiredinteger · data[].totalDurationSeconds
windowStartHourrequiredinteger | null · data[].windowStartHour
windowEndHourrequiredinteger | null · data[].windowEndHour
windowTzrequiredstring | null · data[].windowTz
maxAttemptsrequiredinteger · data[].maxAttempts
retryDelayMinutesrequiredinteger · data[].retryDelayMinutes
maxSpendrequiredmoney | null · data[].maxSpend
Budget cap; the campaign pauses when reached USD as a decimal string with exactly 6 places, e.g. "0.012500".scheduleAtrequiredstring (date-time) | null · data[].scheduleAt
ISO-8601 timestamp (UTC)startedAtrequiredstring (date-time) | null · data[].startedAt
ISO-8601 timestamp (UTC)completedAtrequiredstring (date-time) | null · data[].completedAt
ISO-8601 timestamp (UTC)createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)updatedAtrequiredstring (date-time) · data[].updatedAt
ISO-8601 timestamp (UTC)nextCursorrequiredstring | null
Pass ascursorto fetch the next page; null on the last page.hasMorerequiredboolean
True when another page exists.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create a dialer or SMS campaign
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Creates the campaign in draft. Add numbers (POST /campaigns/{id}/numbers or /contacts/import), then start it with POST /campaigns/{id}/control. A campaign created with a test key is simulated and never really dialled or billed.
Request body (application/json)
namerequiredstring
max 255 charsrouteIdrequiredstring (uuid)
kindstring
One ofvoice,smsmessageBodystring
max 1600 charssenderIdstring
max 20 charstargetAcdstring
targetAsrstring
concurrencyinteger
1 to 128, default 1maxCallDurationinteger
1 to 3600, default 300callIntervalinteger
0 to 60000, default 0notesstring
max 2000 charswindowStartHourinteger
0 to 23windowEndHourinteger
0 to 23windowTzstring
max 64 charsmaxAttemptsinteger
1 to 10, default 1retryDelayMinutesinteger
1 to 1440, default 60maxSpendstring
scheduleAtstring (date-time)
aiAgentIdstring (uuid) | null
Response 201
datarequiredobject
Same fields as DialerCampaign, 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.
Get a campaign
GET/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as DialerCampaign, 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.
Update a campaign
PUT/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
namestring
max 255 charsmessageBodystring | null
max 1600 charssenderIdstring | null
max 20 charstargetAcdstring | null
targetAsrstring | null
concurrencyinteger
1 to 128maxCallDurationinteger
1 to 3600callIntervalinteger
0 to 60000notesstring | null
max 2000 charswindowStartHourinteger | null
0 to 23windowEndHourinteger | null
0 to 23windowTzstring | null
max 64 charsmaxAttemptsinteger
1 to 10retryDelayMinutesinteger
1 to 1440maxSpendstring | null
scheduleAtstring (date-time) | null
aiAgentIdstring (uuid) | null
Response 200
datarequiredobject
Same fields as DialerCampaign, 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 campaign
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
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.
Start, pause or stop a campaign
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
- Real traffic
- Starting a campaign dials real numbers or sends real messages, billed as they happen.
Starting spends money: calls and messages are billed to your balance as they happen. Start is refused with VALIDATION_ERROR when the balance is insufficient or the campaign has no numbers.
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
actionrequiredstring
One ofstart,pause,stop
Response 200
datarequiredobject
Same fields as DialerCampaign, 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.
Mark a draft campaign ready to start
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Status only; every start-time check still runs when you start it. Refused when the campaign has no contacts yet.
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as DialerCampaign, 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 live progress and spend for a campaign
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
totalNumbersrequiredinteger · data.totalNumbers
numbersDialedrequiredinteger · data.numbersDialed
numbersAnsweredrequiredinteger · data.numbersAnswered
numbersFailedrequiredinteger · data.numbersFailed
numbersPendingrequiredinteger · data.numbersPending
totalDurationSecondsrequiredinteger · data.totalDurationSeconds
asrrequirednumber · data.asr
Answer-seizure ratio, percentacdrequirednumber · data.acd
Average call duration, secondsprogressrequirednumber · data.progress
Percent of numbers dialledactiveCallsrequiredinteger · data.activeCalls
totalSpendrequirednumber · data.totalSpend
USD spent so far (a display number, not a 6-decimal string)maxSpendrequirednumber | null · data.maxSpend
Budget cap in USD, as a numberbudgetProgressrequirednumber | null · data.budgetProgress
Percent of the budget used
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.
Parse a contact file and suggest a column mapping
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 20 requests per minute
Upload a CSV or XLSX (multipart file part, or JSON contentBase64/content, up to about 12 MB). Returns the detected columns, a suggested mapping, a preview and the data rows to send back to /contacts/import. Nothing is saved.
Request body (application/json)
filenamestring
max 255 charscontentBase64string
The file, base64-encodedcontentstring
The file as plain text (CSV)
Response 200
datarequiredobject
hasHeaderrequiredboolean · data.hasHeader
columnsrequiredobject[] · data.columns
indexrequiredinteger · data.columns[].index
labelrequiredstring · data.columns[].label
sampleRowsrequiredstring[][] · data.sampleRows
dataRowsrequiredstring[][] · data.dataRows
suggestedMappingrequiredobject · data.suggestedMapping
headerRowIndexrequiredinteger · data.suggestedMapping.headerRowIndex
0-based header row, or -1 when the file has nonecolumnsrequiredobject · data.suggestedMapping.columns
phonerequiredinteger · data.suggestedMapping.columns.phone
namerequiredinteger | null · data.suggestedMapping.columns.name
firstNamerequiredinteger | null · data.suggestedMapping.columns.firstName
lastNamerequiredinteger | null · data.suggestedMapping.columns.lastName
extraColumnsrequiredinteger[] · data.suggestedMapping.extraColumns
Columns kept as per-contact fieldsnotesstring · data.suggestedMapping.notes
rowCountrequiredinteger · data.rowCount
truncatedrequiredboolean · data.truncated
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.
Import mapped contacts into a campaign or a saved list
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Rows are re-normalised to E.164 and de-duplicated server-side, so what the preview showed is what is stored.
Request body (application/json)
rowsrequiredstring[][]
The dataRows returned by /contacts/parsemappingrequiredobject
Same fields as DialerContactMapping, shown earlier on this page.columnLabelsobject[]
indexrequiredinteger · columnLabels[].index
labelrequiredstring · columnLabels[].label
max 255 charscampaignIdstring (uuid)
listIdstring (uuid)
saveAsListNamestring
max 255 charskeepDraftboolean
Response 201
datarequiredobject
importedrequiredinteger · data.imported
skippedInvalidrequiredinteger · data.skippedInvalid
skippedDuprequiredinteger · data.skippedDup
samplerequiredobject[] · data.sample
numberrequiredstring · data.sample[].number
namerequiredstring | null · data.sample[].name
fieldsrequiredobject | null · data.sample[].fields
rejectsrequiredobject[] · data.rejects
rowrequiredinteger · data.rejects[].row
valuerequiredstring · data.rejects[].value
reasonrequiredstring · data.rejects[].reason
savedListIdstring (uuid) | null · data.savedListId
campaignobject · data.campaign
Same fields as DialerCampaign, shown earlier on this page.totalNumbersinteger · data.totalNumbers
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 a campaign’s numbers with their call outcome
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
statusquery · string
One of pending, dialing, answered, no_answer, busy, failed, skippedcursorquery · string (uuid)
limitquery · integer
Default 25
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
campaignIdrequiredstring (uuid) · data[].campaignId
numberrequiredstring · data[].number
statusrequiredstring · data[].status
One ofpending,dialing,answered,no_answer,busy,failed,skippedsipResponseCoderequiredinteger | null · data[].sipResponseCode
durationSecondsrequiredinteger | null · data[].durationSeconds
attemptrequiredinteger · data[].attempt
nextAttemptAtrequiredstring (date-time) | null · data[].nextAttemptAt
ISO-8601 timestamp (UTC)dialedAtrequiredstring (date-time) | null · data[].dialedAt
ISO-8601 timestamp (UTC)answeredAtrequiredstring (date-time) | null · data[].answeredAt
ISO-8601 timestamp (UTC)completedAtrequiredstring (date-time) | null · data[].completedAt
ISO-8601 timestamp (UTC)createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)costrequiredmoney | null · data[].cost
Cost of the latest call to this number, when there is one USD as a decimal string with exactly 6 places, e.g. "0.012500".clirequiredstring | null · data[].cli
Caller ID presented on the latest callsipCauserequiredstring | null · data[].sipCause
nextCursorrequiredstring | null
Pass ascursorto fetch the next page; null on the last page.hasMorerequiredboolean
True when another page exists.
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 destination numbers to a campaign
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Invalid and duplicate numbers are skipped and reported in rejects, not failed. The campaign becomes ready unless keepDraft is set.
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
numbersrequiredstring[]
keepDraftboolean
Response 201
datarequiredobject
countrequiredinteger · data.count
Same asinserted(kept for existing clients)insertedrequiredinteger · data.inserted
skippedrequiredinteger · data.skipped
rejectsrequiredobject[] · data.rejects
Up to 200 rejected entries with the reasonvaluerequiredstring · data.rejects[].value
reasonrequiredstring · data.rejects[].reason
totalNumbersrequiredinteger · data.totalNumbers
campaignrequiredobject · data.campaign
Same fields as DialerCampaign, 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.
Remove every number from a campaign
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as Message, 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.
Remove one number from a campaign
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
numberIdrequiredpath · string (uuid)
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
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 campaign’s caller IDs
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
campaignIdrequiredstring (uuid) · data[].campaignId
clirequiredstring · data[].cli
statusrequiredstring · data[].status
One ofpending,verified,failedverifiedrequiredboolean · data[].verified
verifiedAtrequiredstring (date-time) | null · data[].verifiedAt
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.
Add caller IDs to a campaign
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Up to 100 per request. Caller IDs rotate round-robin across calls unless a caller-ID set is assigned.
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
clisrequiredstring[]
Response 201
datarequiredobject
countrequiredinteger · data.count
insertedrequiredinteger · data.inserted
skippedrequiredinteger · data.skipped
rejectsrequiredobject[] · data.rejects
valuerequiredstring · data.rejects[].value
reasonrequiredstring · data.rejects[].reason
totalClisrequiredinteger · data.totalClis
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.
Remove every caller ID from a campaign
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as Message, 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 your caller-ID sets
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
userIdrequiredstring (uuid) · data[].userId
namerequiredstring · data[].name
descriptionrequiredstring | null · data[].description
createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)updatedAtrequiredstring (date-time) · data[].updatedAt
ISO-8601 timestamp (UTC)cliCountrequiredinteger · data[].cliCount
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create a caller-ID set
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Request body (application/json)
namerequiredstring
max 255 charsdescriptionstring
max 2000 chars
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
userIdrequiredstring (uuid) · data.userId
namerequiredstring · data.name
descriptionrequiredstring | null · data.description
createdAtrequiredstring (date-time) · data.createdAt
ISO-8601 timestamp (UTC)updatedAtrequiredstring (date-time) · data.updatedAt
ISO-8601 timestamp (UTC)
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 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 caller-ID set
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as DialerCallerIdSet, 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.
Rename or describe a caller-ID set
PATCH/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
namestring
max 255 charsdescriptionstring | null
max 2000 chars
Response 200
datarequiredobject
Same fields as DialerCallerIdSet, 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 caller-ID set
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Campaigns using the set are detached from it and fall back to their own caller-ID list.
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
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 caller IDs in a set, with usage stats
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
setIdrequiredstring (uuid) · data[].setId
clirequiredstring · data[].cli
labelrequiredstring | null · data[].label
countryrequiredstring | null · data[].country
countryCoderequiredstring | null · data[].countryCode
areaCoderequiredstring | null · data[].areaCode
sourcerequiredstring · data[].source
One ofupload,paste,manual,revshare,didenabledrequiredboolean · data[].enabled
weightrequiredinteger · data[].weight
dailyCaprequiredinteger | null · data[].dailyCap
campaignCaprequiredinteger | null · data[].campaignCap
hourlyCaprequiredinteger | null · data[].hourlyCap
cooldownSecrequiredinteger | null · data[].cooldownSec
statusrequiredstring · data[].status
One ofactive,resting,retiredtagsrequiredstring[] · data[].tags
notesrequiredstring | null · data[].notes
createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)statsrequiredobject · data[].stats
callsrequiredinteger · data[].stats.calls
connectsrequiredinteger · data[].stats.connects
connectRaterequirednumber · data[].stats.connectRate
PercentavgSecrequirednumber · data[].stats.avgSec
todayUsedrequiredinteger · data[].stats.todayUsed
campaignUsedrequiredinteger · data[].stats.campaignUsed
lastUsedAtrequiredstring (date-time) | null · data[].stats.lastUsedAt
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.
Add caller IDs to a set
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Send ONE of: clis (a list), paste (free text), a file (multipart file part, or contentBase64/content). Numbers must be E.164; invalid and duplicate entries are reported in rejects.
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
clisstring | object[]
A manual list of E.164 caller IDs, bare or with a labelclistring · clis[].cli
labelstring | null · clis[].label
max 120 charspastestring
A pasted block of numbersmax 2000000 charsfilenamestring
max 255 charscontentBase64string
A CSV/XLSX file, base64-encodedcontentstring
A CSV file as plain text
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. - 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.
Update one caller ID in a set
PATCH/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Enable or disable it, and set its weight, caps, cooldown, status, tags, label or notes.
Parameters
idrequiredpath · string (uuid)
nidrequiredpath · string (uuid)
Request body (application/json)
enabledboolean
weightinteger
1 to 1000dailyCapinteger | null
min 0campaignCapinteger | null
min 0hourlyCapinteger | null
min 0cooldownSecinteger | null
min 0tagsstring[]
statusstring
One ofactive,resting,retiredlabelstring | null
max 120 charsnotesstring | null
max 2000 chars
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
setIdrequiredstring (uuid) · data.setId
clirequiredstring · data.cli
labelrequiredstring | null · data.label
countryrequiredstring | null · data.country
countryCoderequiredstring | null · data.countryCode
areaCoderequiredstring | null · data.areaCode
sourcerequiredstring · data.source
One ofupload,paste,manual,revshare,didenabledrequiredboolean · data.enabled
weightrequiredinteger · data.weight
dailyCaprequiredinteger | null · data.dailyCap
campaignCaprequiredinteger | null · data.campaignCap
hourlyCaprequiredinteger | null · data.hourlyCap
cooldownSecrequiredinteger | null · data.cooldownSec
statusrequiredstring · data.status
One ofactive,resting,retiredtagsrequiredstring[] · data.tags
notesrequiredstring | null · data.notes
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. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Remove one caller ID from a set
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
nidrequiredpath · string (uuid)
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
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.
Enable, disable or delete many caller IDs in a set
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
actionrequiredstring
One ofenable,disable,deletecliIdsrequiredstring (uuid)[]
Response 200
datarequiredobject
affectedrequiredinteger · data.affected
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 usage stats for a caller-ID set
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
totalClisrequiredinteger · data.totalClis
activeClisrequiredinteger · data.activeClis
restingClisrequiredinteger · data.restingClis
retiredClisrequiredinteger · data.retiredClis
callsrequiredinteger · data.calls
connectsrequiredinteger · data.connects
connectRaterequirednumber · data.connectRate
PercentavgSecrequirednumber · data.avgSec
campaignsrequiredinteger · data.campaigns
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.
Assign a caller-ID set and rotation strategy to a campaign
PUT/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
cliSetIdrequiredstring (uuid) | null
null clears the assignment (the campaign falls back to its own caller-ID list)strategyobject
moderequiredstring · strategy.mode
One ofrandom,round_robin,per_day_cap,per_campaign_cap,hourly_cap,cooldown,sticky_dest,area_match,country_match,weighted,lru,best_perfand 1 moredailyCapinteger | null · strategy.dailyCap
min 0campaignCapinteger | null · strategy.campaignCap
min 0hourlyCapinteger | null · strategy.hourlyCap
min 0cooldownSecinteger | null · strategy.cooldownSec
min 0restBelowAsrnumber | null · strategy.restBelowAsr
Rest a caller ID whose ASR falls below this percent0 to 100weightsRespectedboolean · strategy.weightsRespected
Response 200
datarequiredobject
Same fields as DialerCampaign, 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.
Match inbound callers to the caller IDs in a set
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
For each caller ID in the set, the inbound callers reachable from its country. takingIds may be comma-separated.
Parameters
cliSetIdrequiredquery · string (uuid)
takingIdsquery · string
"all" or comma-separated revenue share taking ids
Response 200
datarequiredobject
setIdrequiredstring (uuid) · data.setId
setNamerequiredstring · data.setName
groupsrequiredobject[] · data.groups
clirequiredstring · data.groups[].cli
labelrequiredstring | null · data.groups[].label
countryrequiredstring | null · data.groups[].country
countryCoderequiredstring | null · data.groups[].countryCode
targetsrequiredobject[] · data.groups[].targets
Same fields as DialerRevshareCaller, shown earlier on this page.savedrequiredobject | null · data.saved
The saved contact list, when saveAsListName was given and there was something dialable to savelistrequiredobject · data.saved.list
Same fields as DialerContactList, shown earlier on this page.savedrequiredinteger · data.saved.saved
skippedrequiredinteger · data.saved.skipped
limitationrequiredstring | null · data.limitation
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.
Match inbound callers to a caller-ID set and optionally save them
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Request body (application/json)
cliSetIdrequiredstring (uuid)
takingIdsstring (uuid)[] | string
saveAsListNamestring
max 255 chars
Response 200
datarequiredobject
Same fields as DialerCompatibleTargets, 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.
Preview a cleaned number list
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
De-duplicates, filters by country dial code or prefix, and optionally removes do-not-call entries. Nothing is saved.
Request body (application/json)
numbersrequiredstring[]
countryCodestring
Country dial code, e.g. "44"max 8 charsprefixstring
max 24 charssuppressDncboolean
Response 200
datarequiredobject
keptrequiredstring[] · data.kept
E.164 numbers that survivedinvalidrequiredinteger · data.invalid
duprequiredinteger · data.dup
filteredrequiredinteger · data.filtered
suppressedrequiredinteger · data.suppressed
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. - 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.
Save numbers as a contact list
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Only valid full E.164 numbers are stored.
Request body (application/json)
namerequiredstring
max 255 charsnumbersrequiredstring[]
Response 201
datarequiredobject
listrequiredobject · data.list
Same fields as DialerContactList, shown earlier on this page.savedrequiredinteger · data.saved
skippedrequiredinteger · data.skipped
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 SMS templates
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
userIdrequiredstring (uuid) · data[].userId
namerequiredstring · data[].name
bodyrequiredstring · data[].body
createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create an SMS template
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
{{variable}} placeholders are stored as written; per-recipient merge is not applied yet.
Request body (application/json)
namerequiredstring
max 255 charsbodyrequiredstring
max 1600 chars
Response 201
datarequiredobject
Same fields as DialerSmsTemplate, 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 SMS template
PATCH/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Request body (application/json)
namestring
max 255 charsbodystring
max 1600 chars
Response 200
datarequiredobject
Same fields as DialerSmsTemplate, 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 SMS template
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as Message, 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 your saved contact lists
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject[]
Same fields as DialerContactList, 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.
Create a saved contact list
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Request body (application/json)
namerequiredstring
max 255 charsnumbersrequiredstring[]
Response 201
datarequiredobject
Same fields as DialerContactList, 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.
Get a saved contact list with its numbers
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
userIdrequiredstring (uuid) · data.userId
namerequiredstring · data.name
countrequiredinteger · data.count
createdAtrequiredstring (date-time) · data.createdAt
ISO-8601 timestamp (UTC)numbersrequiredstring[] · data.numbers
Bare numbers (kept for existing clients)contactsrequiredobject[] · data.contacts
numberrequiredstring · data.contacts[].number
namerequiredstring | null · data.contacts[].name
fieldsrequiredobject | null · data.contacts[].fields
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 saved contact list
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as Message, 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 your simple caller-ID lists
GET/
- Access
- API key. Full-access keys only; not reachable by scoped keys.
- Rate limit
- 100 requests per second (the default)
The older named caller-ID lists used by the campaign wizard. For rotation, caps and stats use /dialer/caller-ids.
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
userIdrequiredstring (uuid) · data[].userId
namerequiredstring · data[].name
clisrequiredstring · data[].clis
The caller IDs, newline-separatedcreatedAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create a simple caller-ID list
POST/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Request body (application/json)
namerequiredstring
max 255 charsclisrequiredstring[]
Response 201
datarequiredobject
Same fields as DialerCliSet, 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.
Delete a simple caller-ID list
DELETE/
- Access
- API key. Scoped keys need
dialer:write. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string (uuid)
Response 200
datarequiredobject
Same fields as Message, 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.