> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.crehana.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.crehana.com/_mcp/server.

# API pública de Crehana

Una API REST sobre HTTPS, con un par de credenciales por organización.
Sincronizá tu nómina, asigná formación y consultá reportes desde tu propio
sistema.

**`cURL`**

```bash title="cURL"
curl "https://www.crehana.com/api/v5/rest/org/acme/users/user-organizations/?limit=10" \
  -H "Api-Key: $API_KEY" \
  -H "Secret-Access: $SECRET_ACCESS"
```

**`Python`**

```python title="Python"
import os
import requests

response = requests.get(
    "https://www.crehana.com/api/v5/rest/org/acme/users/user-organizations/",
    params={"limit": 10},
    headers={
        "Api-Key": os.environ["API_KEY"],
        "Secret-Access": os.environ["SECRET_ACCESS"],
    },
    timeout=30,
)
response.raise_for_status()
print(response.json()["data"])
```

**`JavaScript`**

```javascript title="JavaScript"
const url = new URL(
  "https://www.crehana.com/api/v5/rest/org/acme/users/user-organizations/"
);
url.searchParams.set("limit", "10");

const response = await fetch(url, {
  headers: {
    "Api-Key": process.env.API_KEY,
    "Secret-Access": process.env.SECRET_ACCESS,
  },
});

const { data } = await response.json();
console.log(data);
```

#### [Primeros pasos](/introduccion/primeros-pasos)

De las credenciales a tu primera llamada, en cinco minutos.

#### [Autenticación](/introduccion/autenticacion)

Los dos headers que van en todos los requests.

#### [API Reference](/api-reference)

Todas las operaciones, con ejemplos ejecutables.

## Qué podés resolver

#### [Mantener la nómina al día](/documentacion/casos-de-uso/sincronizar-usuarios)

Altas, bajas y cambios de estructura desde tu HRIS, sin que nadie los cargue
a mano.

#### [Asignar formación](/documentacion/casos-de-uso/asignar-contenido)

Del catálogo a la asignación masiva de un curso o una ruta a todo un equipo.

#### [Llevar el avance a tu BI](/documentacion/casos-de-uso/filtrar-por-fecha)

Reportes de avance, quizzes y desempeño, acotados al período que te interesa.

#### [Extender el perfil](/api-reference/endpoints/custom-fields)

Los campos propios de tu organización que el perfil estándar no tiene.

## Forma de las respuestas

Los listados devuelven el total y la página pedida, con los registros en
`results`:

```json
{
  "total": 214,
  "results": [ ]
}
```

Las operaciones de escritura devuelven una envoltura con `message`, `code`,
`datetime` y `data`:

```json
{
  "message": "Users retrieved correctly.",
  "code": "user-001",
  "datetime": "2026-08-14T10:30:00.000000",
  "data": { }
}
```

> **Note**
>
> Son dos formas distintas, así que el mismo código no lee un listado y una
> escritura. Cada operación publica la suya en la [API Reference](/api-reference) — vale mirarla antes de escribir el cliente, en vez
> de asumir una sola.

Los tres temas que valen para todos los endpoints están acá:

#### [Paginación](/documentacion/conceptos/paginacion)

Hay dos estilos conviviendo. Cuál usa cada endpoint.

#### [Errores](/documentacion/conceptos/errores)

Qué significa cada status y qué reintentar.

#### [Versionado](/documentacion/conceptos/versionado)

Qué puede cambiar sin avisarte, y qué no.

## Recursos

#### [Changelog](/changelog)

Cada cambio del contrato, el día que salió. Con RSS.

#### [Leer esta doc con IA](/documentacion/recursos/leer-con-ia)

Markdown plano, `llms.txt` y un servidor MCP para tu asistente.

#### [Soporte](/documentacion/recursos/soporte)

Cómo conseguir credenciales y a dónde escribir.