API errors

Payload too large

The request body exceeded the 2 MB transport limit and was rejected by the HTTP layer before routing. Nothing was processed or billed. The two content ceilings — at most 1,000 invoice lines, and at most 1 MiB of UTF-8 in the XML sent to /v1/invoices/validate or /v1/invoices/parse — live in the request schema instead, so exceeding one of those returns 400 invalid-request (and the SDKs reject it locally, without a round trip).

Error type
https://normbill.com/docs/errors/payload-too-large
HTTP status
413

Common causes

  • The whole request body is larger than 2 MB.
  • Several invoices were batched into a single request.
  • A very large free-text note, or an embedded base64 value, inflated the body.

How to fix it

  • Send one invoice per request — the API processes a single document at a time.
  • Remove or shrink oversized free-text fields.
  • For the 1,000-line and 1 MiB ceilings, see invalid-request: those come back as 400 with the offending JSON path.
  • Contact support if you genuinely need larger documents — the ceilings are operational, not commercial.

The error response format

Every non-2xx response from the API is an RFC 9457 problem-details body (application/problem+json) with at least type, title, status and detail. The type URL links back to this reference.

All error slugs: invalid-request, bad-request, payload-too-large, unauthorized, validation-failed, unparseable-document, plan-limit, quota-exceeded, rate-limited, overage-cap-reached, validate-fair-use, generate-failure-fair-use, idempotency-key-invalid, idempotency-key-reuse, idempotency-conflict, pdf-unavailable, validator-unavailable, not-ready. Still stuck? Email support@normbill.com or start at the docs overview.

Spotted something?

Bug, missing feature, wrong validation result — tell us. The page you're on is attached automatically; email optional.