Proformas error codes
Every public API error code emitted by Proformas, with its HTTP status, its type and a page per code.
Error codes emitted by Proformas. Each code links to its own page with the cause and the action to take.
| Code | Type | HTTP | Description |
|---|---|---|---|
invalid_expiry_date | invalid_request_error | 422 | The expiry date is earlier than the issue date, or more than 365 days after it. |
invalid_proforma_id | invalid_request_error | 400 | The pro forma reference received is not a valid identifier, usually because an internal value replaced the public id. |
invalid_proforma_number | invalid_request_error | 422 | The pro forma number does not follow the canonical numbering format of its series. |
invalid_proforma_status | invalid_request_error | 422 | The value sent as status is outside the catalogue draft, accepted, rejected, expired, invoiced, cancelled. |
invalid_proforma_uuid | invalid_request_error | 400 | The pro forma identifier in the path or in the payload is not a valid UUID. |
proforma_already_accepted | invalid_request_error | 422 | The customer already accepted the pro forma, and acceptance is registered once. |
proforma_already_rejected | invalid_request_error | 422 | The pro forma is already marked as rejected. |
proforma_cannot_be_accepted | invalid_request_error | 422 | Acceptance does not apply from the current state: an invoiced, cancelled or expired pro forma no longer admits it. |
proforma_cannot_be_rejected | invalid_request_error | 422 | Rejection does not apply from the current state: once invoiced, cancelled or expired, the pro forma is closed. |
proforma_cannot_be_sent | invalid_request_error | 422 | Sending by email does not apply to a pro forma in a terminal state: there is no live offer to deliver. |
proforma_invalid_status_transition | invalid_request_error | 422 | The target status is unreachable from the current one: a draft can be accepted, cancelled or expire; an accepted pro forma can be invoiced, rejected or expire; invoiced, cancelled and expired are terminal. |
proforma_not_convertible_in_current_state | invalid_request_error | 422 | Converting into an invoice requires the customer to have accepted the pro forma; from any other state there is no agreement to bill. |
proforma_not_deletable_in_current_state | invalid_request_error | 422 | Only a draft pro forma can be deleted. Once it has been accepted, rejected or invoiced, it is part of the commercial trail. |
proforma_not_draft | invalid_request_error | 422 | The operation only makes sense while the pro forma is a draft, and this one has already moved on. |
proforma_not_editable_in_current_state | invalid_request_error | 422 | Only a draft pro forma admits editing. Once it is accepted, rejected, expired, invoiced or cancelled, its content is settled. |
proforma_not_found | not_found_error | 404 | The identifier does not resolve to any pro forma of the authenticated company. |
proforma_requires_at_least_one_line | invalid_request_error | 422 | The pro forma has no lines, so there is no amount to put in front of the customer. |
public_link_expires_at_exceeds_max_days | invalid_request_error | 422 | The requested expiry for the public link goes beyond the maximum window your plan allows for shared documents. |