Switch API reference
Switch: CDRs and analytics
Call records, exports, saved views, margin, cost and quality analysis.
BrowseSwitch: CDRs and analytics
Get margin and quality totals for all traffic
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Revenue, cost, margin, ASR and minutes across every customer and supplier over the window, plus how much billed traffic carries no supplier cost yet.
Parameters
fromquery · string
ISO-8601 start (default: 30 days before to)toquery · string
ISO-8601 end (default: now)
Response 200
datarequiredobject
revenuerequirednumber · data.revenue
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)costrequirednumber · data.cost
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginrequirednumber · data.margin
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginPctrequirednumber | null · data.marginPct
null when there was no revenuecallsrequiredinteger · data.calls
answeredrequiredinteger · data.answered
minutesrequirednumber · data.minutes
asrrequirednumber | null · data.asr
Answer rate in percent; null when there were no callswindowrequiredobject · data.window
fromrequiredstring (date-time) · data.window.from
ISO-8601 timestamp (UTC)torequiredstring (date-time) · data.window.to
ISO-8601 timestamp (UTC)labelrequiredstring · data.window.label
freshnessrequiredobject · data.freshness
ratingrequiredobject · data.rating
unratedBilledrequiredinteger · data.rating.unratedBilled
billedCallsrequiredinteger · data.rating.billedCalls
unratedPctrequirednumber · data.rating.unratedPct
unratedRevenuerequirednumber · data.rating.unratedRevenue
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)unratedMinutesrequirednumber · data.rating.unratedMinutes
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 daily margin and quality figures
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Parameters
fromquery · string
ISO-8601 start (default: 30 days before to)toquery · string
ISO-8601 end (default: now)
Response 200
datarequiredobject[]
revenuerequirednumber · data[].revenue
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)costrequirednumber · data[].cost
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginrequirednumber · data[].margin
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginPctrequirednumber | null · data[].marginPct
null when there was no revenuecallsrequiredinteger · data[].calls
answeredrequiredinteger · data[].answered
minutesrequirednumber · data[].minutes
asrrequirednumber | null · data[].asr
Answer rate in percent; null when there were no callsdayrequiredstring · data[].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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Break down margin and quality by customer, supplier or destination
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Parameters
fromquery · string
ISO-8601 start (default: 30 days before to)toquery · string
ISO-8601 end (default: now)byquery · string
Default customerOne of customer, supplier, destination
Response 200
datarequiredobject[]
revenuerequirednumber · data[].revenue
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)costrequirednumber · data[].cost
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginrequirednumber · data[].margin
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginPctrequirednumber | null · data[].marginPct
null when there was no revenuecallsrequiredinteger · data[].calls
answeredrequiredinteger · data[].answered
minutesrequirednumber · data[].minutes
asrrequirednumber | null · data[].asr
Answer rate in percent; null when there were no callskeyrequiredstring · data[].key
labelrequiredstring · data[].label
externalboolean · data[].external
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 recent call-record exports
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
The latest 25 Switch exports.
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
phaserequiredstring · data[].phase
queued, running, completed or failedstatusrequiredstring · data[].status
requestedScoperequiredstring | null · data[].requestedScope
requestedAtrequiredstring · data[].requestedAt
recordCountrequiredinteger | null · data[].recordCount
Only set once completednumbersMaskedrequiredboolean · data[].numbersMasked
addressesMaskedrequiredboolean · data[].addressesMasked
truncatedboolean · data[].truncated
errorstring | null · data[].error
completedAtstring (date-time) | null · data[].completedAt
ISO-8601 timestamp (UTC)downloadableboolean · data[].downloadable
downloadUrlstring | null · data[].downloadUrl
GET /billing/exports/{id}/download once completed. No server path is ever returned.rowCountinteger | null · data[].rowCount
createdAtstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)queryIdstring | null · data[].queryId
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Start a background call-record export
POST/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Queues an export of the filtered records (body takes the same filters as GET /switch/cdrs). At most 3 exports may run at once. Numbers: a scoped API key without the cdr:numbers scope receives masked calling and dialled numbers (numbersMasked says so). Full-access keys and dashboard sessions see them in full.
Test keys: refused with 403 TEST_KEY_NOT_ALLOWED. The Switch has no test mode, so a change always applies to your live configuration. Test keys can still read Switch data.
Request body (application/json)
fromstring
ISO-8601 start of the windowtostring
ISO-8601 end of the windowkindstring
One ofvoice,smsdirectionstring
One ofinbound,outboundstatusstring
subAccountIdstring (uuid)
CustomercustomerTrunkIdstring (uuid)
vendorTrunkIdstring (uuid)
Supplier trunksupplierTrunkMatchstring
How vendorTrunkId matches failover attempts (default selected)One ofselected,attempted,eitherrouteGroupIdstring (uuid)
countryPrefixstring
destinationstring
destinationNamestring
answeredOnlystring
One oftrue,falseansweredStatestring
One ofanswered,unansweredmediaModestring
One ofdirect,proxysipCodeinteger
sipCodesstring
Comma-separated SIP codes (max 20)q850Causeinteger
q850Causesstring
Comma-separated Q.850 causes (max 20)hangupCausestring
durationMinnumber
durationMaxnumber
pddMinMsnumber
pddMaxMsnumber
codecstring
releasePartystring
ipstring
ratingStatestring
One ofrated,unratednegativeMarginOnlystring
One oftrue,falseriskMinnumber
attestationstring
One ofA,B,Csearchstring
Up to 20 values separated by comma, semicolon or newlinesearchFieldstring
searchMatchstring
One ofany,allsortBystring
sortDirstring
One ofasc,descincludeProbesstring
Include the platform's synthetic reachability probes (hidden by default)One oftrue,falselimitinteger
1 to 500offsetinteger
min 0
Response 202
datarequiredobject
Same fields as SwitchCdrExport, 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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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
TOO_MANY_EXPORTS
Get the status of a call-record export
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Parameters
idrequiredpath · string
Response 200
datarequiredobject
Same fields as SwitchCdrExport, 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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get traffic usage for one customer
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Totals, per-day figures, live concurrent calls and (optionally) per-destination usage for a customer (sub-account) over a window of up to 92 days (default: the last 24 hours). A longer window is clamped and says so in window.clamped. live.concurrentCalls is null when the live monitor cannot be reached.
Parameters
subAccountIdrequiredquery · string (uuid)
The customer to report on (required)sincequery · string
ISO-8601 start (default: 24 hours before until)untilquery · string
ISO-8601 end (default: now)destinationsquery · string
Include the per-destination breakdownOne of true, false, 1, 0
Response 200
datarequiredobject
windowrequiredobject · data.window
subAccountIdrequiredstring (uuid) · data.window.subAccountId
sincerequiredstring (date-time) · data.window.since
ISO-8601 timestamp (UTC)untilrequiredstring (date-time) · data.window.until
ISO-8601 timestamp (UTC)nextSincerequiredstring (date-time) · data.window.nextSince
ISO-8601 timestamp (UTC)clampedrequiredboolean · data.window.clamped
maxWindowDaysrequiredinteger · data.window.maxWindowDays
totalsrequiredobject · data.totals
Calls, answered, minutes, revenue, cost and rejectedAtCapacity over the windowdailyrequiredobject[] · data.daily
liverequiredobject · data.live
concurrentCallsrequiredinteger | null · data.live.concurrentCalls
byDestinationobject[] · data.byDestination
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Record that call-record details were copied
POST/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Writes an access entry to your account activity (for example when diagnostics are copied to the clipboard). Answers 202 with { success: true } and no data.
Test keys: refused with 403 TEST_KEY_NOT_ALLOWED. The Switch has no test mode, so a change always applies to your live configuration. Test keys can still read Switch data.
Parameters
idrequiredpath · string
Request body (application/json)
whatstring
What was copied (default "diagnostics")max 64 chars
Response 202
datarequiredany | enum | null
Not sent by this endpoint
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 values available to filter call records by
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject
ingressTrunksrequiredobject[] · data.ingressTrunks
idrequiredstring (uuid) · data.ingressTrunks[].id
labelrequiredstring · data.ingressTrunks[].label
ownerrequiredstring | null · data.ingressTrunks[].owner
techPrefixrequiredstring | null · data.ingressTrunks[].techPrefix
egressTrunksrequiredobject[] · data.egressTrunks
idrequiredstring (uuid) · data.egressTrunks[].id
labelrequiredstring · data.egressTrunks[].label
ownerrequiredstring | null · data.egressTrunks[].owner
techPrefixrequiredstring | null · data.egressTrunks[].techPrefix
routeGroupsrequiredobject[] · data.routeGroups
idrequiredstring (uuid) · data.routeGroups[].id
labelrequiredstring · data.routeGroups[].label
countryrequiredstring | null · data.routeGroups[].country
hasRiskScoresrequiredboolean · data.hasRiskScores
hasAttestationrequiredboolean · data.hasAttestation
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 saved call-records layout
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject | null
null until a layout has been savedorderstring[] · data.order
colsstring[] · data.cols
compactboolean · data.compact
pageSizenumber · data.pageSize
widthsobject · data.widths
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Save your call-records layout
PUT/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Column order, visible columns, density, page size (50, 100 or 200) and column widths (48-600 px). Invalid values are dropped, not rejected.
Test keys: refused with 403 TEST_KEY_NOT_ALLOWED. The Switch has no test mode, so a change always applies to your live configuration. Test keys can still read Switch data.
Request body (application/json)
orderstring[]
colsstring[]
compactboolean
pageSizenumber
widthsobject
Response 200
datarequiredobject
orderstring[] · data.order
colsstring[] · data.cols
compactboolean · data.compact
pageSizenumber · data.pageSize
widthsobject · data.widths
Response 202
datarequiredobject
approvalRequiredboolean · data.approvalRequired
One oftrueapprovalRequestIdstring (uuid) | null · data.approvalRequestId
permissionstring · data.permission
expiresAtstring (date-time) · data.expiresAt
messagestring · 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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Search call records
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Paged call records (one row per attempt) with a summary over the whole filtered window: calls, ASR and ACD (per call, failover collapsed), PDD median and p95, revenue, cost and margin. Long windows are clamped (see window). Numbers: a scoped API key without the cdr:numbers scope receives masked calling and dialled numbers (numbersMasked says so). Full-access keys and dashboard sessions see them in full.
Parameters
fromquery · string
ISO-8601 start of the windowtoquery · string
ISO-8601 end of the windowkindquery · string
One of voice, smsdirectionquery · string
One of inbound, outboundstatusquery · string
subAccountIdquery · string (uuid)
CustomercustomerTrunkIdquery · string (uuid)
vendorTrunkIdquery · string (uuid)
Supplier trunksupplierTrunkMatchquery · string
How vendorTrunkId matches failover attempts (default selected)One of selected, attempted, eitherrouteGroupIdquery · string (uuid)
countryPrefixquery · string
destinationquery · string
destinationNamequery · string
answeredOnlyquery · string
One of true, falseansweredStatequery · string
One of answered, unansweredmediaModequery · string
One of direct, proxysipCodequery · integer
sipCodesquery · string
Comma-separated SIP codes (max 20)q850Causequery · integer
q850Causesquery · string
Comma-separated Q.850 causes (max 20)hangupCausequery · string
durationMinquery · number
durationMaxquery · number
pddMinMsquery · number
pddMaxMsquery · number
codecquery · string
releasePartyquery · string
ipquery · string
ratingStatequery · string
One of rated, unratednegativeMarginOnlyquery · string
One of true, falseriskMinquery · number
attestationquery · string
One of A, B, Csearchquery · string
Up to 20 values separated by comma, semicolon or newlinesearchFieldquery · string
searchMatchquery · string
One of any, allsortByquery · string
sortDirquery · string
One of asc, descincludeProbesquery · string
Include the platform's synthetic reachability probes (hidden by default)One of true, falselimitquery · integer
offsetquery · integer
Response 200
datarequiredobject
rowsrequiredobject[] · data.rows
idrequiredstring (uuid) · data.rows[].id
createdAtrequiredstring (date-time) · data.rows[].createdAt
ISO-8601 timestamp (UTC)kindrequiredstring · data.rows[].kind
One ofvoice,smsdirectionrequiredstring · data.rows[].direction
fromrequiredstring | null · data.rows[].from
torequiredstring | null · data.rows[].to
clirequiredstring | null · data.rows[].cli
statusrequiredstring · data.rows[].status
sipCoderequiredinteger | null · data.rows[].sipCode
hangupCauserequiredstring | null · data.rows[].hangupCause
durationSecondsrequiredinteger | null · data.rows[].durationSeconds
billedSecondsrequiredinteger | null · data.rows[].billedSeconds
segmentsrequiredinteger | null · data.rows[].segments
pddMsrequiredinteger | null · data.rows[].pddMs
callGroupIdrequiredstring | null · data.rows[].callGroupId
Shared by every failover attempt of one callcustomerrequiredstring | null · data.rows[].customer
supplierrequiredstring | null · data.rows[].supplier
revenuerequirednumber · data.rows[].revenue
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)costrequirednumber · data.rows[].cost
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginrequirednumber · data.rows[].margin
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)sellRatePerUnitrequirednumber | null · data.rows[].sellRatePerUnit
null when the call could not be rated (distinct from a real 0)buyRatePerUnitrequirednumber | null · data.rows[].buyRatePerUnit
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)ratingStaterequiredstring | null · data.rows[].ratingState
mosrequirednumber | null · data.rows[].mos
jitterMsrequirednumber | null · data.rows[].jitterMs
packetLossPctrequirednumber | null · data.rows[].packetLossPct
mediaModerequiredstring | null · data.rows[].mediaMode
codecrequiredstring | null · data.rows[].codec
q850Causerequiredinteger | null · data.rows[].q850Cause
destinationNamerequiredstring | null · data.rows[].destinationName
riskScorenumber | null · data.rows[].riskScore
attestationstring | null · data.rows[].attestation
customerTrunkIdstring (uuid) | null · data.rows[].customerTrunkId
attemptCountinteger · data.rows[].attemptCount
invoiceIdstring (uuid) | null · data.rows[].invoiceId
totalrequiredinteger · data.total
limitrequiredinteger · data.limit
offsetrequiredinteger · data.offset
summaryrequiredobject · data.summary
Window totals: calls, answeredCalls, asrPercent, acdSeconds, talkSeconds, billableSeconds, pddMedianMs, pddP95Ms, revenue, cost, margin, ingestionLagSeconds...numbersMaskedrequiredboolean · data.numbersMasked
addressesMaskedrequiredboolean · data.addressesMasked
fieldVisibilityrequiredobject · data.fieldVisibility
generatedAtrequiredstring (date-time) · data.generatedAt
ISO-8601 timestamp (UTC)windowrequiredobject · data.window
fromrequiredstring (date-time) | null · data.window.from
ISO-8601 timestamp (UTC)torequiredstring (date-time) | null · data.window.to
ISO-8601 timestamp (UTC)clampedrequiredboolean · data.window.clamped
maxWindowDaysrequiredinteger · data.window.maxWindowDays
queryIdrequiredstring · data.queryId
Stable id of the question asked, shared with exports of the same filters
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Count call records by filter value
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
For the filtered window, how many records carry each status, SIP code, customer, supplier and so on.
Parameters
fromquery · string
ISO-8601 start of the windowtoquery · string
ISO-8601 end of the windowkindquery · string
One of voice, smsdirectionquery · string
One of inbound, outboundstatusquery · string
subAccountIdquery · string (uuid)
CustomercustomerTrunkIdquery · string (uuid)
vendorTrunkIdquery · string (uuid)
Supplier trunksupplierTrunkMatchquery · string
How vendorTrunkId matches failover attempts (default selected)One of selected, attempted, eitherrouteGroupIdquery · string (uuid)
countryPrefixquery · string
destinationquery · string
destinationNamequery · string
answeredOnlyquery · string
One of true, falseansweredStatequery · string
One of answered, unansweredmediaModequery · string
One of direct, proxysipCodequery · integer
sipCodesquery · string
Comma-separated SIP codes (max 20)q850Causequery · integer
q850Causesquery · string
Comma-separated Q.850 causes (max 20)hangupCausequery · string
durationMinquery · number
durationMaxquery · number
pddMinMsquery · number
pddMaxMsquery · number
codecquery · string
releasePartyquery · string
ipquery · string
ratingStatequery · string
One of rated, unratednegativeMarginOnlyquery · string
One of true, falseriskMinquery · number
attestationquery · string
One of A, B, Csearchquery · string
Up to 20 values separated by comma, semicolon or newlinesearchFieldquery · string
searchMatchquery · string
One of any, allsortByquery · string
sortDirquery · string
One of asc, descincludeProbesquery · string
Include the platform's synthetic reachability probes (hidden by default)One of true, falselimitquery · integer
offsetquery · integer
Response 200
datarequiredobject
queryIdrequiredstring · data.queryId
Stable id of the question asked, shared with exports of the same filters
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 charts for the filtered call records
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Parameters
fromquery · string
ISO-8601 start of the windowtoquery · string
ISO-8601 end of the windowkindquery · string
One of voice, smsdirectionquery · string
One of inbound, outboundstatusquery · string
subAccountIdquery · string (uuid)
CustomercustomerTrunkIdquery · string (uuid)
vendorTrunkIdquery · string (uuid)
Supplier trunksupplierTrunkMatchquery · string
How vendorTrunkId matches failover attempts (default selected)One of selected, attempted, eitherrouteGroupIdquery · string (uuid)
countryPrefixquery · string
destinationquery · string
destinationNamequery · string
answeredOnlyquery · string
One of true, falseansweredStatequery · string
One of answered, unansweredmediaModequery · string
One of direct, proxysipCodequery · integer
sipCodesquery · string
Comma-separated SIP codes (max 20)q850Causequery · integer
q850Causesquery · string
Comma-separated Q.850 causes (max 20)hangupCausequery · string
durationMinquery · number
durationMaxquery · number
pddMinMsquery · number
pddMaxMsquery · number
codecquery · string
releasePartyquery · string
ipquery · string
ratingStatequery · string
One of rated, unratednegativeMarginOnlyquery · string
One of true, falseriskMinquery · number
attestationquery · string
One of A, B, Csearchquery · string
Up to 20 values separated by comma, semicolon or newlinesearchFieldquery · string
searchMatchquery · string
One of any, allsortByquery · string
sortDirquery · string
One of asc, descincludeProbesquery · string
Include the platform's synthetic reachability probes (hidden by default)One of true, falselimitquery · integer
offsetquery · integer
Response 200
datarequiredobject
queryIdrequiredstring · data.queryId
Stable id of the question asked, shared with exports of the same filters
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Break down failed calls by stage and reason
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Parameters
fromquery · string
ISO-8601 start of the windowtoquery · string
ISO-8601 end of the windowkindquery · string
One of voice, smsdirectionquery · string
One of inbound, outboundstatusquery · string
subAccountIdquery · string (uuid)
CustomercustomerTrunkIdquery · string (uuid)
vendorTrunkIdquery · string (uuid)
Supplier trunksupplierTrunkMatchquery · string
How vendorTrunkId matches failover attempts (default selected)One of selected, attempted, eitherrouteGroupIdquery · string (uuid)
countryPrefixquery · string
destinationquery · string
destinationNamequery · string
answeredOnlyquery · string
One of true, falseansweredStatequery · string
One of answered, unansweredmediaModequery · string
One of direct, proxysipCodequery · integer
sipCodesquery · string
Comma-separated SIP codes (max 20)q850Causequery · integer
q850Causesquery · string
Comma-separated Q.850 causes (max 20)hangupCausequery · string
durationMinquery · number
durationMaxquery · number
pddMinMsquery · number
pddMaxMsquery · number
codecquery · string
releasePartyquery · string
ipquery · string
ratingStatequery · string
One of rated, unratednegativeMarginOnlyquery · string
One of true, falseriskMinquery · number
attestationquery · string
One of A, B, Csearchquery · string
Up to 20 values separated by comma, semicolon or newlinesearchFieldquery · string
searchMatchquery · string
One of any, allsortByquery · string
sortDirquery · string
One of asc, descincludeProbesquery · string
Include the platform's synthetic reachability probes (hidden by default)One of true, falselimitquery · integer
offsetquery · integer
Response 200
datarequiredobject
queryIdrequiredstring · data.queryId
Stable id of the question asked, shared with exports of the same filters
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Group failed calls by the dimensions they share
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Clusters failures (for example one supplier, one destination, one SIP code) so a pattern reads as one problem.
Parameters
fromquery · string
ISO-8601 start of the windowtoquery · string
ISO-8601 end of the windowkindquery · string
One of voice, smsdirectionquery · string
One of inbound, outboundstatusquery · string
subAccountIdquery · string (uuid)
CustomercustomerTrunkIdquery · string (uuid)
vendorTrunkIdquery · string (uuid)
Supplier trunksupplierTrunkMatchquery · string
How vendorTrunkId matches failover attempts (default selected)One of selected, attempted, eitherrouteGroupIdquery · string (uuid)
countryPrefixquery · string
destinationquery · string
destinationNamequery · string
answeredOnlyquery · string
One of true, falseansweredStatequery · string
One of answered, unansweredmediaModequery · string
One of direct, proxysipCodequery · integer
sipCodesquery · string
Comma-separated SIP codes (max 20)q850Causequery · integer
q850Causesquery · string
Comma-separated Q.850 causes (max 20)hangupCausequery · string
durationMinquery · number
durationMaxquery · number
pddMinMsquery · number
pddMaxMsquery · number
codecquery · string
releasePartyquery · string
ipquery · string
ratingStatequery · string
One of rated, unratednegativeMarginOnlyquery · string
One of true, falseriskMinquery · number
attestationquery · string
One of A, B, Csearchquery · string
Up to 20 values separated by comma, semicolon or newlinesearchFieldquery · string
searchMatchquery · string
One of any, allsortByquery · string
sortDirquery · string
One of asc, descincludeProbesquery · string
Include the platform's synthetic reachability probes (hidden by default)One of true, falselimitquery · integer
offsetquery · integer
dimsquery · string
Comma-separated grouping dimensionsdestinationDigitsquery · integer
bucketquery · string
One of day, hourminSessionsquery · integer
Response 200
datarequiredobject
queryIdrequiredstring · data.queryId
Stable id of the question asked, shared with exports of the same filters
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 call-filter vocabulary
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
The shared filter names and closed value sets used by call records, quality and live calls.
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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 list-filter vocabulary
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Filter names and value sets for the customer, supplier and trunk lists.
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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 one call record with attempts, SIP trace and timeline
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Numbers: a scoped API key without the cdr:numbers scope receives masked calling and dialled numbers (numbersMasked says so). Full-access keys and dashboard sessions see them in full. A record that is not yours answers 404 NOT_FOUND.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
idrequiredstring (uuid) · data.id
createdAtrequiredstring (date-time) · data.createdAt
ISO-8601 timestamp (UTC)kindrequiredstring · data.kind
One ofvoice,smsdirectionrequiredstring · data.direction
fromrequiredstring | null · data.from
torequiredstring | null · data.to
clirequiredstring | null · data.cli
statusrequiredstring · data.status
sipCoderequiredinteger | null · data.sipCode
hangupCauserequiredstring | null · data.hangupCause
durationSecondsrequiredinteger | null · data.durationSeconds
billedSecondsrequiredinteger | null · data.billedSeconds
segmentsrequiredinteger | null · data.segments
pddMsrequiredinteger | null · data.pddMs
callGroupIdrequiredstring | null · data.callGroupId
Shared by every failover attempt of one callcustomerrequiredstring | null · data.customer
supplierrequiredstring | null · data.supplier
revenuerequirednumber · data.revenue
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)costrequirednumber · data.cost
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)marginrequirednumber · data.margin
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)sellRatePerUnitrequirednumber | null · data.sellRatePerUnit
null when the call could not be rated (distinct from a real 0)buyRatePerUnitrequirednumber | null · data.buyRatePerUnit
US dollars as a JSON number rounded to 6 decimals (a computed figure, not a ledger string)ratingStaterequiredstring | null · data.ratingState
mosrequirednumber | null · data.mos
jitterMsrequirednumber | null · data.jitterMs
packetLossPctrequirednumber | null · data.packetLossPct
mediaModerequiredstring | null · data.mediaMode
codecrequiredstring | null · data.codec
q850Causerequiredinteger | null · data.q850Cause
destinationNamerequiredstring | null · data.destinationName
riskScorenumber | null · data.riskScore
attestationstring | null · data.attestation
customerTrunkIdstring (uuid) | null · data.customerTrunkId
attemptCountinteger · data.attemptCount
invoiceIdstring (uuid) | null · data.invoiceId
attemptsrequiredobject[] · data.attempts
Every supplier attempt of this call, including skipped candidatestracerequiredobject | null · data.trace
The captured SIP messages, when availabletimelinerequiredobject · data.timeline
startedAtrequiredstring (date-time) | null · data.timeline.startedAt
ISO-8601 timestamp (UTC)startedFromrequiredstring | null · data.timeline.startedFrom
One offirst_sip_message,first_supplier_attemptansweredAtrequiredstring (date-time) | null · data.timeline.answeredAt
ISO-8601 timestamp (UTC)endedAtrequiredstring (date-time) | null · data.timeline.endedAt
ISO-8601 timestamp (UTC)recordedAtrequiredstring (date-time) | null · data.timeline.recordedAt
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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 the supplier attempts of a call
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
A record that is not yours answers 404 NOT_FOUND.
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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 saved call-record views
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
namerequiredstring · data[].name
servicerequiredstring · data[].service
One ofvoice,smsfiltersrequiredobject · data[].filters
columnsrequiredstring[] · data[].columns
sortrequiredobject[] · data[].sort
fieldrequiredstring · data[].sort[].field
directionrequiredstring · data[].sort[].direction
One ofasc,descisDefaultrequiredboolean · data[].isDefault
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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Save a call-record view
POST/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Creates the view, or replaces the one with the same name.
Test keys: refused with 403 TEST_KEY_NOT_ALLOWED. The Switch has no test mode, so a change always applies to your live configuration. Test keys can still read Switch data.
Request body (application/json)
namerequiredstring
max 120 charsservicestring
One ofvoice,smsfiltersobject
columnsstring[]
sortobject[]
fieldrequiredstring · sort[].field
max 64 charsdirectionrequiredstring · sort[].direction
One ofasc,descisDefaultboolean
Response 201
datarequiredobject
Same fields as SwitchCdrView, shown earlier on this page.
Response 202
datarequiredobject
approvalRequiredboolean · data.approvalRequired
One oftrueapprovalRequestIdstring (uuid) | null · data.approvalRequestId
permissionstring · data.permission
expiresAtstring (date-time) · data.expiresAt
messagestring · 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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 saved call-record view
DELETE/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Answers { success: true } with no data, whether or not the view existed.
Test keys: refused with 403 TEST_KEY_NOT_ALLOWED. The Switch has no test mode, so a change always applies to your live configuration. Test keys can still read Switch data.
Parameters
viewIdrequiredpath · string
Response 200
datarequiredany | enum | null
Not sent by this endpoint
Response 202
datarequiredobject
approvalRequiredboolean · data.approvalRequired
One oftrueapprovalRequestIdstring (uuid) | null · data.approvalRequestId
permissionstring · data.permission
expiresAtstring (date-time) · data.expiresAt
messagestring · 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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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 SIP trace of a call
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
The signalling ladder for the call. Access is recorded in your account activity. A record that is not yours answers 404 NOT_FOUND.
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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.
Re-run routing for a call record
POST/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 10 requests per minute
Resolves the route this call would take now, without placing a call, so a fix can be checked against the original failure.
Test keys: refused with 403 TEST_KEY_NOT_ALLOWED. The Switch has no test mode, so a change always applies to your live configuration. Test keys can still read Switch data.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
Response 202
datarequiredobject
approvalRequiredboolean · data.approvalRequired
One oftrueapprovalRequestIdstring (uuid) | null · data.approvalRequestId
permissionstring · data.permission
expiresAtstring (date-time) · data.expiresAt
messagestring · 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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Download filtered call records as CSV
GET/
- Access
- API key. Scoped keys need
switch:manage. - Rate limit
- 100 requests per second (the default)
Synchronous export, capped at a row ceiling; X-PKX-Row-Count, X-PKX-Truncated and X-PKX-Query-Id headers describe the file. For large windows use POST /switch/cdr-exports. Numbers: a scoped API key without the cdr:numbers scope receives masked calling and dialled numbers (numbersMasked says so). Full-access keys and dashboard sessions see them in full.
Parameters
fromquery · string
ISO-8601 start of the windowtoquery · string
ISO-8601 end of the windowkindquery · string
One of voice, smsdirectionquery · string
One of inbound, outboundstatusquery · string
subAccountIdquery · string (uuid)
CustomercustomerTrunkIdquery · string (uuid)
vendorTrunkIdquery · string (uuid)
Supplier trunksupplierTrunkMatchquery · string
How vendorTrunkId matches failover attempts (default selected)One of selected, attempted, eitherrouteGroupIdquery · string (uuid)
countryPrefixquery · string
destinationquery · string
destinationNamequery · string
answeredOnlyquery · string
One of true, falseansweredStatequery · string
One of answered, unansweredmediaModequery · string
One of direct, proxysipCodequery · integer
sipCodesquery · string
Comma-separated SIP codes (max 20)q850Causequery · integer
q850Causesquery · string
Comma-separated Q.850 causes (max 20)hangupCausequery · string
durationMinquery · number
durationMaxquery · number
pddMinMsquery · number
pddMaxMsquery · number
codecquery · string
releasePartyquery · string
ipquery · string
ratingStatequery · string
One of rated, unratednegativeMarginOnlyquery · string
One of true, falseriskMinquery · number
attestationquery · string
One of A, B, Csearchquery · string
Up to 20 values separated by comma, semicolon or newlinesearchFieldquery · string
searchMatchquery · string
One of any, allsortByquery · string
sortDirquery · string
One of asc, descincludeProbesquery · string
Include the platform's synthetic reachability probes (hidden by default)One of true, falselimitquery · integer
offsetquery · integer
Response 200 (text/csv)
CSV of the filtered call records, as an 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. - 402
SWITCH_SUBSCRIPTION_REQUIRED: the account has no active Switch plan or trial. - 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.