> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mindosoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Feriados

> Obtiene los feriados estipulados del negocio, con filtro opcional por rango de fecha

## Descripción

Este endpoint devuelve los feriados estipulados del negocio (días de cierre total o de horario reducido). Admite un filtro opcional por rango de fecha mediante los parámetros `from` y `to`.

Es de solo lectura y está scopeado automáticamente a la empresa de la API Key utilizada.

## Header de autenticación

<ParamField header="X-API-Key" type="string" required>
  Tu API Key de Mindo. Formato: `mindo_xxxxxxxxxxxxxxxxxxxxxxxx`
</ParamField>

## Parámetros de query

<ParamField query="from" type="string">
  Fecha desde (formato `YYYY-MM-DD`, inclusive). Filtra feriados con fecha mayor o igual.
</ParamField>

<ParamField query="to" type="string">
  Fecha hasta (formato `YYYY-MM-DD`, inclusive). Filtra feriados con fecha menor o igual.
</ParamField>

## Respuesta

Devuelve un **array** de feriados.

<ResponseField name="id" type="integer">
  ID interno del feriado.
</ResponseField>

<ResponseField name="company" type="integer">
  ID de la empresa.
</ResponseField>

<ResponseField name="name" type="string">
  Nombre del feriado.
</ResponseField>

<ResponseField name="description" type="string">
  Descripción del feriado.
</ResponseField>

<ResponseField name="date" type="string">
  Fecha del feriado (formato `YYYY-MM-DD`).
</ResponseField>

<ResponseField name="branches" type="array">
  IDs de las sucursales a las que aplica el feriado. Vacío significa que aplica a todas las sucursales.
</ResponseField>

<ResponseField name="branchesDetail" type="array">
  Detalle de las sucursales a las que aplica el feriado.

  <Expandable title="Propiedades de branchesDetail">
    <ResponseField name="id" type="integer">
      ID interno de la sucursal.
    </ResponseField>

    <ResponseField name="company" type="integer">
      ID de la empresa.
    </ResponseField>

    <ResponseField name="name" type="string">
      Nombre de la sucursal.
    </ResponseField>

    <ResponseField name="address" type="string">
      Dirección de la sucursal.
    </ResponseField>

    <ResponseField name="phone" type="string">
      Teléfono de la sucursal.
    </ResponseField>

    <ResponseField name="branchType" type="string">
      Tipo de sucursal: `PHYSICAL` u `ONLINE`.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      Fecha de creación (ISO 8601).
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      Fecha de última actualización (ISO 8601).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="attentionTarget" type="string">
  A quién aplica el feriado. Valores posibles: `VIRTUAL_ATTENTION` (atención virtual), `BRANCH` (sucursal), `ALL_BRANCHES` (todas las sucursales), `ALL` (todos).
</ResponseField>

<ResponseField name="hasCustomHours" type="boolean">
  Si es `true`, el feriado tiene horario reducido (`startTime`/`finishAt`) en lugar de cierre total.
</ResponseField>

<ResponseField name="startTime" type="string">
  Hora de inicio del horario especial (formato `HH:MM:SS`). `null` si no tiene horario especial.
</ResponseField>

<ResponseField name="finishAt" type="string">
  Hora de fin del horario especial (formato `HH:MM:SS`). `null` si no tiene horario especial.
</ResponseField>

<ResponseField name="isActive" type="boolean">
  Indica si el feriado está activo.
</ResponseField>

<ResponseField name="createdAt" type="string">
  Fecha de creación (ISO 8601).
</ResponseField>

<ResponseField name="updatedAt" type="string">
  Fecha de última actualización (ISO 8601).
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.mindosoftware.com/api/v1/holidays/?from=2026-01-01&to=2026-12-31" \
    -H "X-API-Key: mindo_xxxxxxxxxxxxxxxxxxxxxxxx"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.mindosoftware.com/api/v1/holidays/",
      headers={"X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx"},
      params={"from": "2026-01-01", "to": "2026-12-31"}
  )

  data = response.json()
  print(data)
  ```

  ```javascript JavaScript theme={null}
  const params = new URLSearchParams({ from: "2026-01-01", to: "2026-12-31" });
  const response = await fetch(
    `https://api.mindosoftware.com/api/v1/holidays/?${params}`,
    {
      headers: { "X-API-Key": "mindo_xxxxxxxxxxxxxxxxxxxxxxxx" }
    }
  );

  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - OK theme={null}
  [
    {
      "id": 8,
      "company": 12,
      "name": "Año Nuevo",
      "description": "Cerrado todo el día",
      "date": "2026-01-01",
      "branches": [],
      "branchesDetail": [],
      "attentionTarget": "ALL",
      "hasCustomHours": false,
      "startTime": null,
      "finishAt": null,
      "isActive": true,
      "createdAt": "2025-12-10T14:30:00Z",
      "updatedAt": "2025-12-10T14:30:00Z"
    },
    {
      "id": 9,
      "company": 12,
      "name": "Nochebuena",
      "description": "Horario reducido",
      "date": "2026-12-24",
      "branches": [5],
      "branchesDetail": [
        {
          "id": 5,
          "company": 12,
          "name": "Casa Central",
          "address": "Av. Siempre Viva 123, Mar del Plata",
          "phone": "+54 9 223 675-0780",
          "branchType": "PHYSICAL",
          "createdAt": "2025-11-01T10:00:00Z",
          "updatedAt": "2025-11-01T10:00:00Z"
        }
      ],
      "attentionTarget": "BRANCH",
      "hasCustomHours": true,
      "startTime": "09:00:00",
      "finishAt": "13:00:00",
      "isActive": true,
      "createdAt": "2025-12-10T14:35:00Z",
      "updatedAt": "2025-12-10T14:35:00Z"
    }
  ]
  ```

  ```json 400 - Formato de fecha inválido theme={null}
  {
    "error": "Parámetro 'from' con formato de fecha inválido. Use YYYY-MM-DD."
  }
  ```

  ```json 401 - API Key no enviada theme={null}
  {
    "error": "Este endpoint requiere autenticación con API Key (header X-API-Key)"
  }
  ```
</ResponseExample>
