> ## 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

> Obtém os feriados estipulados do negócio, com filtro opcional por intervalo de datas

## Descrição

Este endpoint retorna os feriados estipulados do negócio (dias de fechamento total ou de horário reduzido). Aceita um filtro opcional por intervalo de datas através dos parâmetros `from` e `to`.

É somente leitura e está automaticamente restrito à empresa da API Key utilizada.

## Header de autenticação

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

## Parâmetros de query

<ParamField query="from" type="string">
  Data inicial (formato `YYYY-MM-DD`, inclusive). Filtra feriados com data maior ou igual.
</ParamField>

<ParamField query="to" type="string">
  Data final (formato `YYYY-MM-DD`, inclusive). Filtra feriados com data menor ou igual.
</ParamField>

## Resposta

Retorna um **array** de feriados.

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

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

<ResponseField name="name" type="string">
  Nome do feriado.
</ResponseField>

<ResponseField name="description" type="string">
  Descrição do feriado.
</ResponseField>

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

<ResponseField name="branches" type="array">
  IDs das filiais às quais o feriado se aplica. Vazio significa que se aplica a todas as filiais.
</ResponseField>

<ResponseField name="branchesDetail" type="array">
  Detalhe das filiais às quais o feriado se aplica.

  <Expandable title="Propriedades de branchesDetail">
    <ResponseField name="id" type="integer">
      ID interno da filial.
    </ResponseField>

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

    <ResponseField name="name" type="string">
      Nome da filial.
    </ResponseField>

    <ResponseField name="address" type="string">
      Endereço da filial.
    </ResponseField>

    <ResponseField name="phone" type="string">
      Telefone da filial.
    </ResponseField>

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

    <ResponseField name="createdAt" type="string">
      Data de criação (ISO 8601).
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      Data da última atualização (ISO 8601).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="attentionTarget" type="string">
  A quem o feriado se aplica. Valores possíveis: `VIRTUAL_ATTENTION` (atendimento virtual), `BRANCH` (filial), `ALL_BRANCHES` (todas as filiais), `ALL` (todos).
</ResponseField>

<ResponseField name="hasCustomHours" type="boolean">
  Se for `true`, o feriado tem horário reduzido (`startTime`/`finishAt`) em vez de fechamento total.
</ResponseField>

<ResponseField name="startTime" type="string">
  Hora de início do horário especial (formato `HH:MM:SS`). `null` se não tiver horário especial.
</ResponseField>

<ResponseField name="finishAt" type="string">
  Hora de término do horário especial (formato `HH:MM:SS`). `null` se não tiver horário especial.
</ResponseField>

<ResponseField name="isActive" type="boolean">
  Indica se o feriado está ativo.
</ResponseField>

<ResponseField name="createdAt" type="string">
  Data de criação (ISO 8601).
</ResponseField>

<ResponseField name="updatedAt" type="string">
  Data da última atualização (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 data inválido theme={null}
  {
    "error": "Parámetro 'from' con formato de fecha inválido. Use YYYY-MM-DD."
  }
  ```

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