---
title: "Ações"
slug: actions
group: "Referência da API"
source: https://linkzap.ia.br/developers/actions
openapi: https://linkzap.ia.br/openapi.json
---

# Ações

Tudo o que o painel faz, por API. Cada ação chama o mesmo código da tela, com a mesma validação e as permissões de quem criou a chave.

## Listar

### `GET /api/v1/actions`
As áreas e as ações de cada uma. O catálogo completo, com o esquema de cada ação, também está em `/actions.json`, sem chave.

**Parâmetros da URL**

| Campo | Tipo | Descrição |
| --- | --- | --- |
| `area` | texto | Só uma área: contacts, crm, inbox, aura, channels, flows, agents, outreach, templates, team, settings, integrations, systems, drive, reports. |

Pedido:

```bash
curl https://linkzap.ia.br/api/v1/actions?area=crm \
  -H "Authorization: Bearer lz_SUA_CHAVE"
```

Resposta:

```json
{
  "data": {
    "areas": [{ "key": "crm", "about": "CRM: funis, etapas, negócios e tarefas.", "count": 21 }],
    "actions": [{ "name": "deals.create", "area": "crm", "summary": "Cria um negócio para um contato.", "readOnly": false }]
  }
}
```

## Descrever

### `GET /api/v1/actions/{name}`
O que a ação faz e o JSON Schema do corpo.

Pedido:

```bash
curl https://linkzap.ia.br/api/v1/actions/deals.create \
  -H "Authorization: Bearer lz_SUA_CHAVE"
```

Resposta:

```json
{
  "data": {
    "name": "deals.create",
    "area": "crm",
    "summary": "Cria um negócio para um contato.",
    "description": null,
    "readOnly": false,
    "input": { "type": "object", "properties": { "contactId": { "type": "string" }, "title": { "type": "string" } }, "required": ["contactId", "title"] }
  }
}
```

## Executar

### `POST /api/v1/actions/{name}`
Executa a ação como quem criou a chave (ou quem autorizou o OAuth). Chave de canal só alcança o número dela. Chave antiga, sem dono, responde 403: crie outra.

Pedido:

```bash
curl -X POST https://linkzap.ia.br/api/v1/actions/deals.create \
  -H "Authorization: Bearer lz_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{ "contactId": "ctt_3c81...", "title": "Plano anual" }'
```

Resposta:

```json
{
  "data": { "ok": true, "id": "dl_8a1f..." }
}
```

O formato de `data` varia por ação. As que só gravam devolvem `{ ok: true }` e, quando criam algo, o `id`.
