# Referencia de la API

> Todas las operaciones de la API de Trevol, por recurso, con ejemplos de código en cURL y siete lenguajes.

Fuente: https://platform.trevol.si/docs/api

La API de Trevol es REST con JSON, en `https://api.trevol.si/v1`. Esta referencia sale de la [especificación OpenAPI 3.1](/openapi.json) (versión 2026-10-22): una página por recurso y, en [Objetos](/docs/api/objetos), cada esquema con sus campos. Antes de empezar, lee [Llaves y entornos](/docs/llaves), [Convenciones](/docs/convenciones) e [Idempotencia](/docs/idempotencia).

## General

[Ver la página de General](/docs/api/general)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `GET` | `/v1/health` | [Salud](/docs/api/general#getHealth) |
| `GET` | `/v1/company` | [La empresa de la llave](/docs/api/general#retrieveCompany) |
| `GET` | `/v1/dian/acquirer` | [Datos del adquiriente en la DIAN](/docs/api/general#retrieveDianAcquirer) |

## Facturas

[Ver la página de Facturas](/docs/api/invoices)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/invoices` | [Emitir una factura](/docs/api/invoices#createInvoice) |
| `GET` | `/v1/invoices` | [Listar (factura)](/docs/api/invoices#listInvoices) |
| `POST` | `/v1/invoices/preview` | [Calcular una factura sin emitirla](/docs/api/invoices#previewInvoice) |
| `GET` | `/v1/invoices/{id}` | [Una factura](/docs/api/invoices#retrieveInvoice) |
| `PUT` | `/v1/invoices/{id}` | [Corregir una factura rechazada (mismo número) y reenviarla](/docs/api/invoices#correctInvoice) |
| `POST` | `/v1/invoices/{id}/send` | [Reenviar una pendiente o en error](/docs/api/invoices#sendInvoice) |
| `GET` | `/v1/invoices/{id}/pdf` | [Archivo pdf](/docs/api/invoices#downloadInvoicePdf) |
| `GET` | `/v1/invoices/{id}/xml` | [Archivo xml](/docs/api/invoices#downloadInvoiceXml) |
| `GET` | `/v1/invoices/{id}/zip` | [Archivo zip](/docs/api/invoices#downloadInvoiceZip) |
| `GET` | `/v1/invoices/{id}/dian_response` | [Archivo dian_response](/docs/api/invoices#downloadInvoiceDianResponse) |
| `GET` | `/v1/invoices/{id}/tacit_acceptance` | [¿Procede ya la aceptación tácita (034) de esta factura?](/docs/api/invoices#retrieveInvoiceTacitAcceptance) |

## Notas crédito

[Ver la página de Notas crédito](/docs/api/credit-notes)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/credit_notes` | [Emitir una nota crédito](/docs/api/credit-notes#createCreditNote) |
| `GET` | `/v1/credit_notes` | [Listar (nota crédito)](/docs/api/credit-notes#listCreditNotes) |
| `POST` | `/v1/credit_notes/preview` | [Calcular una nota crédito sin emitirla](/docs/api/credit-notes#previewCreditNote) |
| `GET` | `/v1/credit_notes/{id}` | [Una nota crédito](/docs/api/credit-notes#retrieveCreditNote) |
| `PUT` | `/v1/credit_notes/{id}` | [Corregir una nota crédito rechazada (mismo número) y reenviarla](/docs/api/credit-notes#correctCreditNote) |
| `POST` | `/v1/credit_notes/{id}/send` | [Reenviar una pendiente o en error](/docs/api/credit-notes#sendCreditNote) |
| `GET` | `/v1/credit_notes/{id}/pdf` | [Archivo pdf](/docs/api/credit-notes#downloadCreditNotePdf) |
| `GET` | `/v1/credit_notes/{id}/xml` | [Archivo xml](/docs/api/credit-notes#downloadCreditNoteXml) |
| `GET` | `/v1/credit_notes/{id}/zip` | [Archivo zip](/docs/api/credit-notes#downloadCreditNoteZip) |
| `GET` | `/v1/credit_notes/{id}/dian_response` | [Archivo dian_response](/docs/api/credit-notes#downloadCreditNoteDianResponse) |

## Notas débito

[Ver la página de Notas débito](/docs/api/debit-notes)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/debit_notes` | [Emitir una nota débito](/docs/api/debit-notes#createDebitNote) |
| `GET` | `/v1/debit_notes` | [Listar (nota débito)](/docs/api/debit-notes#listDebitNotes) |
| `POST` | `/v1/debit_notes/preview` | [Calcular una nota débito sin emitirla](/docs/api/debit-notes#previewDebitNote) |
| `GET` | `/v1/debit_notes/{id}` | [Una nota débito](/docs/api/debit-notes#retrieveDebitNote) |
| `PUT` | `/v1/debit_notes/{id}` | [Corregir una nota débito rechazada (mismo número) y reenviarla](/docs/api/debit-notes#correctDebitNote) |
| `POST` | `/v1/debit_notes/{id}/send` | [Reenviar una pendiente o en error](/docs/api/debit-notes#sendDebitNote) |
| `GET` | `/v1/debit_notes/{id}/pdf` | [Archivo pdf](/docs/api/debit-notes#downloadDebitNotePdf) |
| `GET` | `/v1/debit_notes/{id}/xml` | [Archivo xml](/docs/api/debit-notes#downloadDebitNoteXml) |
| `GET` | `/v1/debit_notes/{id}/zip` | [Archivo zip](/docs/api/debit-notes#downloadDebitNoteZip) |
| `GET` | `/v1/debit_notes/{id}/dian_response` | [Archivo dian_response](/docs/api/debit-notes#downloadDebitNoteDianResponse) |

## Documento soporte

[Ver la página de Documento soporte](/docs/api/support-documents)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/support_documents` | [Emitir un documento soporte](/docs/api/support-documents#createSupportDocument) |
| `GET` | `/v1/support_documents` | [Listar (documento soporte)](/docs/api/support-documents#listSupportDocuments) |
| `POST` | `/v1/support_documents/preview` | [Calcular un documento soporte sin emitirlo](/docs/api/support-documents#previewSupportDocument) |
| `GET` | `/v1/support_documents/{id}` | [Un documento soporte](/docs/api/support-documents#retrieveSupportDocument) |
| `PUT` | `/v1/support_documents/{id}` | [Corregir un documento soporte rechazado (mismo número) y reenviarlo](/docs/api/support-documents#correctSupportDocument) |
| `POST` | `/v1/support_documents/{id}/send` | [Reenviar una pendiente o en error](/docs/api/support-documents#sendSupportDocument) |
| `GET` | `/v1/support_documents/{id}/xml` | [Archivo xml](/docs/api/support-documents#downloadSupportDocumentXml) |
| `GET` | `/v1/support_documents/{id}/dian_response` | [Archivo dian_response](/docs/api/support-documents#downloadSupportDocumentDianResponse) |

## Notas de ajuste del documento soporte

[Ver la página de Notas de ajuste del documento soporte](/docs/api/support-document-adjustments)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/support_document_adjustments` | [Emitir una nota de ajuste del documento soporte](/docs/api/support-document-adjustments#createSupportDocumentAdjustment) |
| `GET` | `/v1/support_document_adjustments` | [Listar (nota de ajuste del documento soporte)](/docs/api/support-document-adjustments#listSupportDocumentAdjustments) |
| `POST` | `/v1/support_document_adjustments/preview` | [Calcular una nota de ajuste del documento soporte sin emitirla](/docs/api/support-document-adjustments#previewSupportDocumentAdjustment) |
| `GET` | `/v1/support_document_adjustments/{id}` | [Una nota de ajuste del documento soporte](/docs/api/support-document-adjustments#retrieveSupportDocumentAdjustment) |
| `PUT` | `/v1/support_document_adjustments/{id}` | [Corregir una nota de ajuste del documento soporte rechazada (mismo número) y reenviarla](/docs/api/support-document-adjustments#correctSupportDocumentAdjustment) |
| `POST` | `/v1/support_document_adjustments/{id}/send` | [Reenviar una pendiente o en error](/docs/api/support-document-adjustments#sendSupportDocumentAdjustment) |
| `GET` | `/v1/support_document_adjustments/{id}/xml` | [Archivo xml](/docs/api/support-document-adjustments#downloadSupportDocumentAdjustmentXml) |
| `GET` | `/v1/support_document_adjustments/{id}/dian_response` | [Archivo dian_response](/docs/api/support-document-adjustments#downloadSupportDocumentAdjustmentDianResponse) |

## Documento equivalente

[Ver la página de Documento equivalente](/docs/api/equivalent-documents)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/equivalent_documents` | [Emitir un documento equivalente](/docs/api/equivalent-documents#createEquivalentDocument) |
| `GET` | `/v1/equivalent_documents` | [Listar (documento equivalente)](/docs/api/equivalent-documents#listEquivalentDocuments) |
| `POST` | `/v1/equivalent_documents/preview` | [Calcular un documento equivalente sin emitirlo](/docs/api/equivalent-documents#previewEquivalentDocument) |
| `GET` | `/v1/equivalent_documents/{id}` | [Un documento equivalente](/docs/api/equivalent-documents#retrieveEquivalentDocument) |
| `PUT` | `/v1/equivalent_documents/{id}` | [Corregir un documento equivalente rechazado (mismo número) y reenviarlo](/docs/api/equivalent-documents#correctEquivalentDocument) |
| `POST` | `/v1/equivalent_documents/{id}/send` | [Reenviar una pendiente o en error](/docs/api/equivalent-documents#sendEquivalentDocument) |
| `GET` | `/v1/equivalent_documents/{id}/pdf` | [Archivo pdf](/docs/api/equivalent-documents#downloadEquivalentDocumentPdf) |
| `GET` | `/v1/equivalent_documents/{id}/xml` | [Archivo xml](/docs/api/equivalent-documents#downloadEquivalentDocumentXml) |
| `GET` | `/v1/equivalent_documents/{id}/zip` | [Archivo zip](/docs/api/equivalent-documents#downloadEquivalentDocumentZip) |
| `GET` | `/v1/equivalent_documents/{id}/dian_response` | [Archivo dian_response](/docs/api/equivalent-documents#downloadEquivalentDocumentDianResponse) |

## Notas de ajuste del documento equivalente

[Ver la página de Notas de ajuste del documento equivalente](/docs/api/equivalent-document-adjustments)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/equivalent_document_adjustments` | [Emitir una nota de ajuste del documento equivalente](/docs/api/equivalent-document-adjustments#createEquivalentDocumentAdjustment) |
| `GET` | `/v1/equivalent_document_adjustments` | [Listar (nota de ajuste del documento equivalente)](/docs/api/equivalent-document-adjustments#listEquivalentDocumentAdjustments) |
| `POST` | `/v1/equivalent_document_adjustments/preview` | [Calcular una nota de ajuste del documento equivalente sin emitirla](/docs/api/equivalent-document-adjustments#previewEquivalentDocumentAdjustment) |
| `GET` | `/v1/equivalent_document_adjustments/{id}` | [Una nota de ajuste del documento equivalente](/docs/api/equivalent-document-adjustments#retrieveEquivalentDocumentAdjustment) |
| `PUT` | `/v1/equivalent_document_adjustments/{id}` | [Corregir una nota de ajuste del documento equivalente rechazada (mismo número) y reenviarla](/docs/api/equivalent-document-adjustments#correctEquivalentDocumentAdjustment) |
| `POST` | `/v1/equivalent_document_adjustments/{id}/send` | [Reenviar una pendiente o en error](/docs/api/equivalent-document-adjustments#sendEquivalentDocumentAdjustment) |
| `GET` | `/v1/equivalent_document_adjustments/{id}/pdf` | [Archivo pdf](/docs/api/equivalent-document-adjustments#downloadEquivalentDocumentAdjustmentPdf) |
| `GET` | `/v1/equivalent_document_adjustments/{id}/xml` | [Archivo xml](/docs/api/equivalent-document-adjustments#downloadEquivalentDocumentAdjustmentXml) |
| `GET` | `/v1/equivalent_document_adjustments/{id}/zip` | [Archivo zip](/docs/api/equivalent-document-adjustments#downloadEquivalentDocumentAdjustmentZip) |
| `GET` | `/v1/equivalent_document_adjustments/{id}/dian_response` | [Archivo dian_response](/docs/api/equivalent-document-adjustments#downloadEquivalentDocumentAdjustmentDianResponse) |

## Nómina electrónica

[Ver la página de Nómina electrónica](/docs/api/payrolls)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/payrolls` | [Emitir una nómina electrónica](/docs/api/payrolls#createPayroll) |
| `GET` | `/v1/payrolls` | [Listar (nómina electrónica)](/docs/api/payrolls#listPayrolls) |
| `POST` | `/v1/payrolls/preview` | [Calcular una nómina electrónica sin emitirla](/docs/api/payrolls#previewPayroll) |
| `GET` | `/v1/payrolls/{id}` | [Una nómina electrónica](/docs/api/payrolls#retrievePayroll) |
| `PUT` | `/v1/payrolls/{id}` | [Corregir una nómina electrónica rechazada (mismo número) y reenviarla](/docs/api/payrolls#correctPayroll) |
| `POST` | `/v1/payrolls/{id}/send` | [Reenviar una pendiente o en error](/docs/api/payrolls#sendPayroll) |
| `GET` | `/v1/payrolls/{id}/xml` | [Archivo xml](/docs/api/payrolls#downloadPayrollXml) |
| `GET` | `/v1/payrolls/{id}/zip` | [Archivo zip](/docs/api/payrolls#downloadPayrollZip) |
| `GET` | `/v1/payrolls/{id}/dian_response` | [Archivo dian_response](/docs/api/payrolls#downloadPayrollDianResponse) |

## Notas de ajuste de nómina

[Ver la página de Notas de ajuste de nómina](/docs/api/payroll-adjustments)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/payroll_adjustments` | [Emitir una nota de ajuste de nómina](/docs/api/payroll-adjustments#createPayrollAdjustment) |
| `GET` | `/v1/payroll_adjustments` | [Listar (nota de ajuste de nómina)](/docs/api/payroll-adjustments#listPayrollAdjustments) |
| `POST` | `/v1/payroll_adjustments/preview` | [Calcular una nota de ajuste de nómina sin emitirla](/docs/api/payroll-adjustments#previewPayrollAdjustment) |
| `GET` | `/v1/payroll_adjustments/{id}` | [Una nota de ajuste de nómina](/docs/api/payroll-adjustments#retrievePayrollAdjustment) |
| `PUT` | `/v1/payroll_adjustments/{id}` | [Corregir una nota de ajuste de nómina rechazada (mismo número) y reenviarla](/docs/api/payroll-adjustments#correctPayrollAdjustment) |
| `POST` | `/v1/payroll_adjustments/{id}/send` | [Reenviar una pendiente o en error](/docs/api/payroll-adjustments#sendPayrollAdjustment) |
| `GET` | `/v1/payroll_adjustments/{id}/xml` | [Archivo xml](/docs/api/payroll-adjustments#downloadPayrollAdjustmentXml) |
| `GET` | `/v1/payroll_adjustments/{id}/zip` | [Archivo zip](/docs/api/payroll-adjustments#downloadPayrollAdjustmentZip) |
| `GET` | `/v1/payroll_adjustments/{id}/dian_response` | [Archivo dian_response](/docs/api/payroll-adjustments#downloadPayrollAdjustmentDianResponse) |

## Eventos RADIAN

[Ver la página de Eventos RADIAN](/docs/api/radian-events)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `POST` | `/v1/radian_events` | [Emitir un evento RADIAN](/docs/api/radian-events#createRadianEvent) |
| `GET` | `/v1/radian_events` | [Listar (evento RADIAN)](/docs/api/radian-events#listRadianEvents) |
| `GET` | `/v1/radian_events/{id}` | [Un evento radian](/docs/api/radian-events#retrieveRadianEvent) |
| `POST` | `/v1/radian_events/{id}/send` | [Reenviar una pendiente o en error](/docs/api/radian-events#sendRadianEvent) |
| `GET` | `/v1/radian_events/{id}/xml` | [Archivo xml](/docs/api/radian-events#downloadRadianEventXml) |
| `GET` | `/v1/radian_events/tacit_acceptance` | [¿Procede ya la aceptación tácita (034) de esta factura? (por CUFE)](/docs/api/radian-events#retrieveTacitAcceptanceByCufe) |

## Endpoints de webhooks

[Ver la página de Endpoints de webhooks](/docs/api/webhook-endpoints)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `GET` | `/v1/webhook_endpoints` | [Los endpoints de webhooks de la empresa y el ambiente](/docs/api/webhook-endpoints#listWebhookEndpoints) |
| `POST` | `/v1/webhook_endpoints` | [Crear un endpoint de webhooks (máximo 5 por empresa y ambiente)](/docs/api/webhook-endpoints#createWebhookEndpoint) |
| `GET` | `/v1/webhook_endpoints/{id}` | [Un endpoint](/docs/api/webhook-endpoints#retrieveWebhookEndpoint) |
| `PATCH` | `/v1/webhook_endpoints/{id}` | [Cambiar la URL, la descripción, los eventos o pausar y reactivar](/docs/api/webhook-endpoints#updateWebhookEndpoint) |
| `DELETE` | `/v1/webhook_endpoints/{id}` | [Borrar el endpoint (con sus entregas)](/docs/api/webhook-endpoints#deleteWebhookEndpoint) |
| `POST` | `/v1/webhook_endpoints/{id}/rotate_secret` | [Rotar el secreto](/docs/api/webhook-endpoints#rotateWebhookEndpointSecret) |
| `POST` | `/v1/webhook_endpoints/{id}/test` | [Mandar un evento `webhook.test` solo a este endpoint (debe estar activo)](/docs/api/webhook-endpoints#testWebhookEndpoint) |
| `GET` | `/v1/webhook_endpoints/{id}/deliveries` | [Las entregas de este endpoint, de la más nueva a la más vieja](/docs/api/webhook-endpoints#listWebhookEndpointDeliveries) |

## Eventos

[Ver la página de Eventos](/docs/api/events)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `GET` | `/v1/events` | [Los eventos de 30 días de la empresa y el ambiente](/docs/api/events#listEvents) |
| `GET` | `/v1/events/{id}` | [Un evento](/docs/api/events#retrieveEvent) |
| `POST` | `/v1/events/{id}/resend` | [Reenviar un evento a un endpoint (entrega manual nueva; el `webhook-id` es el mismo)](/docs/api/events#resendEvent) |

## Registro de peticiones

[Ver la página de Registro de peticiones](/docs/api/requests)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `GET` | `/v1/requests` | [El registro de peticiones de la empresa y el ambiente de la llave (30 días)](/docs/api/requests#listRequests) |

## Saldo

[Ver la página de Saldo](/docs/api/balance)

| Método | Ruta | Qué hace |
| --- | --- | --- |
| `GET` | `/v1/balance` | [El saldo de la cuenta (lo comparten sus empresas)](/docs/api/balance#retrieveBalance) |
| `GET` | `/v1/balance/transactions` | [Los movimientos del saldo de la cuenta](/docs/api/balance#listBalanceTransactions) |
| `POST` | `/v1/balance/top_ups` | [Preparar una recarga del saldo (para el widget de Wompi)](/docs/api/balance#createBalanceTopUp) |
