Actualizar factura
PATCH/v1/invoices/:id
Actualización parcial: los campos ausentes mantienen su valor. Una factura paid, void o uncollectible mantiene sus condiciones bloqueadas y solo acepta subscription_id, description, line_items, metadata, custom_metadata y external_id — y, cuando está paid, también nfe_issuance_policy y nfe_description_line. Cambiar el valor de cualquier otro campo en esos estados (empresa, método de cobro, política de intereses y multa, vencimiento, período, pie de página) responde 422 con el código INVOICE_FIELD_LOCKED y, en details, status, locked_fields (los campos rechazados) y editable_fields. Un campo bloqueado enviado con el valor ya guardado no es un cambio: se ignora, así que reenviar el objeto completo leído de la API funciona. line_items sigue rechazado (409) mientras la factura tenga una NF-e emitida o en proceso. La misma regla vale para PUT /invoices cuando encuentra una factura existente.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 422
- 429
- 500
Factura actualizada.
El cuerpo de la solicitud falló en la validación.
Token bearer ausente o inválido.
Token válido, pero sin permiso para esta operación. Con code insufficient_scope, details.required trae el único conjunto mínimo de scopes que, sumados a details.granted, dejaría pasar la solicitud: el scope del recurso (billing/{recurso}, o billing/all fuera del catálogo) y luego el verbo simple — por ejemplo ["billing/customers", "delete"].
Recurso no encontrado en la organización actual.
El cuerpo de la solicitud falló en la validación.
Límite de solicitudes excedido.
Error inesperado en el servidor.