certification_input_invalid
One or more certification inputs did not validate, and NOTHING was stored.
One or more certification inputs did not validate, and NOTHING was stored.
| Code | certification_input_invalid |
| Type | invalid_request_error — Malformed or incomplete input |
| HTTP | 400 |
| Retriable? | No |
What to do
Every problem is listed in error.details.problems with its own field and code — not just the first, because somebody filling seven proveedores wants all seven at once. The whole patch is refused rather than half-applied: a partial write leaves the empresa in a state nobody asked for and a round that refuses for a reason you believe you already fixed. It may also refuse over a value you did NOT send, when the stored document it merges into is itself invalid.
Retrying the same request will fail the same way. Change the request, not the frequency.
The envelope
{
"error": {
"type": "invalid_request_error",
"code": "certification_input_invalid",
"message": "…",
"hint": "Every problem is listed in `error.details.problems` with its own `field` and `code` — not just the first, because somebody filling seven proveedores wants all seven at once. The whole patch is refused rather than half-applied: a partial write leaves the empresa in a state nobody asked for and a round that refuses for a reason you believe you already fixed. It may also refuse over a value you did NOT send, when the stored document it merges into is itself invalid.",
"retriable": false,
"doc_url": "https://docs.facturia.cl/errors/certification_input_invalid",
"request_id": "req_01K2R7Q9M4T2VB"
}
}Program against code, never against message — the prose can be rewritten, the code cannot (§5.8).
hint and retriable arrive in the response with these exact values: they are a function of code and come from the same dictionary GET /v1/error_codes serves, so the envelope and the dictionary cannot disagree. Both are English on the wire by design — one registry, one language. More in The error envelope.
See also
Every code
The error envelope
The machine-readable copy of this page lives at GET /v1/error_codes, unauthenticated.