Find a series by code
Look up a series by its `code` (sent in the JSON body, case-insensitive). A `code` is NOT globally unique: the same `code` may be reused across different `document_type`s (multi-series — e.g. one `2026` series for invoices and another `2026` for quotes). Therefore: pass `document_type` to disambiguate and resolve the exact `(code, document_type)` series. If you omit `document_type`, the code is matched across all document types ordered by `uuid` ascending — when exactly one series matches it is returned, but when several match (ambiguous code) the request returns 422 `document_type_required_for_ambiguous_code` (it does NOT silently pick one). Returns the matching series, or 404 if none exists within your company.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
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.series.findByCode({ // request body — see the schema below });{
"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"
}
}