Axuz Developers

GET /teams/{teamId}/calendar/events/{id}

Detalhe do event.

  • Access: Team member
  • Service: https://api-calendar.axuz.net

Accepted authentication

  • sessionCookie — Sessão plena Axuz (cookie de sessão da casa). Sessão restrita é 403 enrollment_required.
  • bearerSession — JWT de acesso da sessão em `Authorization: Bearer`.

Responde GET /teams/{teamId}/calendar/events/{id}.

Motivo: leitura de um único event (master row + metadados) para tela de detalhe.

Comportamento: exige team+user+id; delega repo.GetEvent; ErrNotFound → 404; 200 com entity.

Entradas: URL params. Saídas: JSON. Efeitos: SELECT em events.

Parameters

NameInTypeRequiredDescription
teamIdpathstringyes
idpathstringyes

Responses

200

OK.

NameTypeRequiredDescription
idstring<uuid>yes
calendar_idstring<uuid> | nullno
calendar_namestringno
calendar_colorstringno
team_idstring<uuid> | nullno
summarystringyes
descriptionstring | nullno
locationstring | nullno
dtstartstring<date-time>yes
dtendstring<date-time>yes
all_daybooleanyes
rrulestring | nullno

RFC5545 RRULE (ex: FREQ=WEEKLY;BYDAY=MO,WE).

tzstringno

IANA timezone name (Region/City). '' = UTC.

is_recurring_instancebooleanno

True quando é ocorrência expandida (não master row).

recurrence_idstring<date-time> | nullno

dtstart canônico da ocorrência dentro da série.

parent_event_idstring<uuid> | nullno

Aponta pro master quando é override.

is_overriddenbooleanno
created_bystring<uuid>no
created_atstring<date-time>no
updated_atstring<date-time>no
meet_room_idstring<uuid>no

Sala de vídeo vinculada ao evento (F-063). AUSENTE quando o evento não tem sala — o cliente testa presença da chave, não string vazia. Só é devolvido em GET .../events/{id}; a listagem não o traz. Com ele o cliente monta a URL do membro, <MEET_URL>/<teamId>/<meet_room_id>, e distingue "criar sala" de "entrar na sala" sem precisar POSTar para descobrir (O-005).

meet_room_slugstringno

Slug da mesma sala. É a chave da entrada de CONVIDADO (<MEET_URL>/convidado/<slug>, sem conta nem team) — por isso vale como link de compartilhamento externo, e o meet_room_id não.

remindersarray<CalendarEventReminder>no

Lembretes do evento (R-007). Devolvido em GET .../events/{id} e na resposta de POST/PATCH que trouxe reminders; a listagem por janela NÃO o traz. AUSENTE quando o evento não tem lembretes.

reminders[].idstring<uuid>yes
reminders[].trigger_offset_minutesintegeryes
reminders[].kindstringyes

enum: "email", "push", "inapp"

reminders[].fired_atstring<date-time>no

AUSENTE enquanto pendente; presente quando terminal.

401

Faltando ou token inválido.

NameTypeRequiredDescription
errorstringyes

Mensagem humana curta; sem stack.

403

Sem permissao (nao e owner/admin; token sem escopo; token de integracao em rota nao permitida)

NameTypeRequiredDescription
errorstringyes

404

Recurso não encontrado.

NameTypeRequiredDescription
errorstringyes

Mensagem humana curta; sem stack.

429

Limite de requisições excedido.

NameTypeRequiredDescription
errorstringyes

500

Erro interno. Tente de novo com backoff; reporte o X-Request-Id.

NameTypeRequiredDescription
errorstringyes

Examples

"Try it" is turned off in this reference. Use the examples with your test credential.

curl

curl -sS -X GET 'https://api-calendar.axuz.net/teams/TEAM_ID/calendar/events/ID' \
  -H "Authorization: Bearer $AXUZ_TOKEN"

Node.js

const res = await fetch("https://api-calendar.axuz.net/teams/TEAM_ID/calendar/events/ID", {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
  },
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());

Python

import os
import requests

res = requests.request(
    "GET",
    "https://api-calendar.axuz.net/teams/TEAM_ID/calendar/events/ID",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    timeout=30,
)
res.raise_for_status()
print(res.json())