Factuarea API
Calendari d'absències

Obtenir el calendari d'absències de l'equip

Retorna el calendari mensual d'absències del teu equip per a un year i month donats: cada empleat actiu amb les seves absències aprovades d'aquell mes (cadascuna acolorida pel seu tipus d'absència) i els festius que apliquen, mantinguts separats de les absències. Opcionalment acotat a un únic employee_id (UUID v7). Un recurs computat: exposa employee_id per membre, mai un id.

GET
/absence-calendar
AuthorizationBearer <token>

A: header

Paràmetres de consulta

year*integer

Any del calendari (4 dígits).

Rang2000 <= value <= 2100
month*integer

Mes del calendari (1-12).

Rang1 <= value <= 12
employee_id?|

ID de l'empleat (UUID v7) per limitar el calendari a un sol empleat (opcional).

Formatuuid

Paràmetres de capçalera

Factuarea-Version?string

Fixa 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.

Formatdate
X-Active-Profile?string

Opera 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.

Formatuuid

Cos de la resposta

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.absenceCalendar.show();
{
  "data": {
    "year": 2026,
    "month": 8,
    "members": [
      {
        "employee_id": "01933a1f-8c21-7b3d-9e4f-1a2b3c4d5e01",
        "full_name": "Lucía Fernández Ruiz",
        "absences": [
          {
            "start_date": "2026-08-03",
            "end_date": "2026-08-14",
            "absence_type_name": "Vacaciones",
            "color": "#2563EB",
            "status": "approved"
          }
        ]
      }
    ],
    "holidays": [
      {
        "date": "2026-08-15",
        "name": "Asunción de la Virgen",
        "scope": "national"
      }
    ]
  }
}

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