Skip to content
PlotDR
Get started

Problem types

Every error from the versioned customer API under /v1 is anapplication/problem+json body (RFC 7807) with type, title,status, detail and instance. The unversioned operationalGET /health/ready probe is the exception: its 503 response is plain JSON with dependency checks. When type is a URL under https://plotdr.ch/problems/, it is one of the types below, and the URL opens its page. Its title is the name of the type shown below, the same for every occurrence; the specifics are in detail. Branch on type andstatus, not on the text in title or detail.

TypeStatusMeaning
validation-error422Validation error
quota-exceeded429Monthly check quota exceeded
not-archived409Record not archived
confirmation-mismatch409Confirmation does not match
archived409Record archived

Responses with type about:blank

Most errors use "type": "about:blank", the RFC 7807 default: the HTTP status anddetail say what went wrong, and no page here applies. Their title is the HTTP status phrase, such as Not Found. The most common ones:

StatusUsual reason
401No credentials, an unknown or revoked API key, or an Authorization header that is not a Bearer token.
402A dds report requested on the Free plan.
403The key's organization is not on the API Pro plan, or the endpoint is reserved for a signed-in admin.
404The ID does not exist in your organization.
413The request body is larger than 10 MB.
422A few dashboard actions, such as removing your own account or opening an expired link. Every input-validation 422 is a validation-error instead. Details.
429The per-minute rate limit. Wait for the number of seconds in the Retry-After header. Rate limits.
500An unexpected error on PlotDR's side. Contact support with the response's X-Request-ID.
503A batch or report could not be queued. Retry shortly.

The getting-started guide explains the error format, and theAPI reference lists the responses of each endpoint.