Activar factura recurrent
Activa una factura recurrent pausada. La següent factura es generarà segons la programació. És un àlies semàntic de POST /recurring_invoices/{recurring_invoice}/resume — tots dos apunten al mateix handler i es comporten igual; cap dels dos està obsolet.
A: header
Paràmetres de ruta
Paràmetres de capçalera
Clau opaca generada pel client (fins a 255 caràcters; es recomana UUID v7) que fa segurs els reintents: la primera resposta es cacheja i es reprodueix a les repeticions sense tornar a executar la mutació. Reutilitzar una clau amb un cos diferent retorna 409 idempotency_key_reused. Consulta la guia d'Idempotency.
1 <= length <= 255Fixa la versió de l'API (YYYY-MM-DD, versionat per data estil Stripe) per a aquesta petició; omet-lo per usar la versió fixada de la clau, o l'última si no n'hi ha cap. Versió no suportada → 400 unsupported_api_version; mal formada → 400 parameter_invalid_format. La versió efectiva es reflecteix a la capçalera de resposta Factuarea-Version. Consulta la guia de Versioning.
dateOpera en nom d'una empresa filla (API key mestra de gestoria): passa el seu id públic (UUID v7) i la petició s'executa contra les dades d'aquella filla sense canviar l'scope, el tier ni l'environment de la clau (omet-lo per usar la pròpia empresa de la clau). UUID no vàlid → 400 parameter_invalid_uuid; id desconegut o no propi → 404 profile_not_found. Consulta la guia d'Acting on behalf.
uuidCos de la resposta
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! });const result = await factuarea.recurringInvoices.activate("01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a01");{
"data": {
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a08",
"object": "recurring_invoice",
"client": {
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a01",
"name": "Acme Corporation"
},
"series": {
"id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0e",
"code": "F-2026"
},
"status": "active",
"frequency": "monthly",
"name": "Cuota mantenimiento mensual Acme",
"description": "Contrato de soporte y mantenimiento Plan Pro",
"notes": "Renovación automática. Facturar el día 1 de cada mes.",
"email_to": "facturacion@acme.example",
"send_automatically": true,
"days_before_due": 30,
"max_occurrences": 12,
"occurrences_count": 3,
"remaining_occurrences": 9,
"holiday_handling": "next_business_day",
"start_on": "2026-01-01",
"end_on": "2026-12-31",
"next_run_at": "2026-02-01T09:00:00Z",
"last_run_at": "2026-01-01T09:00:00Z",
"cancelled_at": null,
"subtotal": 200,
"taxes_total": 42,
"total": 242,
"currency": "EUR",
"lines": [
{
"object": "recurring_invoice_line",
"description": "Cuota soporte mensual",
"quantity": 1,
"unit_price": 200,
"tax_rate": 21,
"retention": 0,
"surcharge": 0,
"subtotal": 200,
"taxes": 42,
"total": 242,
"exemption_reason": "string",
"regime_key": "string",
"retention_rate_id": "string",
"surcharge_rate_id": "string",
"indirect_tax_regime": "iva"
}
],
"metadata": {
"erp_code": "IVA-GEN",
"ledger_account": "477000"
},
"external_id": "ERP-REC-2026-0008",
"tags": [
"suscripcion",
"mantenimiento"
],
"custom_fields": [
{
"field": "contrato",
"value": "CTR-2026-0007"
}
],
"auto_delivery": {
"send_automatically": true,
"recipients": [
"facturacion@acme.example"
],
"cc": [
"administracion@acme.example"
],
"subject": "Tu factura mensual de Acme",
"body": "Adjuntamos la factura correspondiente a tu cuota de mantenimiento mensual."
},
"created_at": "2025-12-20T15:00:00Z",
"updated_at": "2026-01-01T09:05:00Z"
}
}{
"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": "not_found_error",
"code": "resource_not_found",
"message": "El recurso solicitado no existe o pertenece a otra empresa.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#resource_not_found",
"request_id": "req_01HKQS5NEQ6X1R4N9B0C5DWTPG"
}
}{
"error": {
"type": "idempotency_error",
"code": "idempotency_key_reused",
"message": "La cabecera `Idempotency-Key` ya se usó con un body distinto. Usa una clave nueva o reenvía exactamente el mismo body.",
"param": null,
"doc_url": "https://docs.factuarea.com/guides/errors#idempotency_key_reused",
"request_id": "req_01HKQS5NHT9A4U7R2E3F8GZWTJ"
}
}{
"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"
}
}