Skip to main content

How to read a Quavern support code

PPPPX-YYYY, what the four letters and the class digit mean, and what to send support.

J
Written by Jean-Baptiste COULON--CHABAGNO

When something fails, Quavern shows you a support code such as APIE1-0429. The code is not a random reference number: every part of it carries meaning, and it never changes meaning once published. Quote it and support knows the exact condition you hit, without a round of questions.

The shape

PPPPX-YYYY

  • PPPP — four capital letters. Which part of Quavern owns the failure.

  • X — one digit. The class: what kind of thing went wrong, and therefore who can do something about it.

  • YYYY — four digits. A stable identifier. 0ZZZ mirrors a generic HTTP status. 1000 to 9999 identify one specific condition and nothing else.

The real HTTP status always stays in the response itself. For codes numbered 1000 and above, the four digits are an identifier, not a status — do not read one out of them.

The four letters

Prefix

What it owns

The page for it

APIE

Generic API, validation and shared resources

APIE support codes

MAIL

E-mail verification and delivery

MAIL support codes

MARL

Marl chat, files and the upstream model

MARL support codes

QUOS

QuavernOS contracts and compatibility

QUOS support codes

QVBK

Quavblok account linking and server routes

QVBK support codes

QVST

Quavsit transit API, upstream data and quotas

QVST support codes

SCTY

Authentication, authorisation, security and blocks

SCTY support codes

STRP

Stripe and billing

STRP support codes

A new prefix is always exactly four capital ASCII letters, always has a documented owner, and never reuses an existing code.

The class digit

The digit after the letters describes the cause, not the HTTP status. An ordinary rate limit is APIE1-0429; an exhausted daily quota is APIE1-1429. Both are HTTP 429, and they are not the same problem.

Digit

Class

What it means for you

0

Genuinely unknown or unclassified

Quavern has not managed to classify this failure. Send support the code, the time with its time zone, and what you were doing.

1

Your request or your action

Check what you sent and the state of the account: the request itself, a quota, or the object it names. Correcting that and trying again is normally the whole fix.

2

Quavern's server or one of its dependencies

Nothing you did caused it. Wait a moment and try again. If it keeps happening, send support the code and the time — that is what lets the incident be found in the logs.

3

Authentication, authorisation or security

Sign in again, or ask whoever administers your organisation for the access this needs. Support will never work around an access control on your behalf.

4

An automated security or anti-abuse block

An automated protection stopped the request. Support cannot lift it on the spot; describe what you were doing and it will be put in front of the security team.

5

A block or ban decided by a person

A person at Quavern took this decision. Write to support: only a review can change it, and no automatic retry will.

6

Declared maintenance

Quavern is inside a maintenance window it announced. Check https://status.quavern.net and try again once the window closes.

7

Stopped, moved, or an update is required

What you called has stopped, moved, or needs a newer version. Follow the migration or update notice rather than retrying.

8

Incompatible device or network

Your device, browser, network or proxy is not one this endpoint accepts. Note all four and tell support — never send a secret with them.

9

An indeterminate incident inside a known service

A service Quavern knows about failed in a way it could not classify. Keep the code and the time and send them to support.

Where you see it

An API error looks like this, and the code is in error.code:

{
  "error": {
    "code": "APIE1-0429",
    "reason": "rate_limited",
    "message": "Too many requests. Try again later.",
    "details": {}
  }
}

code and reason are both stable contracts you may build on. message is a technical explanation for a human reading logs — never translate from it or branch on it.

What Quavern promises about a code

  1. A code never changes meaning after it is published.

  2. Two different conditions never share a code.

  3. A new condition is added to the registry and covered by a test.

  4. A condition that is withdrawn stays documented as retired, and its code is never reused. A ticket quoting a code from last year still resolves to what it meant then.

What to send support

  • the code and the reason beside it

  • the HTTP status of the response

  • the time, with its time zone

  • the route and the method you called

  • the product and its version

  • how to make it happen again — with no secret in it

Write to [email protected]. Quavern support will never ask you for a password, a bearer token, an API key, or full payment card details. If a message claiming to be from Quavern asks for any of those, it is not from Quavern.

Quavern help reference: quavern-support-codes/en

Did this answer your question?