Factuarea API
Empleados

Listar todos los empleados

Lista los empleados de tu empresa con paginación por cursor. Admite filtrar por status (active/inactive), employment_type (full_time/part_time) y ccaa, más una search de texto libre sobre nombre y email.

GET
/employees
AuthorizationBearer <token>

En: header

Parámetros de consulta

limit?integer

Número de objetos a devolver. Entero entre 1 y 100. Por defecto 25.

Predeterminado25
Rango1 <= value <= 100
starting_after?string

Cursor para paginación hacia delante. Usa el uuid del último objeto de la página anterior.

Formatouuid
ending_before?string

Cursor para paginación hacia atrás. Usa el uuid del primer objeto de la página actual.

Formatouuid
status?string

Estado del empleado. Coincidencia exacta con status.

Valor en"active" | "inactive"
status[in]?string

Estado del empleado. Lista separada por comas. Coincide cualquiera de los valores.

employment_type?string

Tipo de contrato laboral. Coincidencia exacta con employment_type.

Valor en"full_time" | "part_time"
employment_type[in]?string

Tipo de contrato laboral. Lista separada por comas. Coincide cualquiera de los valores.

ccaa?string

Código de comunidad autónoma española (ISO 3166-2:ES) del empleado. Coincidencia exacta con ccaa.

ccaa[in]?string

Código de comunidad autónoma española (ISO 3166-2:ES) del empleado. Lista separada por comas. Coincide cualquiera de los valores.

search?string

Búsqueda de texto libre. LIKE %term% escapado (sin distinguir mayúsculas, máx. 80 caracteres) sobre las columnas de texto clave del recurso, combinado con los demás filtros (AND) y compatible con el cursor.

Longitudlength <= 80

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

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.employees.list({ limit: 25 })) {  console.log(item.id);}
{
  "has_more": true,
  "next_cursor": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0c",
  "data": [
    {
      "id": "01933a1f-8c21-7b3d-9e4f-1a2b3c4d5e01",
      "object": "employee",
      "first_name": "Lucía",
      "last_name": "Fernández Ruiz",
      "email": "lucia.fernandez@empresa.com",
      "tax_id": "12345678Z",
      "job_title": "Desarrolladora backend",
      "employment_type": "full_time",
      "contract_hours": 40,
      "hire_date": "2024-09-02",
      "termination_date": null,
      "ccaa": "MD",
      "status": "active",
      "external_id": "EMP-1042",
      "metadata": {
        "erp_code": "IVA-GEN",
        "ledger_account": "477000"
      },
      "user_id": "01933a1f-8c21-7b3d-9e4f-1a2b3c4d5e02",
      "created_at": "2024-09-02T08:00:00Z",
      "updated_at": "2026-05-04T09:03:01Z"
    }
  ]
}

{
  "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"
  }
}