Skip to main content
Error format Reporter returns errors as RFC 9457 problem details with the application/problem+json media type:
Field definitions
  • type – A URI that identifies the error in the Lerian error catalog. Built as https://errors.lerian.studio/v1/<code>.
  • title – The HTTP status text (for example, Bad Request).
  • status – The HTTP status code.
  • detail – Detailed guidance to help you resolve the error. For 5xx responses, the detail is always sanitized to internal error so no internal cause leaks; use code to branch programmatically.
  • code – A stable, unique identifier for the error (RPT-NNNN). Useful for programmatic handling and support requests.
  • errors – Optional list of per-field validation details, each with a message and a location.
Some messages contain placeholders such as %v or %s — Reporter replaces them with the specific values from your request.

Reporter errors


The following errors can occur when interacting with the Reporter endpoints. Refer to the tables below for the possible error codes, what they mean, and how to resolve them.

400 — Validation errors


The RPT-0003 message lists html, csv, and xml, but the API accepts five output formats: HTML, PDF, CSV, XML, and TXT. See Upload template.

404 — Not found


409 — Conflicts


422 — Unprocessable


500 — Server errors


Every unexpected failure during synchronous endpoint handling surfaces as HTTP 500 with code: RPT-0018 and a sanitized internal error detail — internal causes never leak into the response body. Asynchronous worker and report-generation failures instead follow the report statuses and metadata described below; they are not returned to the original request as HTTP 500.

Report-generation errors (asynchronous)


Report generation runs asynchronously in the worker. A failed data-extraction section is not returned to the original HTTP request: the report ends with status Error when all sections fail or Partial when some fail. In either case, metadata.error_code is RPT-0060; metadata.sections is keyed by database name, and each failed entry contains only its classified error_code (RPT-0018 for an untyped failure). Other worker failures end with status Error and a safe non-RPT metadata.error_code of report_generation_failed, report_generation_timeout, or report_generation_canceled; they have no sections map and do not retain the underlying RPT code.