# Auditoría

> Lee la auditoría de tu organización, cada cambio hecho desde la API, el panel, la CLI o MCP.

La auditoría registra cada cambio de la organización, quien lo hiciera y desde cualquier interfaz. Las entradas se listan de la más reciente a la más antigua.

| Operación | Ruta |
|---|---|
| [Listar la auditoría](https://developers.openwaf.dev/es/api/audit/#list-audit) | `GET /v1/orgs/{org}/audit` |

## Listar la auditoría

```http
GET /v1/orgs/{org}/audit
```

Lista la auditoría de la organización, de la entrada más reciente a la más antigua. Para paginar, pasa en `before` el `id` de la última entrada recibida.

**Rol necesario:** `admin` o superior. De toda la organización. Un miembro o token `tech` limitado a un cliente lee las entradas de las zonas de su cliente.

#### Parámetros

| Nombre | En | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
| `org` | ruta | string (uuid) | Sí | Id de la organización. Cada ruta comprueba que es la del token (si no, `404`). |
| `limit` | consulta | integer | No | Número máximo de elementos. Por defecto `100`. De 1 a 500. |
| `before` | consulta | integer | No | Paginación: id de la última entrada vista. |

#### Respuesta

- `200`: Devuelve `items`, un array de [AuditEntry](https://developers.openwaf.dev/es/api/schemas/#audit-entry).

| Campo | Tipo | Descripción |
|---|---|---|
| `items[].id` | integer | Id. |
| `items[].org_id` | string (uuid) | Id de la organización. |
| `items[].actor` | string | Quién hizo el cambio: un token, un usuario u OpenWAF. |
| `items[].action` | string |  |
| `items[].target` | string | Objetivo de la acción. |
| `items[].data` | object | Detalles del cambio. |
| `items[].at` | string (date-time) | Fecha de la entrada. |

#### Ejemplo

**curl**


```sh
curl "https://dash.openwaf.dev/v1/orgs/$OPENWAF_ORG/audit?limit=50" \
  -H "Authorization: Bearer $OPENWAF_TOKEN"
```

**TypeScript**


```ts
import { OpenWAF } from "./openwaf";

const owf = new OpenWAF({ baseUrl: "https://dash.openwaf.dev" }); // token de OPENWAF_TOKEN
const result = await owf.listAudit({
  limit: 50
});
```

**Python**


```py
from openwaf import OpenWAF

owf = OpenWAF(base_url="https://dash.openwaf.dev")  # token de OPENWAF_TOKEN
result = owf.list_audit(limit=50)
```



```json
{
  "items": [
    {
      "id": 48213,
      "org_id": "1e7c9a3b-5d2f-4b8a-9c6e-0f2a4b6c8d1e",
      "actor": "token:11111111-2222-4333-8444-555555555555",
      "action": "record.update",
      "target": "0c9a7e4d-2b1f-4e6a-8d3c-5f7b9a1c3e5d",
      "data": {
        "zone": "example.com",
        "name": "www.example.com",
        "reason": "Point www at the new origin"
      },
      "at": "2026-10-27T09:30:00Z"
    }
  ]
}
```
