Skip to content

Funcionalidades e Endpoints HTTP ​

Este documento lista todas as funcionalidades do produto e todos os endpoints HTTP da API, agrupados por domínio. É gerado automaticamente a partir da fonte única de verdade — workers/src/routes/registry.ts — então nunca fica defasado em relação ao código. Não edite à mão: mudanças em rotas são refletidas ao rodar pnpm docs:endpoints.

A API expõe 102 operações em 82 caminhos distintos, agrupadas em 25 domínios.

Funcionalidades ​

FuncionalidadeDomíniosO que faz
Chamada e PresençaAttendance, Check-in, Class SessionsMarcação de presença e chamada, com check-in/out por código de convite.
AlunosStudents, Photos, OccurrencesCRUD de alunos (soft-delete com justificativa), fotos em R2 e ocorrências.
Turmas, Aulas e VagasClasses, Class Slots, Waiting List, CapacityTurmas por faixa etária, slots e sessões de aula, lista de espera e capacidade.
NúcleosNucleiNúcleos (pequenos grupos) em 7 regiões fixas.
Portaria e RetiradaCheck-in, Authorized PickupCheck-in, autorização de retirada com OTP e responsáveis autorizados.
Eventos e InscriçõesEventsEventos públicos, inscrição de alunos/responsáveis e gestão administrativa.
Onboarding de AlunosOnboardingAuto-cadastro de alunos via convite com hash, consentimento LGPD e verificação OTP.
RelatóriosReportsRelatórios de frequência e análise para usuários com permissão de relatórios.
Usuários, Papéis e CredenciaisUsers, Roles, CredentialsCiclo de vida de usuários, papéis (RBAC) e gestão de credenciais.
NotificaçõesNotificationsNotificações e anúncios entregues por canal (ex.: painel TV).
Sincronização OfflineSyncSincronização offline: wrapper batch e evento único atômico via D1.batch().
Consentimentos LGPDConsentRegistro de consentimentos (imagem e dados), com revogação e trilha de auditoria.
Armazenamento de ArquivosStorageProxy de armazenamento para uploads e leituras (R2).
Autenticação e Saúde do ServiçoAuth, Health, LicenseLogin, refresh e revogação de sessão; health check e licenciamento de módulos.

Endpoints por domínio ​

Attendance ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/attendance/feedPúblicoLive attendance event feed (SSE)200

Auth ​

MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/auth/loginPúblicoAuthenticate user · rate limit 5/min200, 401
POST/api/v1/auth/refreshPúblicoRefresh access token · rate limit 10/min200, 401
POST/api/v1/auth/revokeAutenticadoRevoke session204, 401
POST/api/v1/session/validateAutenticadoValidate session · rate limit 30/min200, 401

Authorized Pickup ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/students/:studentId/authorized-pickupsADMINList authorized pickup adults for a child · rate limit 60/min200, 401, 403, 404
POST/api/v1/authorized-pickups/:pickupId/deactivateADMINDeactivate (soft-delete) an authorized pickup entry · rate limit 10/min200, 400, 401, 403, 404, 409
DELETE/api/v1/authorized-pickups/:pickupIdADMINErase an authorized pickup entry (LGPD) · rate limit 10/min200, 400, 401, 403, 404, 409
POST/api/v1/students/:studentId/authorized-pickups/addPermissão students.addAdd an adult to the pickup list (basic account + phone OTP) · rate limit 30/min200, 400, 403, 404, 409
POST/api/v1/authorized-pickups/verify-otpPermissão students.addVerify the add-flow phone OTP and create the ACTIVE pickup entry · rate limit 60/min200, 400, 401, 403, 404, 409, 410, 429
POST/api/v1/students/:studentId/pickup-authorizationsPermissão students.addAuthorize an adult for the day (temporary, parent-present) · rate limit 30/min201, 400, 401, 403, 404
GET/api/v1/students/:studentId/pickup-authorizationsPermissão students.addList currently valid temporary pickup authorizations for a child · rate limit 60/min200, 401, 403, 404
POST/api/v1/pickup-authorizations/:authorizationId/revokePermissão students.addRevoke a temporary pickup authorization · rate limit 10/min200, 400, 401, 403, 404, 409

Capacity ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/capacity/snapshotPúblicoCapacity snapshot JSON200
GET/api/v1/capacity/feedPúblicoLive capacity dashboard feed (SSE)200
PATCH/api/v1/class-slots/:idADMINUpdate slot capacity200, 400, 403, 404, 409

Check-in ​

MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/check-inADMIN, CHAMADORRegister child check-in · rate limit 60/min201, 400, 401, 403, 404, 409
POST/api/v1/check-outADMIN, CHAMADORCheck out child with daily code · rate limit 60/min200, 400, 401, 403, 404, 409, 423
POST/api/v1/check-out/emergencyADMIN, CHAMADOREmergency checkout (bypass code) · rate limit 30/min200, 400, 401, 403, 404, 409
GET/api/v1/check-in/activeADMIN, CHAMADORGet active check-in · rate limit 60/min200, 400, 401, 403, 404
POST/api/v1/check-in/by-codeADMIN, CHAMADORResolve active check-in by daily code · rate limit 120/min200, 404, 400, 401, 403
GET/api/v1/church/check-in-configADMIN, CHAMADORGet church check-in configuration · rate limit 60/min200, 401, 403
PUT/api/v1/church/check-in-configADMINUpdate church check-in configuration · rate limit 30/min200, 400, 401, 403, 409
GET/api/v1/church/daily-secretADMIN, CHAMADORGet today's daily check-in secret200, 401

