List Invoices
curl --request GET \
--url https://api.example.com/api/invoices{
"data": [
{
"id": "<string>",
"profile_id": "<string>",
"uuid": "<string>",
"fecha": "<string>",
"mes": 123,
"año": 123,
"total": 123,
"subtotal": 123,
"iva": 123,
"iva_amount": 123,
"retencion_iva_amount": 123,
"retencion_isr_amount": 123,
"tipo": {},
"rfc_emisor": "<string>",
"nombre_emisor": "<string>",
"regimen_fiscal_emisor": "<string>",
"rfc_receptor": "<string>",
"nombre_receptor": "<string>",
"regimen_fiscal_receptor": "<string>",
"concepto": "<string>",
"pagos": [
{
"fechaPago": "<string>",
"formaPago": "<string>",
"monedaPago": "<string>",
"monto": 123,
"numOperacion": "<string>"
}
],
"complemento_pago": {
"fechaPago": "<string>",
"formaPago": "<string>",
"monedaPago": "<string>",
"tipoCambio": 123,
"monto": 123,
"numOperacion": "<string>",
"facturasRelacionadas": [
{
"uuid": "<string>",
"monedaDR": "<string>",
"tipoCambioDR": 123,
"metodoPagoDR": "<string>",
"numParcialidad": 123,
"impSaldoAnt": 123,
"impPagado": 123,
"impSaldoInsoluto": 123
}
]
},
"validacion": {
"rfcVerificado": true,
"regimenFiscalVerificado": true,
"uuidDuplicado": true,
"advertencias": [
"<string>"
],
"errores": [
"<string>"
],
"valido": true
},
"estadoPago": {
"estado": {},
"totalFactura": 123,
"totalPagado": 123,
"saldoPendiente": 123,
"porcentajePagado": 123,
"completamentePagado": true,
"ultimoSaldoInsoluto": 123,
"tieneComplementos": true,
"tienePagosManuales": true
},
"profile": {
"id": "<string>",
"nombre": "<string>",
"rfc": "<string>"
},
"created_at": "<string>",
"updated_at": "<string>"
}
],
"pagination": {
"total": 123,
"page": 123,
"limit": 123,
"totalPages": 123
}
}Invoices
List Invoices
Retrieve a paginated list of invoices with optional filtering
GET
/
api
/
invoices
List Invoices
curl --request GET \
--url https://api.example.com/api/invoices{
"data": [
{
"id": "<string>",
"profile_id": "<string>",
"uuid": "<string>",
"fecha": "<string>",
"mes": 123,
"año": 123,
"total": 123,
"subtotal": 123,
"iva": 123,
"iva_amount": 123,
"retencion_iva_amount": 123,
"retencion_isr_amount": 123,
"tipo": {},
"rfc_emisor": "<string>",
"nombre_emisor": "<string>",
"regimen_fiscal_emisor": "<string>",
"rfc_receptor": "<string>",
"nombre_receptor": "<string>",
"regimen_fiscal_receptor": "<string>",
"concepto": "<string>",
"pagos": [
{
"fechaPago": "<string>",
"formaPago": "<string>",
"monedaPago": "<string>",
"monto": 123,
"numOperacion": "<string>"
}
],
"complemento_pago": {
"fechaPago": "<string>",
"formaPago": "<string>",
"monedaPago": "<string>",
"tipoCambio": 123,
"monto": 123,
"numOperacion": "<string>",
"facturasRelacionadas": [
{
"uuid": "<string>",
"monedaDR": "<string>",
"tipoCambioDR": 123,
"metodoPagoDR": "<string>",
"numParcialidad": 123,
"impSaldoAnt": 123,
"impPagado": 123,
"impSaldoInsoluto": 123
}
]
},
"validacion": {
"rfcVerificado": true,
"regimenFiscalVerificado": true,
"uuidDuplicado": true,
"advertencias": [
"<string>"
],
"errores": [
"<string>"
],
"valido": true
},
"estadoPago": {
"estado": {},
"totalFactura": 123,
"totalPagado": 123,
"saldoPendiente": 123,
"porcentajePagado": 123,
"completamentePagado": true,
"ultimoSaldoInsoluto": 123,
"tieneComplementos": true,
"tienePagosManuales": true
},
"profile": {
"id": "<string>",
"nombre": "<string>",
"rfc": "<string>"
},
"created_at": "<string>",
"updated_at": "<string>"
}
],
"pagination": {
"total": 123,
"page": 123,
"limit": 123,
"totalPages": 123
}
}Authentication
This endpoint requires authentication. Include your access token in the Authorization header.Authorization: Bearer YOUR_ACCESS_TOKEN
Query Parameters
Filter invoices by profile ID
Filter by month (1-12)
Filter by year
Filter by tax regime code
Page number for pagination
Number of invoices per page
Search term to filter invoices by UUID, RFC, or name
Response
Array of invoice objects
Show Invoice
Show Invoice
Unique identifier for the invoice
Profile ID this invoice belongs to
CFDI UUID (Folio Fiscal)
Invoice date in ISO format
Month extracted from invoice date (1-12)
Year extracted from invoice date
Total amount of the invoice
Subtotal before taxes
IVA percentage rate
IVA transferred amount (impuesto trasladado)
IVA withholding amount
ISR withholding amount
Payment type:
PUE (payment in one exhibit), PPD (payment in installments), or COMPLEMENTO_PAGO (payment complement)RFC of the issuer
Name of the issuer
Tax regime code of the issuer
RFC of the recipient
Name of the recipient
Tax regime code of the recipient
Invoice concept or description
Payment complement information (for COMPLEMENTO_PAGO type)
Show ComplementoPago
Show ComplementoPago
Payment date
Payment method
Payment currency
Exchange rate
Payment amount
Operation number
Related invoices being paid
Validation results
Payment status details
Show EstadoPago
Show EstadoPago
Payment state:
PAGADO, PAGO_PARCIAL, or NO_PAGADOTotal invoice amount
Total amount paid
Pending balance
Percentage paid (0-100)
Whether fully paid
Last outstanding balance from payment complement
Whether has payment complements
Whether has manual payments
Creation timestamp in ISO format
Last update timestamp in ISO format
Example Request
curl -X GET "https://api.contafy.com/api/invoices?profileId=prof_123&mes=3&año=2026&page=1&limit=10" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Example Response
{
"data": [
{
"id": "inv_abc123",
"profile_id": "prof_123",
"uuid": "12345678-90AB-CDEF-1234-567890ABCDEF",
"fecha": "2026-03-15T10:30:00Z",
"mes": 3,
"año": 2026,
"total": 11600.00,
"subtotal": 10000.00,
"iva": 16,
"iva_amount": 1600.00,
"tipo": "PUE",
"rfc_emisor": "XAXX010101000",
"nombre_emisor": "Empresa Ejemplo SA de CV",
"regimen_fiscal_emisor": "601",
"rfc_receptor": "BAXX010101000",
"nombre_receptor": "Cliente Ejemplo",
"regimen_fiscal_receptor": "612",
"concepto": "Servicios de consultoría",
"pagos": [],
"complemento_pago": null,
"validacion": {
"rfcVerificado": true,
"regimenFiscalVerificado": true,
"uuidDuplicado": false,
"advertencias": [],
"errores": [],
"valido": true
},
"estadoPago": {
"estado": "PAGADO",
"totalFactura": 11600.00,
"totalPagado": 11600.00,
"saldoPendiente": 0,
"porcentajePagado": 100,
"completamentePagado": true,
"ultimoSaldoInsoluto": null,
"tieneComplementos": false,
"tienePagosManuales": false
},
"created_at": "2026-03-15T10:35:00Z",
"updated_at": "2026-03-15T10:35:00Z"
}
],
"pagination": {
"total": 1,
"page": 1,
"limit": 10,
"totalPages": 1
}
}
Error Responses
401 Unauthorized
{
"error": "Unauthorized",
"message": "Invalid or missing access token"
}
400 Bad Request
{
"error": "Bad Request",
"message": "Invalid query parameters"
}
500 Internal Server Error
{
"error": "Internal Server Error",
"message": "An unexpected error occurred"
}
⌘I