Codis d'error de Request
Tots els codis d'error de l'API pública que emet Request, amb el seu estat HTTP, el seu type i una pàgina per codi.
Codis d'error que emet Request. Cada code enllaça a la seva pròpia pàgina amb la causa i l'acció a prendre.
| Code | Type | HTTP | Descripció |
|---|---|---|---|
business_rule_violation | invalid_request_error | 422 | Una invariant del domini va rebutjar l'operació. Aquest codi indica la família; error.subcode anomena la regla concreta i error.message l'explica. |
conflicting_pagination_params | invalid_request_error | 422 | starting_after i ending_before van viatjar a la mateixa petició. Recorren la col·lecció en sentits oposats, així que només se'n pot aplicar un. |
external_id_already_exists | conflict_error | 409 | L'external_id amb què concilies contra el teu sistema ja està assignat a un altre objecte del mateix tipus en aquesta empresa. |
invalid_param_format | invalid_request_error | 422 | Un form request antic va rebutjar la forma d'un valor. Els endpoints migrats reporten el mateix com a parameter_invalid_format o parameter_invalid_integer. |
invalid_param_value | invalid_request_error | 422 | Un form request antic va rebutjar el valor d'un camp. Els endpoints migrats reporten el mateix com a parameter_invalid_enum o parameter_invalid_range. |
invalid_status_transition | invalid_request_error | 422 | L'estat sol·licitat no és assolible des de l'estat en què es troba ara mateix el document. |
length_required | invalid_request_error | 411 | Va arribar una petició amb body en codificació chunked, sense declarar-ne la mida. L'API necessita conèixer la longitud per avançat per rebutjar payloads excessius abans de carregar-los a memòria. |
metadata_too_many_keys | invalid_request_error | 422 | L'objecte metadata supera el límit de 50 claus per recurs. |
metadata_value_too_long | invalid_request_error | 422 | Un valor de metadata supera els 500 caràcters un cop serialitzat a text. |
method_not_allowed | invalid_request_error | 405 | La ruta existeix però no accepta el verb HTTP utilitzat. |
missing_required_param | invalid_request_error | 422 | Un form request antic va detectar que faltava un camp obligatori. Els endpoints ja migrats als parsers canònics reporten el mateix com a parameter_missing. |
parameter_invalid | invalid_request_error | 422 | Un value object construït a partir del payload va rebutjar el valor rebut. error.subcode diu quin: codi d'impost, codi de país, tipus impositiu, etc. |
parameter_invalid_boolean | invalid_request_error | 400 | Un paràmetre que ha de ser booleà va rebre un valor fora de les representacions acceptades (true/false, 1/0). |
parameter_invalid_cursor | invalid_request_error | 400 | El cursor starting_after o ending_before no és un UUID vàlid, així que no pot apuntar a cap fila de la col·lecció. |
parameter_invalid_empty | invalid_request_error | 400 | Un paràmetre va arribar amb el valor buit: un filtre in sense elements, una comparació sense res després de l'operador, o un filtre d'igualtat amb la cadena buida. |
parameter_invalid_enum | invalid_request_error | 400 | El valor queda fora del conjunt tancat que accepta el paràmetre. En els llistats cobreix a més un operador de filtre diferent de eq, gte, lte, gt, lt, in o contains. |
parameter_invalid_format | invalid_request_error | 400 | El valor té el tipus correcte però no la forma que exigeix el paràmetre: una data, un patró d'identificador o una capçalera com Factuarea-Version. |
parameter_invalid_integer | invalid_request_error | 400 | Un paràmetre que ha de ser un nombre enter va rebre alguna cosa que no es pot interpretar com a tal, per exemple limit=abc. |
parameter_invalid_iso8601 | invalid_request_error | 400 | Un filtre de rang (gte, lte, gt, lt) va rebre un valor que no és numèric ni una data ISO 8601. |
parameter_invalid_range | invalid_request_error | 400 | Un paràmetre numèric va quedar fora dels seus límits. El cas habitual és limit, que ha d'estar entre 1 i 100. |
parameter_invalid_string | invalid_request_error | 400 | Un paràmetre que ha de ser text va rebre un array, un objecte o un valor que no es pot llegir com a cadena. |
parameter_invalid_url | invalid_request_error | 400 | Un camp que ha de contenir una URL absoluta va rebre un valor que no ho és, normalment perquè li falta l'esquema o l'amfitrió. |
parameter_invalid_uuid | invalid_request_error | 400 | Un camp d'identificador va rebre un valor que no és un UUID vàlid. Tot id de recurs a v1 és un UUID. |
parameter_invalid_value | invalid_request_error | 422 | El valor és sintàcticament correcte però no admissible per a aquest recurs: fora del catàleg canònic del camp, o incoherent amb la resta del payload. |
parameter_missing | invalid_request_error | 400 | L'endpoint exigeix un paràmetre que la petició no portava. error.param diu quin. |
parameter_unknown | invalid_request_error | 400 | La petició porta un paràmetre que l'endpoint no accepta: un filtre fora de la seva allowlist, un camp de sort no ordenable, o el page de paginació per offset — v1 pagina per cursor. |
payload_too_large | invalid_request_error | 413 | El body de la petició supera la mida admesa: 1 MB amb caràcter general, 6 MB als endpoints que accepten fitxers. |
profile_not_found | not_found_error | 404 | La capçalera X-Active-Profile anomena una empresa que no existeix o que no pertany a l'arbre de gestoria de la clau autenticada. Tots dos casos responen igual perquè l'API mai reveli empreses d'altres tenants. |
resource_already_exists | conflict_error | 409 | Crear l'objecte duplicaria un que ja existeix sota una clau única — NIF, SKU, external id. error.details.existing_resource_id apunta a l'objecte que ja ocupa aquest valor. |
resource_conflict | conflict_error | 409 | L'operació va xocar amb l'estat actual del recurs i no s'aplica cap codi de conflicte més específic. |
resource_immutable | invalid_request_error | 422 | L'objecte està tancat a canvis per a aquesta operació: el seu estat o el seu registre comptable impedeixen modificar-lo. |
resource_locked | conflict_error | 409 | Una altra operació reté el recurs fins que acaba: les escriptures concurrents sobre el mateix objecte se serialitzen en lloc d'entrellaçar-se. |
resource_not_deletable | invalid_request_error | 422 | L'objecte existeix, però el seu estat o els seus dependents bloquegen l'esborrat. En els esborrats massius aquest és el codi per fila de cada entrada que no es va poder eliminar. |
resource_not_found | not_found_error | 404 | L'identificador no resol a res visible per a l'empresa autenticada. Els objectes d'una altra empresa responen exactament igual, a propòsit. |
route_not_found | not_found_error | 404 | La ruta no correspon a cap endpoint de v1. Sol ser una errada, un prefix /v1 absent o una ruta d'una altra àrea de l'API. |
unknown_filter | invalid_request_error | 422 | Un llistat va rebre un filtre que no coneix. Els parsers canònics de v1 reporten això com a parameter_unknown; aquest codi sobreviu per als endpoints encara sense migrar. |
unsupported_api_version | invalid_request_error | 400 | La capçalera Factuarea-Version està ben formada però anomena una versió fora del conjunt suportat. |
unsupported_media_type | invalid_request_error | 415 | Una petició amb body va declarar un Content-Type diferent de application/json. |