PanQuestDocumentation

QFX problem types

Every error answer of the QFX API under /v2 is a problem details object as RFC 9457 defines it, sent as application/problem+json. Its type is one of the URIs below, each of which leads to the page that documents it.

Handling a problem

Members

MemberJSON typePresentMeaning
typestring (URI)alwaysIdentifies the problem type: one of the URIs on this site, or about:blank. Branch on it; it never changes for a given problem.
titlestringalwaysA short summary of the problem type, in English, the same for every occurrence.
statusintegeralwaysThe HTTP status code of the answer.
detailstringwhen it appliesWhat went wrong in this occurrence, written to help correct the request. Show it to a person; never parse it.
instancestring (URI)alwaysA urn:uuid that identifies this occurrence. Quote it to support: the gateway logs it with the request.
parametersobjectwhen it appliesThe path parameters of the request under the specification's own names, for example collection-name and document-id. Present when the path has parameters.
issuesarraywhen it appliesOne entry per problem found in the request (bad-request), or the path parameter that does not resolve (resource-not-found). An entry has type (an issue type URI; absent in a resource-not-found entry), title, detail, in (body, path, query or header), name (a JSON Pointer such as /metadata/INVOICE_DATE for the body, the parameter's name otherwise) and, for a path or query parameter, value: the value sent.
requiredPermissionobjectwhen it appliesmissing-permission: the resource and the action a permission would have to grant.
hitLimitintegerwhen it appliestoo-many-hits: the hit limit that applied.
messageIdstringwhen it appliesqueue-message-not-replayable: the message the replay named.
reasonstringwhen it appliesqueue-message-not-replayable: why the message cannot be replayed.
limitintegerwhen it appliespayload-too-large: the largest request body accepted, in bytes.
retryAfterSecintegerwhen it appliestoo-many-requests, service-unavailable and storage-location-unavailable: the seconds to wait before sending the request again, the same as the Retry-After header.

Problem types

TypeStatusTitle
bad-request400Bad Request
no-access-token401No Access Token
invalid-access-token401Invalid Access Token
expired-access-token401Expired Access Token
missing-permission403Missing Permission
resource-not-found404Resource Not Found
operation-not-allowed405This operation is not allowed on this deployment
already-exists409The resource already exists
resource-in-use409The resource is in use
document-locked409The document is locked
document-on-legal-hold409The document is on legal hold
document-state-conflict409The document's state does not allow this operation
storage-location-locked409The storage location is locked
content-shared409The stored content is shared with other documents
import-state-conflict409The import's state does not allow this operation
administration-lockout409The change would lock you out of administration
built-in-protected409Built-in roles and permissions cannot be changed this way
confirmation-required409The operation must be confirmed
queue-message-not-replayable409The message cannot be replayed
collection-limit-reached409No further collection can be created
content-gone410The document's content is no longer available
payload-too-large413Payload Too Large
too-many-hits422The search matches too many documents
too-many-requests429Too Many Requests
internal-server-error500Internal Server Error
operation-disabled501This operation is switched off for this deployment
bad-gateway502Bad Gateway
content-integrity-failure502The document's content does not match its SHA-256
service-unavailable503Service Unavailable
storage-location-unavailable503The storage location cannot be written to

Issue types

The entries of issues in a bad-request problem have one of these types.

Issue typeTitle
input-validation/schema-violationInput isn't valid with respect to schema
input-validation/invalid-inputInvalid input
input-validation/referenced-resource-not-foundReferenced resource not found

Problems without a type of their own

These answers carry the type about:blank, which RFC 9457 defines for a problem that means nothing beyond its status code; their title is the status code's own phrase.

StatusTitleWhen
405Method Not AllowedThe path exists, but not with this method. Allow lists the methods it serves.
415Unsupported Media TypeThe request body's Content-Type is not one the operation accepts.

The paths without the /v2 prefix, the API of version 3.11.2, keep their own error answers: {"message": "..."} as plain text.