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

# Permisos y vacaciones

> Crear y consultar solicitudes de permiso

**Permiso requerido:** `hr.leave_requests`

## Crear solicitud

```http theme={null}
POST /hr/leave-requests
```

La solicitud se crea en estado **`pending`**. La aprobación o rechazo (y el descuento del saldo de vacaciones) siempre lo hace Recursos Humanos dentro de FileXpress.

```json theme={null}
{
  "document_number": "01234567-8",
  "type": "vacation",
  "start_date": "2026-12-22",
  "end_date": "2026-12-31",
  "reason": "Vacaciones anuales"
}
```

| Campo | Requerido | Descripción |
| - | - | - |
| `employee_id` o `document_number` | Sí (uno) | Empleado. |
| `type` | Sí | `vacation` (vacaciones), `sick_leave` (incapacidad), `personal_leave` (permiso personal), `unpaid_leave` (permiso sin goce de sueldo) u `other`. |
| `start_date` | Sí | Primer día (`YYYY-MM-DD`). |
| `end_date` | Sí | Último día (igual o posterior a `start_date`). |
| `reason` | No | Motivo (máx. 1000 caracteres). |

<Note>
  Los permisos `unpaid_leave` aprobados se descuentan automáticamente en la planilla del período.
</Note>

**Respuesta `201`**: el objeto de la solicitud (ver abajo).

**Errores**

| Código | Causa |
| - | - |
| `404` | Empleado no encontrado. |
| `409` | El empleado ya tiene una solicitud pendiente o aprobada que se cruza con esas fechas. |

## Consultar solicitudes

```http theme={null}
GET /hr/leave-requests?start_date=2026-10-01&end_date=2026-12-31&status=approved
```

Devuelve las solicitudes que se cruzan con el rango.

| Parámetro | Requerido | Descripción |
| - | - | - |
| `start_date`, `end_date` | Sí | Rango (máximo 93 días). |
| `employee_id` | No | Filtra por empleado. |
| `status` | No | `pending`, `approved`, `rejected` o `cancelled`. |
| `type` | No | Tipo de permiso. |

```json theme={null}
{
  "status": true,
  "data": [
    {
      "id": "uuid",
      "employee_id": "uuid",
      "employee_name": "María López",
      "document_number": "01234567-8",
      "type": "vacation",
      "start_date": "2026-12-22",
      "end_date": "2026-12-31",
      "days": 10,
      "status": "approved",
      "reason": "Vacaciones anuales"
    }
  ]
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.