Chyby a limity

Jak vypadají chyby, co znamenají jednotlivé kódy a jaké má API limity.

Tvar chyby

Všechny chyby vypadají stejně:

{
  "error": {
    "code": "INVALID_INPUT",
    "message": "Invalid input for this action.",
    "issues": ["name: Required"]
  }
}

Hodnota code se nemění, takže se podle ní můžete v kódu rozhodovat. message je text pro lidi a může se změnit. Pole issues přijde jen u chybného vstupu.

Kódy odpovědí

HTTPcodeCo se stalo
400INVALID_INPUTVstup neodpovídá schématu akce, podrobnosti jsou v issues
400INVALID_JSONTělo požadavku není JSON objekt
400kód z aplikaceAkci nešlo provést, například API_KEY_LIMIT_REACHED
401UNAUTHORIZEDAPI klíč chybí, je neplatný, zneplatněný nebo mu vypršela platnost
403INSUFFICIENT_SCOPEAPI klíč pro čtení se pokusil něco změnit
403FORBIDDEN nebo kód z aplikaceVaše role v aplikaci tuto akci nedovoluje
404UNKNOWN_ACTIONAkce neexistuje nebo není přes API dostupná
404například INVOICE_NOT_FOUNDZáznam neexistuje nebo k němu nemáte přístup
409například TAG_NAME_EXISTSZáznam už existuje nebo se mezitím změnil
429RATE_LIMITEDPříliš mnoho požadavků, kdy to zkusit znovu, říká hlavička Retry-After
500INTERNAL_SERVER_ERRORChyba na straně Moniary

Limity

  • 300 požadavků za minutu na jeden API klíč. Nad tento limit dostanete 429 s hlavičkou Retry-After, která udává počet sekund.
  • Jedna akce může běžet nejvýš 60 sekund.
  • Nahrávání: až 20 souborů najednou, každý do 20 MB.

Opakování požadavků

Opakujte jen požadavky, které skončily kódem 429 nebo 5xx, a s každým dalším pokusem čekejte déle. U chyb 4xx opakování nepomůže. Akce, které něco vytvářejí nebo odesílají, nejsou idempotentní. Když si nejste jistí, jestli akce proběhla, ověřte to nejdřív čtením.