Class Sessions ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/class-sessionsAutenticadoList class sessions · rate limit 60/min200, 401
POST/api/v1/class-sessionsADMIN, CADASTROCreate class session · rate limit 30/min201, 400, 401, 403, 409

Class Slots ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/class-slotsAutenticadoList class slots · rate limit 60/min200, 401
POST/api/v1/class-slotsADMIN, CADASTROCreate class slot · rate limit 30/min201, 400, 401, 403, 409
PATCH/api/v1/class-slots/:slotIdADMIN, CADASTROUpdate class slot · rate limit 30/min200, 400, 401, 403, 404, 409
DELETE/api/v1/class-slots/:slotIdADMINDelete class slot (soft) · rate limit 10/min200, 400, 401, 403, 404, 409

Classes ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/classesAutenticadoList classes · rate limit 60/min200, 401
POST/api/v1/classesADMINCreate class · rate limit 30/min201, 400, 401, 403, 409
PATCH/api/v1/classes/:classIdADMINUpdate class · rate limit 30/min200, 400, 401, 403, 404, 409
POST/api/v1/classes/:classId/deleteADMINDelete class (soft) · rate limit 10/min200, 400, 401, 403, 404, 409
POST/api/v1/classes/:classId/waiting-listADMIN, RESPONSAVELJoin class waiting list201, 400, 403, 409
DELETE/api/v1/classes/:classId/waiting-list/:idAutenticadoLeave class waiting list200, 400, 403, 404, 409
GET/api/v1/classes/:classId/waiting-listADMINList class waiting list200, 403
GET/api/v1/classes/alternativesAutenticadoFind alternative classes with available capacity200, 400, 404
MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/image-consentsADMIN, CADASTRORegister an image consent acceptance · rate limit 30/min201, 400, 401, 403, 409
GET/api/v1/image-consentsADMIN, CADASTROGet a subject's consent state and history · rate limit 60/min200, 400, 401, 403
POST/api/v1/image-consents/:consentId/revokeADMINRevoke an image consent acceptance · rate limit 10/min200, 400, 401, 403, 404, 409

Credentials ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/credentialsADMIN, CHAMADORGet active credential for a student200, 400, 401
POST/api/v1/credentialsADMIN, CADASTROIssue a credential for a student201, 400, 401, 403, 404, 409
POST/api/v1/credentials/lookupADMIN, CHAMADORLookup student by credential value200, 400, 401, 404

Events ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/eventsPúblicoList public events200
GET/api/v1/events/:eventIdPúblicoGet event details200, 404
POST/api/v1/events/:eventId/registerPúblicoRegister for event · rate limit 5/min201, 400, 409
GET/api/v1/events/:eventId/register/:regIdPúblicoGet registration status200, 404
POST/api/v1/events/:eventId/proofPúblicoUpload payment proof · rate limit 3/min201, 400, 409, 500
POST/api/v1/eventsADMIN, CADASTROCreate event201, 400, 401, 403, 409
PUT/api/v1/events/:eventIdADMIN, CADASTROUpdate event200, 400, 401, 403, 404, 409
DELETE/api/v1/events/:eventIdADMINDelete event200, 400, 401, 403, 404, 409
POST/api/v1/events/:eventId/cloneADMIN, CADASTROClone event201, 400, 401, 403, 404, 409
GET/api/v1/events/:eventId/registrationsADMIN, CADASTROList registrations200, 401, 403, 404
POST/api/v1/events/:eventId/registrations/:regId/approveADMINApprove registration200, 400, 401, 403, 404, 409
POST/api/v1/events/:eventId/registrations/:regId/rejectADMINReject registration200, 400, 401, 403, 404, 409

Health ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/healthPúblicoHealth check200
GET/.well-known/security.txtPúblicoSecurity contact information (RFC 9116)200

License ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/licensePúblicoLicense entitlements200

Notifications ​

MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/notificationsADMIN, CADASTROCreate notification (alert for TV screen) · rate limit 30/min201, 400, 401, 403, 409, 429
GET/api/v1/notifications/feedPúblicoSSE feed for TV screen · rate limit 5/min200, 401
GET/api/v1/notifications/historyADMIN, CADASTROToday's notification history · rate limit 30/min200, 401, 403
POST/api/v1/notifications/:id/readADMIN, CADASTROMark notification as read · rate limit 30/min200, 400, 401, 403, 409

Nuclei ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/nucleiAutenticadoList nuclei · rate limit 60/min200, 401
POST/api/v1/nucleiADMINCreate nucleus · rate limit 30/min201, 400, 401, 403, 409
PATCH/api/v1/nuclei/:nucleusIdADMINUpdate nucleus · rate limit 30/min200, 400, 401, 403, 404, 409
POST/api/v1/nuclei/:nucleusId/deleteADMINDelete nucleus (soft) · rate limit 10/min200, 400, 401, 403, 404, 409

