invalid_content_type
The endpoint takes a file and the request was not multipart.
The endpoint takes a file and the request was not multipart.
| Code | invalid_content_type |
| Type | invalid_request_error — Malformed or incomplete input |
| HTTP | 400 |
| Retriable? | No |
What to do
Send multipart/form-data with a file part. File endpoints take BYTES rather than a JSON string because encodings that pass through a JSON round trip come out changed — which for an ISO-8859-1 document is a silent corruption nobody sees until the SII rejects it.
Retrying the same request will fail the same way. Change the request, not the frequency.
The envelope
{
"error": {
"type": "invalid_request_error",
"code": "invalid_content_type",
"message": "…",
"hint": "Send `multipart/form-data` with a `file` part. File endpoints take BYTES rather than a JSON string because encodings that pass through a JSON round trip come out changed — which for an ISO-8859-1 document is a silent corruption nobody sees until the SII rejects it.",
"retriable": false,
"doc_url": "https://docs.facturia.cl/errors/invalid_content_type",
"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.