Referência da API
Documentação completa de todos os endpoints da API OctaGym para gestão de academias.
Referência da API
Documentação completa de todos os endpoints disponíveis na API pública v1 do OctaGym.
Base URL
https://dashboard.octagym.ai/api/v1Endpoints Disponíveis
Alunos (Members)
Cadastrar, listar e gerenciar alunos da academia.
GET /api/v1/members— Listar alunosPOST /api/v1/members— Cadastrar alunoGET /api/v1/members/:id— Buscar alunoPATCH /api/v1/members/:id— Atualizar alunoGET /api/v1/members/:id/checkins— Histórico de check-insGET /api/v1/members/:id/measurements— Listar mediçõesPOST /api/v1/members/:id/measurements— Registrar medição
Planos
Consultar planos disponíveis na academia.
GET /api/v1/plans— Listar planosGET /api/v1/plans/:id— Buscar plano
Mensalidades (Memberships)
Gerenciar mensalidades, congelamentos e cancelamentos.
GET /api/v1/memberships— Listar mensalidadesPOST /api/v1/memberships— Criar mensalidadeGET /api/v1/memberships/:id— Buscar mensalidadePATCH /api/v1/memberships/:id— Atualizar mensalidadePOST /api/v1/memberships/:id/cancel— Cancelar mensalidadePOST /api/v1/memberships/:id/freeze— Congelar mensalidadeDELETE /api/v1/memberships/:id/freeze— Descongelar mensalidade
Aulas (Classes)
Consultar grade de aulas e gerenciar reservas.
GET /api/v1/classes— Listar aulasGET /api/v1/classes/schedule— Grade de horáriosPOST /api/v1/classes/:id/book— Reservar vagaDELETE /api/v1/classes/:id/book— Cancelar reservaGET /api/v1/class-types— Listar modalidades
Treinos (Workout Programs)
Criar e consultar programas de treino.
GET /api/v1/workout-programs— Listar treinosPOST /api/v1/workout-programs— Criar treino
Exercícios
Consultar o catálogo de exercícios disponíveis.
GET /api/v1/exercises— Listar exercícios
Instrutores (Trainers)
Listar instrutores e consultar perfis.
GET /api/v1/trainers— Listar instrutoresGET /api/v1/trainers/:id— Buscar instrutor
Métricas
Indicadores da academia: MRR, churn, ocupação.
GET /api/v1/gym-metrics— Métricas gerais
Acesso
Monitorar ocupação e controle de acesso.
GET /api/v1/access/occupancy— Ocupação atual
Webhooks
Receber notificações de eventos em tempo real.
Eventos: check-in, pagamento, cancelamento, congelamento, novo aluno.
Formato das Respostas
Sucesso
{
"success": true,
"data": {
"id": "uuid-do-recurso",
"full_name": "João da Silva",
"status": "active",
"created_at": "2026-03-22T10:30:00Z"
}
}Sucesso com Paginação
{
"success": true,
"data": [...],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"pages": 8
}
}Erro
{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "Campo 'full_name' é obrigatório"
}
}Códigos HTTP
| Código | Descrição | Quando Ocorre |
|---|---|---|
200 | OK | Requisição bem-sucedida |
201 | Created | Recurso criado com sucesso |
400 | Bad Request | Parâmetros inválidos ou campos obrigatórios ausentes |
401 | Unauthorized | API Key ausente ou inválida |
403 | Forbidden | Sem permissão para o recurso |
404 | Not Found | Recurso não encontrado |
422 | Unprocessable Entity | Validação de negócio falhou (ex: CPF já cadastrado) |
429 | Too Many Requests | Limite de requisições excedido |
500 | Internal Server Error | Erro interno |
Códigos de Erro
| Código | Descrição |
|---|---|
UNAUTHORIZED | Autenticação falhou |
FORBIDDEN | Sem permissão |
NOT_FOUND | Recurso não encontrado |
VALIDATION_ERROR | Erro de validação (campo obrigatório, formato inválido, etc.) |
DUPLICATE_ENTRY | Registro duplicado (CPF, email) |
INTERNAL_ERROR | Erro interno do servidor |
RATE_LIMIT_EXCEEDED | Limite de requisições excedido |
Autenticação
Todas as requisições requerem autenticação via header Authorization:
Authorization: Bearer og_live_sua_chave_aqui
Content-Type: application/jsonVeja mais em Autenticação.
Paginação
Endpoints que retornam listas suportam paginação via query parameters:
| Parâmetro | Padrão | Máximo | Descrição |
|---|---|---|---|
page | 1 | --- | Número da página |
limit | 20 | 100 | Itens por página |
page_size | 20 | 100 | Alternativa ao limit em alguns endpoints |
GET /api/v1/members?page=2&limit=50Limites de Uso
A API tem um limite de 100 requisições por minuto por API Key.
Exceder o limite resultará em resposta 429 Too Many Requests. Implemente retry com backoff
exponencial.
Datas e Horários
- Datas de filtro: formato ISO 8601
YYYY-MM-DD - Timestamps nas respostas:
2026-03-22T10:30:00Z(sempre UTC)
Suporte
- Email: suporte@octagym.ai
- Dashboard: dashboard.octagym.ai