Errors

SignumEra uses standard HTTP status codes together with structured JSON error responses.

Error Format

Most API errors use the following format:

{
    "error": {
        "code": "error_code",
        "message": "Human-readable description."
    }
}

HTTP Status Codes

Status Meaning
400 Malformed or invalid request.
401 Missing, invalid or expired OAuth access token.
403 The authenticated application is not permitted to perform the operation.
404 The requested resource was not found.
409 The request conflicts with the current resource or ceremony state.
413 The uploaded document exceeds the permitted size.
415 Unsupported Content-Type.
422 The request was understood but failed validation.
503 A SignumEra internal service required to complete the operation is temporarily unavailable.

Upload Errors

HTTP Code Description
415 invalid_content_type The upload Content-Type must be application/pdf.
422 missing_pdf The PDF request body is empty.
413 pdf_too_large The PDF exceeds the 50 MiB upload limit.
422 invalid_pdf The request body does not contain a valid PDF document header.
503 upstream_unavailable The document upload service is temporarily unavailable.

Signing Request Errors

HTTP Code Description
422 invalid_idempotency_key A valid Idempotency-Key header is required when creating a signing request.
409 idempotency_key_reused The supplied Idempotency-Key was previously used with a different request payload.
404 signing_request_not_found The signing request could not be found for the current organization or application.
409 signing_request_not_ready The signing request has not reached the state required for the requested operation.
503 upstream_submission_failed A previous attempt to submit the signing request to the signing service failed.
503 upstream_unavailable The signing service is temporarily unavailable.

Participant Errors

HTTP Code Description
403 participant_forbidden The application cannot modify participants for this signing request.
409 participant_conflict Ceremony state or signing sequence prevents the participant from being added.
422 invalid_participant_request The participant request is invalid.

Preparation Errors

HTTP Code Description
403 prepare_forbidden The application cannot prepare this signing request.
409 prepare_conflict The signing request cannot be prepared in its current state.
422 invalid_prepare_request The preparation request is invalid.

Widget Session Errors

HTTP Code Description
403 widget_session_forbidden The application is not authorized to launch this signing request.
409 widget_session_conflict A widget session cannot be created in the current signing state.
422 invalid_widget_session_request The widget launch request is invalid.

Cancellation Errors

HTTP Code Description
409 signing_request_conflict The signing request can no longer be cancelled.
422 invalid_cancellation_request The cancellation request is invalid.

Laravel Validation Errors

Laravel validation failures may return HTTP 422 Unprocessable Entity with field-specific validation information.

{
    "message": "The given data was invalid.",
    "errors": {
        "external_reference": [
            "The external reference field is required."
        ]
    }
}

Handling Errors

Applications should use the HTTP status code for broad error handling and the SignumEra error code for application-specific behavior.

Do not build application logic by matching the human-readable message, because message text may change without changing the underlying error code.