Skip to main content
The Lumenaza API returns standard HTTP status codes for every request. This page explains each code you may encounter, describes the error response formats, lists common validation errors with example payloads, and provides a debugging checklist to help you resolve issues quickly.

HTTP Status Codes

The Lumenaza API uses standard HTTP status codes to indicate the outcome of every request. The table below lists all codes you may encounter.

Error Response Formats

400 Bad Request — Field-Level Validation Errors

When input validation fails, the response body is a JSON object whose keys are the names of the invalid fields and whose values are human-readable error messages:
Multiple fields can fail simultaneously; all violations are returned in a single response so you can correct them in one round-trip.

Detail Errors

Some errors — including 401, 403, 404, and certain 400 cases — use a flat detail key instead of field names:

404 Not Found


Common 400 Validation Errors

The table below lists frequently encountered validation errors, the field(s) involved, and an example error message.

Detailed Error Scenarios

Returned when the Authorization header is absent, malformed, or contains an expired Bearer token.Response:
Fix: Verify the Authorization: Bearer <token> header is present and that the token has not expired. Contact Lumenaza to reissue credentials if needed.
Returned when the authenticated user does not have permission to perform the requested action. Common causes:
  • Attempting a product switch that is not configured for the contract type.
  • Calling an endpoint that requires credit check functionality when it is not enabled for your account.
Response:
Fix: Contact Lumenaza to confirm which features are enabled for your SaaS contract.
Returned when you attempt to trigger a workflow (e.g. a contract termination or tariff switch) while an identical workflow is already being processed for the same resource.Response:
Fix: Wait for the existing workflow to complete before submitting a new one. Poll the relevant status endpoint to monitor progress.
Returned by the offer calculator when the submitted address matches more than one entry in the address database.Response: A list of candidate addresses for the user to select from.Fix: Present the choices to the end user and re-submit the request with the fully qualified address from the returned list.
Indicates an unexpected failure on Lumenaza’s infrastructure.Fix:
  1. Wait briefly and retry the request with exponential back-off.
  2. If the error persists, capture the full request/response (excluding secrets) and contact Lumenaza support with the timestamp and endpoint path.

Debugging Checklist

Follow these steps when diagnosing an unexpected error:
  1. Log the full response body. The API always returns a JSON body for error responses (except 204). The field-level keys tell you exactly which inputs need to change.
  2. Check field-specific messages. A single 400 response may contain errors for multiple fields. Iterate over all keys in the response object, not just the first one.
  3. Distinguish {"field": "..."} from {"detail": "..."}.
    • Field-keyed responses indicate input validation failures — fix the payload.
    • detail-keyed responses indicate authentication, permission, or server issues — these usually cannot be resolved by changing the request body alone.
  4. Verify date constraints. preferred_delivery_start, sepa_date, and order_date all have strict relative-date rules. Ensure your system clock is correct and that you are sending dates in YYYY-MM-DD format (UTC).
  5. Confirm uniqueness constraints. email, saas_customer_id, and saas_contract_id must be globally unique. Check your records before retrying a failed create request.
  6. Test in the sandbox first. Use https://api.test.lumenaza.de/ to validate your integration without affecting production data.
When contacting Lumenaza support about an error, always include: the endpoint path, the HTTP method, the full (sanitised) request body, the HTTP status code received, and the full response body.