Skip to content
Markets open

API reference

Route reports

Report a problem with a route you bought.

10 operationsBase URL https://packetexchange.io/api/v1Postman collection

List route problem reports you raised or received

GET/api/v1/route-reports

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
rolequerystring-One of buyer, seller
statusquerystring-

Response 200

FieldTypeDescription
datarequiredobject[]-
idrequireddata[].idstring (uuid)-
routeIdrequireddata[].routeIdstring (uuid)-
routeNamerequireddata[].routeNamestring | null-
rolerequireddata[].rolestring-One of buyer, seller
buyerIdrequireddata[].buyerIdstring (uuid) | nullNull for the seller, who sees only the pseudonym
buyerLabelrequireddata[].buyerLabelstring-
categoryrequireddata[].categorystring-One of call_failure, connectivity, quality, other
subjectrequireddata[].subjectstring | null-
statusrequireddata[].statusstring-One of open, acknowledged, resolved, confirmed, reopened, escalated, closed
evidencedata[].evidenceanyCall evidence; seller addresses are masked for the buyer
verifyResultdata[].verifyResultany-
escalatedrequireddata[].escalatedboolean-
unreadrequireddata[].unreadboolean-
lastActivityAtrequireddata[].lastActivityAtstring (date-time)ISO-8601 timestamp (UTC)
createdAtrequireddata[].createdAtstring (date-time)ISO-8601 timestamp (UTC)
resolvedAtrequireddata[].resolvedAtstring (date-time) | nullISO-8601 timestamp (UTC)
closedAtrequireddata[].closedAtstring (date-time) | nullISO-8601 timestamp (UTC)

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Report a problem with a route you bought

POST/api/v1/route-reports

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Optionally attach a CDR and a fresh SIP trace. The seller sees you under a pseudonym.

Request body (application/json)

FieldTypeDescription
routeIdrequiredstring (uuid)-
cdrIdstring (uuid)-
categorystring-One of call_failure, connectivity, quality, other
subjectstring-max 200 chars
messagerequiredstring-max 4000 chars
attachSipTraceboolean-

Response 201

FieldTypeDescription
datarequiredobjectSame fields as RouteReport, shown earlier on this page.

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 409CONFLICT (or a code-specific 409): the change clashes with existing state.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Count route reports waiting on you

GET/api/v1/route-reports/action-counts

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Response 200

FieldTypeDescription
datarequiredobject-
sellerrequireddata.sellerinteger-
buyerrequireddata.buyerinteger-
totalrequireddata.totalinteger-

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Get a route report with its thread

GET/api/v1/route-reports/{id}

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
idrequiredpathstring-

Response 200

FieldTypeDescription
datarequiredobject-
idrequireddata.idstring (uuid)-
routeIdrequireddata.routeIdstring (uuid)-
routeNamerequireddata.routeNamestring | null-
rolerequireddata.rolestring-One of buyer, seller
buyerIdrequireddata.buyerIdstring (uuid) | nullNull for the seller, who sees only the pseudonym
buyerLabelrequireddata.buyerLabelstring-
categoryrequireddata.categorystring-One of call_failure, connectivity, quality, other
subjectrequireddata.subjectstring | null-
statusrequireddata.statusstring-One of open, acknowledged, resolved, confirmed, reopened, escalated, closed
evidencedata.evidenceanyCall evidence; seller addresses are masked for the buyer
verifyResultdata.verifyResultany-
escalatedrequireddata.escalatedboolean-
unreadrequireddata.unreadboolean-
lastActivityAtrequireddata.lastActivityAtstring (date-time)ISO-8601 timestamp (UTC)
createdAtrequireddata.createdAtstring (date-time)ISO-8601 timestamp (UTC)
resolvedAtrequireddata.resolvedAtstring (date-time) | nullISO-8601 timestamp (UTC)
closedAtrequireddata.closedAtstring (date-time) | nullISO-8601 timestamp (UTC)
messagesrequireddata.messagesobject[]-
idrequireddata.messages[].idstring (uuid)-
rolerequireddata.messages[].rolestring-One of buyer, seller, system, staff
kindrequireddata.messages[].kindstring-One of message, status_change, verification
authorLabelrequireddata.messages[].authorLabelstring-
minerequireddata.messages[].mineboolean-
bodyrequireddata.messages[].bodystring-
metadata.messages[].metaany-
createdAtrequireddata.messages[].createdAtstring (date-time)ISO-8601 timestamp (UTC)

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 404NOT_FOUND: no such resource on your account.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Reply on a route report

POST/api/v1/route-reports/{id}/messages

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
idrequiredpathstring-

Request body (application/json)

FieldTypeDescription
bodyrequiredstring-max 4000 chars

Response 201

FieldTypeDescription
datarequiredobjectSame fields as RouteReportThread, shown earlier on this page.

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 404NOT_FOUND: no such resource on your account.
  • 409CONFLICT (or a code-specific 409): the change clashes with existing state.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Acknowledge a route report (seller)

POST/api/v1/route-reports/{id}/acknowledge

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
idrequiredpathstring-

Response 200

FieldTypeDescription
datarequiredobjectSame fields as RouteReportThread, shown earlier on this page.

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 404NOT_FOUND: no such resource on your account.
  • 409CONFLICT (or a code-specific 409): the change clashes with existing state.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Mark a route report resolved (seller)

POST/api/v1/route-reports/{id}/resolve

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
idrequiredpathstring-

Request body (application/json)

FieldTypeDescription
notestring-max 4000 chars

Response 200

FieldTypeDescription
datarequiredobjectSame fields as RouteReportThread, shown earlier on this page.

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 404NOT_FOUND: no such resource on your account.
  • 409CONFLICT (or a code-specific 409): the change clashes with existing state.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Confirm a route report is fixed (buyer)

POST/api/v1/route-reports/{id}/confirm

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
idrequiredpathstring-

Response 200

FieldTypeDescription
datarequiredobjectSame fields as RouteReportThread, shown earlier on this page.

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 404NOT_FOUND: no such resource on your account.
  • 409CONFLICT (or a code-specific 409): the change clashes with existing state.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Reopen a resolved route report (buyer)

POST/api/v1/route-reports/{id}/reopen

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
idrequiredpathstring-

Request body (application/json)

FieldTypeDescription
notestring-max 4000 chars

Response 200

FieldTypeDescription
datarequiredobjectSame fields as RouteReportThread, shown earlier on this page.

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 404NOT_FOUND: no such resource on your account.
  • 409CONFLICT (or a code-specific 409): the change clashes with existing state.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.

Escalate a route report to support

POST/api/v1/route-reports/{id}/escalate

Access
API key. Full-access keys only; not reachable by scoped keys.
Rate limit
100 requests per second (the default)

Parameters

NameInTypeDescription
idrequiredpathstring-

Request body (application/json)

FieldTypeDescription
notestring-max 4000 chars

Response 200

FieldTypeDescription
datarequiredobjectSame fields as RouteReportThread, shown earlier on this page.

Errors

  • 400VALIDATION_ERROR, INVALID_INPUT or BAD_REQUEST. For VALIDATION_ERROR, error.details is an array of { path, message }.
  • 401UNAUTHORIZED: missing, invalid, expired or revoked credential.
  • 403FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only.
  • 404NOT_FOUND: no such resource on your account.
  • 409CONFLICT (or a code-specific 409): the change clashes with existing state.
  • 429RATE_LIMITED: slow down and retry after the Retry-After seconds.
  • 500INTERNAL_ERROR: unexpected failure. Quote X-Request-Id to support.