Factuarea API
Eventos de integración

Lista los eventos de integración

Consulta todo lo que las pasarelas de pago le han enviado a Factuarea. Esta es la bandeja que hay que abrir cuando un cobro no generó su factura: cada evento descartado lleva un discard_reason tipado y si se puede reprocesar. De más reciente a más antiguo, y acotado a la empresa autenticada. El contenido crudo del evento no se devuelve nunca.

GET
/integrations/events
AuthorizationBearer <token>

En: header

Parámetros de consulta

provider?string

Pasarela de pago o integración que produjo el evento.

Valor en"stripe" | "gocardless" | "monei" | "slack" | "teams" | "a3" | "norma43" | "norma19" | "ubl"
status?string

Resultado del evento (success, skipped, failure).

Valor en"success" | "skipped" | "failure"
event_type?string

Tipo de evento del proveedor, con coincidencia exacta. Texto libre, no un enum cerrado.

Longitudlength <= 100
discard_reason?string

Motivo tipado por el que se descartó el evento, del catálogo cerrado.

Valor en"event_not_normalizable" | "duplicate_redelivery" | "connected_account_missing" | "connected_account_unknown" | "spontaneous_payment_missing_id" | "autoinvoicing_disabled" | "unsupported_currency" | "refund_without_items" | "refund_autoinvoicing_disabled" | "subscription_missing_invoice_id" | "subscription_proration_review" | "subscription_not_a_cycle" | "subscription_trial_skipped" | "subscription_autoinvoicing_disabled" | "subscription_already_invoiced" | "payout_missing_id" | "payout_connected_account_missing" | "payment_failed" | "event_type_not_covered" | "checkout_lines_retrieve_failed"
is_parked?boolean

Si el evento se aparcó con su contenido para poder reprocesarlo.

created_at[gte]?string

Límite inferior inclusivo de created_at (ISO 8601).

Formatodate-time
created_at[lte]?string

Límite superior inclusivo de created_at (ISO 8601).

Formatodate-time
limit?integer

Número de eventos que devolver. Entero entre 1 y 100. Por defecto 25. Un valor no entero o fuera de rango devuelve 400.

Predeterminado25
Rango1 <= value <= 100
starting_after?string

Cursor de paginación hacia delante: devuelve el next_cursor de la página anterior. Trátalo como opaco — a diferencia del resto de listados de v1 es una cadena numérica, no un UUID v7. Un cursor malformado devuelve 400.

Coincidencia^[0-9]+$

Parámetros de cabecera

Factuarea-Version?string

Fija la versión de la API (YYYY-MM-DD, versionado por fecha estilo Stripe) para esta petición; omítelo para usar la versión fijada de la clave, o la última si no hay ninguna. Versión no soportada → 400 unsupported_api_version; malformada → 400 parameter_invalid_format. La versión efectiva se refleja en la cabecera de respuesta Factuarea-Version. Consulta la guía de Versioning.

Formatodate
X-Active-Profile?string

Opera en nombre de una empresa hija (API key maestra de gestoría): pasa su id público (UUID v7) y la petición se ejecuta contra los datos de esa hija sin cambiar el scope, el tier ni el environment de la clave (omítelo para usar la propia empresa de la clave). UUID inválido → 400 parameter_invalid_uuid; id desconocido o no propio → 404 profile_not_found. Consulta la guía de Acting on behalf.

Formatouuid

Cuerpo de la respuesta

application/json

application/json

application/json

application/json

application/json

application/json

application/json

import { Factuarea } from "@factuarea/sdk";const factuarea = new Factuarea({ apiKey: process.env.FACTUAREA_API_KEY! });// List endpoints return an async-iterable Page (cursors handled for you).for await (const item of await factuarea.integrations.events.list({ limit: 25 })) {  console.log(item.id);}
{
  "data": [
    {
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a9b",
      "object": "integration_event",
      "provider": "stripe",
      "event_type": "invoice.paid",
      "direction": "inbound",
      "status": "skipped",
      "discard_reason": "autoinvoicing_disabled",
      "discard_reason_label": "Auto-facturación desactivada",
      "is_actionable": true,
      "is_replayable": true,
      "error_message": null,
      "duration_ms": 184,
      "created_at": "2026-07-15T09:30:12+00:00",
      "recommended_action": "Elige una de las dos salidas, no las dos: activa la auto-facturación en la configuración de la integración y reprocesa el evento, o crea la factura a mano. Si haces ambas, el cobro acabará con dos facturas."
    }
  ],
  "has_more": true,
  "next_cursor": "91544"
}

{
  "error": {
    "type": "invalid_request_error",
    "code": "parameter_unknown",
    "message": "El parámetro 'per_page' no está reconocido por este endpoint.",
    "param": "per_page",
    "doc_url": "https://docs.factuarea.com/guides/errors#parameter_unknown",
    "request_id": "req_01HKQS5N7UR6PWJ8K2T5BWPMZ9"
  }
}

{
  "error": {
    "type": "authentication_error",
    "code": "missing_api_key",
    "message": "No se ha proporcionado una API key válida en el header Authorization.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#missing_api_key",
    "request_id": "req_01HKQS5N8VR7QXJ9K3T6BWPMZA"
  }
}

{
  "error": {
    "type": "authorization_error",
    "code": "insufficient_scope",
    "message": "Esta API key no tiene el scope requerido para esta operación.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#insufficient_scope",
    "request_id": "req_01HKQS5NBC3P8M1KX4V7SLNHQD"
  }
}

{
  "error": {
    "type": "invalid_request_error",
    "code": "parameter_invalid",
    "message": "El campo `name` es obligatorio y no puede estar vacío.",
    "param": "name",
    "doc_url": "https://docs.factuarea.com/guides/errors#parameter_invalid",
    "request_id": "req_01HKQS5NGS8Z3T6Q1D2E7FYVSI"
  }
}

{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Has excedido el rate limit de 60 peticiones por minuto. Reintenta tras 30 segundos.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#rate_limit_exceeded",
    "request_id": "req_01HKQS5NKW1C6W9T4G5H0JBZVL"
  }
}

{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "Ha ocurrido un error inesperado. Si persiste, contacta con soporte adjuntando el request_id.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#internal_error",
    "request_id": "req_01HKQS5NLX2D7X0U5H6J1KCAWM"
  }
}