Factuarea API
Sèries de documents

Cercar una sèrie per codi

Cerca una sèrie pel seu `code` (enviat al body JSON, sense distinció de majúscules). Un `code` NO és globalment únic: el mateix `code` pot reutilitzar-se entre diferents `document_type`s (multi-sèrie — p. ex. una sèrie `2026` per a factures i una altra `2026` per a pressupostos). Per tant: passa `document_type` per desambiguar i resoldre la sèrie exacta `(code, document_type)`. Si omets `document_type`, el codi es cerca en tots els tipus de document ordenats per `uuid` ascendent — quan coincideix exactament una sèrie es retorna, però quan en coincideixen diverses (codi ambigu) la petició retorna 422 `document_type_required_for_ambiguous_code` (NO en tria una en silenci). Retorna la sèrie coincident, o 404 si no n'existeix cap dins de la teva empresa.

POST
/series/find-by-code
AuthorizationBearer <token>

A: header

Cos de la petició

application/json

Definicions de TypeScript

Usa el tipus request body a TypeScript.

Cos de la resposta

application/json

application/json

application/json

application/json

application/json

application/json

{
  "data": {
    "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0e",
    "object": "series",
    "code": "F-2026",
    "name": "Facturas 2026",
    "document_type": "invoice",
    "prefix": "F-2026-",
    "number_format": "{code}-{YYYY}-{000}",
    "next_number": 46,
    "current_number": 45,
    "initial_number": 1,
    "year_reset": true,
    "is_default": true,
    "is_active": true,
    "created_at": "2026-01-01T00:00:00Z",
    "updated_at": "2026-01-20T11:30: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": "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"
  }
}