API reference
Status
Public platform status, incidents and maintenance.
8 operationsBase URL https://packetexchange.io/api/v1Postman collection
BrowseStatus
Get the public status page
GET/
- Access
- Public. No key needed.
- Rate limit
- 120 requests per minute
Overall state, component groups with 90-day history, active and recent incidents, and scheduled maintenance. Cached for 15 seconds.
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
generatedAtrequireddata.generatedAt | string (date-time) | ISO-8601 timestamp (UTC) |
overallrequireddata.overall | object | - |
staterequireddata.overall.state | string | -One of operational, degraded, partial_outage, major_outage, maintenance |
messagerequireddata.overall.message | string | - |
groupsrequireddata.groups | object[] | - |
idrequireddata.groups[].id | string | - |
namerequireddata.groups[].name | string | - |
componentsrequireddata.groups[].components | object[] | - |
idrequireddata.groups[].components[].id | string | - |
namerequireddata.groups[].components[].name | string | - |
descriptionrequireddata.groups[].components[].description | string | - |
staterequireddata.groups[].components[].state | string | -One of operational, degraded, partial_outage, major_outage, maintenance |
uptime90drequireddata.groups[].components[].uptime90d | number | null | Percent over 90 days; null when there is no data |
dataSincerequireddata.groups[].components[].dataSince | string | null | - |
daysrequireddata.groups[].components[].days | object[] | - |
daterequireddata.groups[].components[].days[].date | string | YYYY-MM-DD |
staterequireddata.groups[].components[].days[].state | string | - |
uptimePctrequireddata.groups[].components[].days[].uptimePct | number | null | - |
downtimeMinutesrequireddata.groups[].components[].days[].downtimeMinutes | number | null | - |
incidentsrequireddata.groups[].components[].days[].incidents | object[] | - |
idrequireddata.groups[].components[].days[].incidents[].id | string | - |
titlerequireddata.groups[].components[].days[].incidents[].title | string | - |
impactrequireddata.groups[].components[].days[].incidents[].impact | string | -One of none, minor, major, critical |
activeIncidentsrequireddata.activeIncidents | object[] | - |
idrequireddata.activeIncidents[].id | string | - |
titlerequireddata.activeIncidents[].title | string | - |
impactrequireddata.activeIncidents[].impact | string | -One of none, minor, major, critical |
statusrequireddata.activeIncidents[].status | string | -One of investigating, identified, monitoring, resolved |
componentIdsrequireddata.activeIncidents[].componentIds | string[] | - |
startedAtrequireddata.activeIncidents[].startedAt | string (date-time) | ISO-8601 timestamp (UTC) |
resolvedAtrequireddata.activeIncidents[].resolvedAt | string (date-time) | null | ISO-8601 timestamp (UTC) |
updatesrequireddata.activeIncidents[].updates | object[] | - |
idrequireddata.activeIncidents[].updates[].id | string | - |
statusrequireddata.activeIncidents[].updates[].status | string | -One of investigating, identified, monitoring, resolved |
bodyrequireddata.activeIncidents[].updates[].body | string | - |
createdAtrequireddata.activeIncidents[].updates[].createdAt | string (date-time) | ISO-8601 timestamp (UTC) |
scheduledMaintenancerequireddata.scheduledMaintenance | object[] | - |
idrequireddata.scheduledMaintenance[].id | string | - |
titlerequireddata.scheduledMaintenance[].title | string | - |
bodyrequireddata.scheduledMaintenance[].body | string | - |
componentIdsrequireddata.scheduledMaintenance[].componentIds | string[] | - |
scheduledStartrequireddata.scheduledMaintenance[].scheduledStart | string (date-time) | ISO-8601 timestamp (UTC) |
scheduledEndrequireddata.scheduledMaintenance[].scheduledEnd | string (date-time) | ISO-8601 timestamp (UTC) |
statusrequireddata.scheduledMaintenance[].status | string | -One of scheduled, in_progress, completed |
pastIncidentsrequireddata.pastIncidents | object[] | Same fields as StatusIncident, shown earlier on this page. |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
List past incidents
GET/
- Access
- Public. No key needed.
- Rate limit
- 120 requests per minute
Parameters
| Name | In | Type | Description |
|---|---|---|---|
cursor | query | string | The nextCursor from the previous page |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
itemsrequireddata.items | object[] | Same fields as StatusIncident, shown earlier on this page. |
nextCursorrequireddata.nextCursor | string | null | - |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Get one incident with its updates
GET/
- Access
- Public. No key needed.
- Rate limit
- 120 requests per minute
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | Same fields as StatusIncident, shown earlier on this page. |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 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.
Subscribe to status updates as an RSS feed
GET/
- Access
- Public. No key needed.
- Rate limit
- 120 requests per minute
Response 200 (application/rss+xml)
RSS 2.0 feed of incidents and maintenance.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Subscribe an email address to status updates
POST/
- Access
- Public. No key needed.
- Rate limit
- 5 requests per hour
Sends a confirmation email. The answer is the same whether or not the address was already subscribed.
Request body (application/json)
| Field | Type | Description |
|---|---|---|
emailrequired | string (email) | -max 254 chars |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
messagerequireddata.message | string | - |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 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.
Confirm a status subscription from the email link
GET/
- Access
- Public. No key needed.
- Rate limit
- 30 requests per 10 minutes
Parameters
| Name | In | Type | Description |
|---|---|---|---|
token | query | string | - |
Response 302
Redirects to the status page with the outcome.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Unsubscribe from status updates from the email link
GET/
- Access
- Public. No key needed.
- Rate limit
- 30 requests per 10 minutes
Parameters
| Name | In | Type | Description |
|---|---|---|---|
token | query | string | - |
Response 302
Redirects to the status page with the outcome.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Unsubscribe from status updates in one click
POST/
- Access
- Public. No key needed.
- Rate limit
- 120 requests per minute
The RFC 8058 one-click unsubscribe target used by mail clients.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
token | query | string | - |
Response 200
| Field | Type | Description |
|---|---|---|
datarequired | object | - |
resultrequireddata.result | string | Outcome, e.g. unsubscribed or invalid |
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 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.