🤖 This is the single error reference for the Judit API: HTTP 2xx/4xx/5xx codes, internal exceptions (name),application_errorreturned in payload (even when HTTP is 200), and practical troubleshooting.
Anatomy of an error
The Judit API distinguishes two error types:Transport errors (HTTP 4xx/5xx)
The request failed on basic validation, authentication, authorization or server side. The payload follows
{ error: { name, message, data } }.Application errors (response_type: application_error)
HTTP is
200, but the query did not return the expected object. It can be “lawsuit not found”, “homonym”, secrecy, etc. Comes inside responses[].response_type = application_error.HTTP Status Codes
The API uses standard HTTP conventions.Success (2xx)
Client Errors (4xx)
Server Errors (5xx)
HTTP error payload structure
Regardless of status (400 or 500), the response body always follows this contract:Internal codes (error.name)
Use these values for programmatic automation:
Authentication and permissions
Validation and processing
Application errors (application_error)
When you receive response_type: application_error instead of the expected payload, the query was successfully processed, but the result is a logical exception.
application_error example
Centralized handler (ready-to-use code)
Create a single interceptor to log and handle Judit API errors.Handling patterns
Exponential backoff on 429 and 5xx
Exponential backoff on 429 and 5xx
Implement retry with jitter:The
Retry-After header (when present) must be respected.Idempotency via `callback_id`
Idempotency via `callback_id`
Webhooks redeliver on failure. Always check
callback_id before processing — store it in a table (id, received_at). If already present, ignore.`application_error` vs HTTP 4xx distinction
`application_error` vs HTTP 4xx distinction
Treat
application_error as a valid query result (the integration is fine), while HTTP 4xx indicates that the call is wrong. Log them separately in monitoring.Secrecy (`secrecy_level`)
Secrecy (`secrecy_level`)
When the lawsuit is secret and the
api-key has no registered credential for the court, Judit returns application_error: SECRECY_RESTRICTED. To access, register the lawyer’s credential at Vault and reference it via customer_key in the query.Quotas and limits
Quotas and limits
On 429, read
X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset to adjust dispatching. For mass flows, adopt a sliding window.Quick troubleshooting table
Next steps
- 👉 Rate Limits — Retry with Exponential Backoff function to handle
429. - 👉 Authentication — how to send credentials correctly to avoid
401. - 👉 Webhook & Callbacks — redelivery behavior and idempotency.
- 👉 Glossary — technical terms referenced here.
- 👉 FAQ — frequently asked questions.