Skip to main content
This endpoint retrieves the complete detail record for a single electronic invoice identified by its invoice number. The response includes the issuing company’s information, the full customer profile, the numbering range used, the bill object (containing the CUFE hash, QR code URL, and a base64-encoded QR image), the line items with calculated taxes, and any associated withholding taxes, credit notes, or debit notes.

Endpoint

GET /factura/:number

Path Parameter

string
required
The full invoice number as assigned by the Factus API (e.g., SETP990000009). This is the number field returned in the list response or in the response body after creating an invoice.

Request

No request body is required. The backend internally forwards the number path segment to GET /v1/bills/show/{number} on the Factus API, attaching the Bearer token from the server environment.

Response

200 — Success

Returns a JSON object whose data property contains the full invoice detail.
number
Always 200 on success.
string
Always "OK" on success.
object
Full invoice detail object.

404 — Not Found

When the invoice number does not exist on the Factus side, the upstream API returns an error response that the backend will surface as a 409 CONFLICT (see below) or a 500, depending on the error type. Factus itself does not return a distinct 404 HTTP status — the backend maps all non-"OK" upstream responses to 409.

409 — Conflict

Returned when the Factus API responds with an unexpected status value.

500 — Internal Server Error

Two distinct shapes are possible: Shape A — upstream call failure (from request_fact internal catch):
Optional extra fields: message (Axios error message), code (Axios error code), error_name (error class name). Shape B — controller-level exception:
The messaje key (with a j) in Shape B is a known typo in the backend source. Shape A uses error as a plain string ("ERROR INTERNO").

Example Response (200)

Code Examples