Occurrences ​

MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/occurrencesAutenticadoCreate occurrence · rate limit 30/min201, 400, 401, 403, 404
GET/api/v1/occurrencesAutenticadoList occurrences · rate limit 60/min200, 401, 403
GET/api/v1/occurrences/:occurrenceIdAutenticadoGet occurrence detail · rate limit 60/min200, 400, 401, 403, 404
POST/api/v1/occurrences/:occurrenceId/resolveAutenticadoResolve occurrence with a mandatory solution · rate limit 30/min200, 400, 401, 403, 404, 409
POST/api/v1/occurrences/:occurrenceId/telaoAutenticadoTrigger the TV screen for an occurrence (ADMIN) · rate limit 30/min200, 400, 401, 403, 404, 409

Onboarding ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/onboarding/:hashPúblicoValidar link de onboarding · rate limit 10/min200, 404, 410, 429
POST/api/v1/onboarding/:hash/request-otpPúblicoSolicitar código OTP · rate limit 3/min200, 400, 404, 409, 410
POST/api/v1/onboarding/:hash/verify-otpPúblicoVerificar código OTP · rate limit 10/min200, 400, 401, 404, 409, 410, 429
POST/api/v1/onboarding/:hash/submitPúblicoSubmeter dados do aluno · rate limit 3/min201, 400, 401, 404, 409, 410
POST/api/v1/onboarding/linksADMIN, CADASTROGerar link de onboarding201, 400, 401, 403, 409
GET/api/v1/onboarding/draftsADMIN, CADASTROListar rascunhos pendentes200, 401, 403
GET/api/v1/onboarding/drafts/:idADMIN, CADASTROVer detalhes do rascunho200, 401, 403, 404
POST/api/v1/onboarding/drafts/:id/approveADMIN, CADASTROAprovar rascunho200, 400, 401, 403, 404, 409
POST/api/v1/onboarding/drafts/:id/rejectADMIN, CADASTRORejeitar rascunho200, 400, 401, 403, 404, 409

Photos ​

MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/students/:studentId/photosADMIN, CADASTROUpload a student face photo · rate limit 30/min201, 400, 401, 403, 404, 500
DELETE/api/v1/students/:studentId/photosADMIN, CADASTRODelete student face photos · rate limit 30/min200, 400, 401, 403, 404, 500
POST/api/v1/users/:userId/photosADMIN, CADASTROUpload an adult (guardian) face photo · rate limit 30/min201, 400, 401, 403, 404, 500
DELETE/api/v1/users/:userId/photosADMIN, CADASTRODelete adult (guardian) face photos · rate limit 30/min200, 400, 401, 403, 404, 500

Reports ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/reports/eventsAutenticadoReports event data (attendance + student audit) · rate limit 60/min200, 401

Roles ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/rolesADMINList roles · rate limit 60/min200, 401, 403
POST/api/v1/rolesADMINCreate role · rate limit 30/min201, 400, 401, 403, 409
PATCH/api/v1/roles/:roleNameADMINUpdate role permissions · rate limit 30/min200, 400, 401, 403, 404, 409
DELETE/api/v1/roles/:roleNameADMINDelete role · rate limit 10/min200, 400, 401, 403, 404, 409

Storage ​

MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/storage/proxyAutenticadoProxy SQL to D1 · rate limit 300/min200, 400, 401, 403, 409, 429

Students ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/studentsAutenticadoList students · rate limit 60/min200, 401
POST/api/v1/studentsADMIN, CADASTROCreate student · rate limit 30/min201, 400, 401, 403, 409
PATCH/api/v1/students/:studentIdADMIN, CADASTROUpdate student · rate limit 30/min200, 400, 401, 403, 404, 409
POST/api/v1/students/:studentId/deleteADMINDelete student (soft) · rate limit 10/min200, 400, 401, 403, 404, 409

Sync ​

MétodoRotaAutenticaçãoO que fazCódigos
POST/api/v1/sync/eventAutenticadoProcessa 1 evento de sync atomicamente via D1.batch() · rate limit 60/min200, 400, 401, 409, 422
POST/api/v1/sync/eventsAutenticadoBatch sync events · rate limit 60/min200, 400, 401, 422

Users ​

MétodoRotaAutenticaçãoO que fazCódigos
GET/api/v1/usersADMINList users · rate limit 60/min200, 401, 403
POST/api/v1/usersADMINCreate user · rate limit 30/min201, 400, 401, 403, 409
PATCH/api/v1/users/:userIdADMINUpdate user · rate limit 30/min200, 400, 401, 403, 404, 409
POST/api/v1/users/:userId/reset-passwordADMINReset user password · rate limit 10/min200, 400, 401, 403, 404, 409
POST/api/v1/users/:userId/deactivateADMINDeactivate user · rate limit 10/min200, 400, 401, 403, 409

Fonte: workers/src/routes/registry.ts — regenerado por pnpm docs:endpoints em 2026-09-13.

Distribuído sob licença MIT.