Horários livres

GET/api/v1/agenda/:slug/slots

Horários disponíveis do tipo de evento, agrupados por dia no fuso pedido. Cada item de days é o início do horário em ISO (UTC). Quando o intervalo vem vazio, nextAvailable traz o primeiro horário livre depois dele (null = nada livre até o fim da janela do evento). O slug precisa ser de um tipo de evento ativo do seu workspace (senão 404).

Parâmetros de path

slugobrigatório
string
Slug do tipo de evento (o mesmo do link público /agendar/<slug>).

Parâmetros de query

from
string (YYYY-MM-DD)
Primeiro dia, no fuso tz (inclusivo).
default: hoje
to
string (YYYY-MM-DD)
Último dia, no fuso tz (inclusivo). Intervalo máximo de 62 dias, recortado na janela do evento.
default: from + 30 dias
tz
string (IANA)
Fuso em que os dias são agrupados. Fuso inválido retorna 422.
default: America/Sao_Paulo
Mesmo corpo de GET /api/agenda/:slug/slots (página pública) · dá pra trocar de URL sem mudar o parser.
Horário livre aqui pode ser tomado antes da reserva: trate o 409 do POST oferecendo outro horário.

Autenticação: header Authorization: Bearer rmk_... · veja Introdução e autenticação.

curl "https://crmdojordao.com.br/api/v1/agenda/:slug/slots" \
  -H "Authorization: Bearer rmk_SUA_CHAVE"
Resposta · GET /api/v1/agenda/:slug/slots
{
  "timezone": "America/Sao_Paulo",
  "days": {
    "2026-10-20": ["2026-10-20T13:00:00.000Z", "2026-10-20T14:00:00.000Z"],
    "2026-10-21": ["2026-10-21T17:00:00.000Z"]
  },
  "range": { "from": "2026-10-13", "to": "2026-10-27" }
}