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

# Agendar um paciente

> Do cadastro do paciente à consulta na agenda, em quatro chamadas.

**1. Pegue os cadastros da clínica**

Chame `GET /v1/scheduling/professionals`, `/procedures`, `/rooms` e `/technologies` para obter os `id`. Eles não mudam: guarde-os no seu sistema em vez de buscar a cada agendamento.

**2. Cadastre o paciente**

`POST /v1/scheduling/patients` com nome, CPF e telefone. Se a resposta for `409`, o paciente já existe: use o `existing.id` que vem nela.

**3. Crie o agendamento**

`POST /v1/scheduling/appointments` com `patient_id`, `professional_id`, `start_at` e `end_at`.

**4. Acompanhe o agendamento**

Para confirmar, cancelar ou remarcar, use `PATCH /v1/scheduling/appointments/{id}`.

## Datas sempre com fuso

Envie as datas em ISO 8601 **com o fuso horário**:

```text theme={null}
2026-11-10T14:00:00-03:00
```

> [!WARNING]
>
> Sem fuso, o horário é lido como UTC e a consulta aparece **3 horas adiantada** na agenda da clínica.

## Exemplo

```bash theme={null}
curl -X POST "https://api.controleclinic.com.br/v1/scheduling/appointments" \
  -H "X-API-Key: $CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "patient_id": "ID_DO_PACIENTE",
    "professional_id": "ID_DO_PROFISSIONAL",
    "start_at": "2026-11-10T14:00:00-03:00",
    "end_at": "2026-11-10T14:30:00-03:00"
  }'
```

Os campos opcionais (procedimento, sala, tecnologia, observações) e as rotas em lote estão na aba **Referência da API**, no grupo **Agendamentos**.


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