# Listar Agendamentos

> Retorna a lista de agendamentos da conta autenticada, com suporte a filtros.

`GET https://crm.wavups.com/api/v1/scheduling`

Página: https://crm.wavups.com/docs/api/agendamentos/listar

## Requisição

`GET https://crm.wavups.com/api/v1/scheduling`

- `Token` (string, obrigatório, header):
  Seu token de autenticação.

### Query Parameters

- `startDate` (string, query):
  Data de início para filtrar agendamentos pelo campo `createdAt`. Formato ISO 8601 (ex: `2025-01-01T00:00:00Z`). Utilizado em conjunto com `endDate`.

- `endDate` (string, query):
  Data de fim para filtrar agendamentos. Formato ISO 8601. Utilizado em conjunto com `startDate`.

- `status` (string, query):
  Filtra agendamentos pelo status. Valores possíveis: `scheduled`, `completed`, `canceled`.

- `leadId` (string, query):
  Filtra agendamentos pelo ID do lead vinculado.

- `productId` (string, query):
  Filtra agendamentos pelo ID do produto vinculado.

---

## Resposta

Retorna um array de objetos de agendamento, ordenados do mais recente para o mais antigo. Os campos `accountId` e `externalConversationId` são omitidos.

- `id` (string):
  Identificador único do agendamento.

- `accountProductId` (string | null):
  ID do produto vinculado ao agendamento.

- `title` (string):
  Título do agendamento.

- `description` (string | null):
  Descrição do agendamento.

- `date` (string):
  Data e horário do agendamento (ISO 8601).

- `status` (string):
  Status do agendamento. Valores: `scheduled`, `completed`, `canceled`. Padrão: `scheduled`.

- `createdAt` (string):
  Data de criação (ISO 8601).

- `AccountExternalConversation` (object | null):
  Dados da conversa externa vinculada ao agendamento.

  Propriedades da conversa:
  - `leadId` (string | null):
  ID do lead vinculado à conversa.
  
  - `contactName` (string):
  Nome do contato da conversa.
  
  - `contactPhone` (string | null):
  Telefone do contato.
  
  

---

## Exemplos

### Exemplo de requisição

```bash GET /api/v1/scheduling
curl --request GET \
  --url 'https://crm.wavups.com/api/v1/scheduling?status=scheduled' \
  --header 'Token: SEU_TOKEN_DE_API'
```

### Exemplo de resposta

```json 200
[
  {
  "id": "sch_001",
  "accountProductId": "prod_001",
  "title": "Consulta Inicial",
  "description": "Primeira consulta do cliente",
  "date": "2025-07-10T14:00:00.000Z",
  "status": "scheduled",
  "createdAt": "2025-06-15T10:00:00.000Z",
  "AccountExternalConversation": {
  "leadId": "lead_xyz",
  "contactName": "João Silva",
  "contactPhone": "11999998888"
  }
  }
]
```

```json 500
{
  "error": "Error to get schedulings"
}
```
