Emitir nota de débito
const url = 'https://api.chaski.ec/v1/debit-notes';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"invoice":"example","external_ref":"example","reasons":[{"description":"example","amount":"example","iva_rate":"0"}],"payments":[{"method":"no_financial_system","amount":"example","term":"example","time_unit":"example"}],"additional_info":{"additionalProperty":"example"},"metadata":{"additionalProperty":"example"},"send_email":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.chaski.ec/v1/debit-notes \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --data '{ "invoice": "example", "external_ref": "example", "reasons": [ { "description": "example", "amount": "example", "iva_rate": "0" } ], "payments": [ { "method": "no_financial_system", "amount": "example", "term": "example", "time_unit": "example" } ], "additional_info": { "additionalProperty": "example" }, "metadata": { "additionalProperty": "example" }, "send_email": true }'Nota de débito (05), esquema 1.0.0: suma cargos a una factura authorized (intereses por mora, gastos de cobranza…). Sale del mismo emisor y punto de emisión, con el mismo comprador. Cada motivo lleva su valor sin IVA y su tarifa (iva_rate); el IVA se calcula por tarifa. payments es opcional; si se envía, debe sumar el total. Una factura voided responde 409 invoice_voided y una que no está autorizada, 409 invoice_not_authorized. Responde 202 con status: "pending" y se notifica con debit_note.authorized o debit_note.rejected. En producción consume cuota igual que una factura (402 quota_exceeded).
Authorizations
Sección titulada «Authorizations»Parameters
Sección titulada «Parameters»Header Parameters
Sección titulada «Header Parameters»Una clave única por petición (por ejemplo un UUID). Vale 24 h: reintentar con la misma clave y el mismo body devuelve la misma respuesta.
Request Bodyrequired
Sección titulada «Request Bodyrequired»object
object
object
object
object
Responses
Sección titulada «Responses»OK
object
Clave de acceso de 49 dígitos
object
object
object
object
object
object
Example
{ "id": "dn_01jbx3k9q2f8m4tn6vwz0yh5ce", "status": "pending", "environment": "test", "emission_point": "001-001", "number": "001-001-000000003", "invoice": "inv_01jbx3k9q2f8m4tn6vwz0yh5ce", "invoice_number": "001-001-000000123", "totals": { "taxes": [ { "type": "iva" } ] }}Petición inválida
object
object
Example
{ "error": { "code": "invalid_request" }}Falta la API key o no es válida
object
object
Example
{ "error": { "code": "invalid_request" }}Cuota de comprobantes agotada (quota_exceeded)
object
object
Example
{ "error": { "code": "invalid_request" }}Sin permiso (cuenta suspendida, emisor no habilitado en producción, límite del plan…)
object
object
Example
{ "error": { "code": "invalid_request" }}Conflicto (recurso repetido, Idempotency-Key en curso…)
object
object
Example
{ "error": { "code": "invalid_request" }}Demasiadas peticiones
object
object
Example
{ "error": { "code": "invalid_request" }}