sii_unreachable
The last SII read for this step got no usable answer — the session or the consulta page.
The last SII read for this step got no usable answer — the session or the consulta page.
| Code | sii_unreachable |
| Type | unprocessable_error — Well formed, but breaks a domain rule |
| HTTP | 422 |
| Retriable? | Yes |
What to do
Ours, not the customer’s: the certificate is in the vault and the SII did not answer for it. steps[].next_poll_at says when we look again; POST /v1/empresas/\{id\}/onboarding/steps/\{step\}/recheck asks now.
Retrying the same request may work. Respect Retry-After when it comes.
The envelope
{
"error": {
"type": "unprocessable_error",
"code": "sii_unreachable",
"message": "…",
"hint": "Ours, not the customer’s: the certificate is in the vault and the SII did not answer for it. `steps[].next_poll_at` says when we look again; `POST /v1/empresas/{id}/onboarding/steps/{step}/recheck` asks now.",
"retriable": true,
"doc_url": "https://docs.facturia.cl/errors/sii_unreachable",
"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.