Follow the record relationships
Consultation, encounter, and invoice IDs are different identifiers. Follow the returned relationships rather than substituting one ID for another.
Create an invoice and add charges
If the workflow requires a new invoice, usePOST /invoices with the documented invoice envelope. For example:
GET /invoice_item_locations, then use the invoice and catalog-item IDs with POST /consultation_invoice_items. Its request uses the consultation_invoice_item envelope and fields such as invoice_id, invoice_item_id, account_id, quantity, and value. Ordinary charges take their description and unit value from the selected catalog item; a supplied value does not override that catalog price. Payment handling is separate—confirm the amount units and supported request with Nimbo before using it.
Sign and deliver a CFDI
UsePOST /invoices/{id}/sign only after reviewing the invoice and confirming the required certificate and tax configuration with Nimbo. Retrieve the signed document through GET /invoices/{id}/download_cfdi.pdf or GET /invoices/{id}/download_cfdi.xml. Use POST /invoices/{id}/email_invoice for email delivery.
The PDF and XML download contracts accept a token query parameter. This is an endpoint-specific exception to bearer-header guidance. Keep generated download URLs out of analytics, logs, screenshots, and shared messages. Parse the download according to its PDF or XML content, not as JSON.
For reporting, GET /reports/consultation_invoice_items documents start, end, status, and person filters. Consult the response schema for totals and status fields; do not infer signing or delivery success from a create request alone.
Find these operations under Charges and invoicing in the Browse endpoints, with detailed schemas in the ERP and billing specifications.