Início Rápido
Comece a usar a API OctaGym em 5 minutos
Início Rápido
Este guia mostra como fazer sua primeira integração com a API OctaGym. Ao final, você terá cadastrado um aluno, criado uma mensalidade e consultado métricas da academia via API.
Pré-requisitos
- Conta ativa no OctaGym
- API Key gerada (veja Autenticação)
store_idda sua unidade (opcional — em Configurações → Unidades no painel)
Obtenha sua API Key
- Acesse o painel do OctaGym
- Navegue até Configurações → API Keys
- Clique em Criar Nova Chave
- Copie sua chave (formato:
og_live_...)
Guarde sua API Key em segurança. Ela não será exibida novamente!
Cadastre seu primeiro aluno
Crie um aluno na academia:
curl -X POST https://dashboard.octagym.ai/api/v1/members \
-H "Authorization: Bearer og_live_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{
"full_name": "João da Silva",
"email": "joao.silva@email.com",
"phone": "+5511999998888",
"cpf": "123.456.789-00"
}'const response = await fetch('https://dashboard.octagym.ai/api/v1/members', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
full_name: 'João da Silva',
email: 'joao.silva@email.com',
phone: '+5511999998888',
cpf: '123.456.789-00'
})
});
const data = await response.json();
console.log('Aluno criado:', data.data.id);import requests
import os
response = requests.post(
'https://dashboard.octagym.ai/api/v1/members',
headers={
'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}',
'Content-Type': 'application/json'
},
json={
'full_name': 'João da Silva',
'email': 'joao.silva@email.com',
'phone': '+5511999998888',
'cpf': '123.456.789-00'
}
)
data = response.json()
print(f"Aluno criado: {data['data']['id']}")Resposta:
{
"success": true,
"data": {
"id": "uuid-do-aluno",
"full_name": "João da Silva",
"email": "joao.silva@email.com",
"phone": "+5511999998888",
"cpf": "123.456.789-00",
"status": "trial",
"created_at": "2026-03-22T10:30:00Z"
}
}Liste os planos e crie uma mensalidade
Primeiro, consulte os planos disponíveis:
curl -X GET https://dashboard.octagym.ai/api/v1/plans \
-H "Authorization: Bearer og_live_sua_chave_aqui"const response = await fetch('https://dashboard.octagym.ai/api/v1/plans', {
headers: {
'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`
}
});
const { data: plans } = await response.json();
console.log('Planos disponíveis:', plans);response = requests.get(
'https://dashboard.octagym.ai/api/v1/plans',
headers={
'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}'
}
)
plans = response.json()['data']
print(f"Planos disponíveis: {plans}")Resposta:
{
"success": true,
"data": [
{
"id": "uuid-do-plano",
"name": "Plano Mensal",
"price_cents": 9990,
"billing_period": "monthly",
"is_active": true
}
]
}Agora crie a mensalidade vinculando o aluno ao plano:
curl -X POST https://dashboard.octagym.ai/api/v1/memberships \
-H "Authorization: Bearer og_live_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{
"member_profile_id": "uuid-do-aluno",
"plan_id": "uuid-do-plano",
"start_date": "2026-03-22"
}'const response = await fetch('https://dashboard.octagym.ai/api/v1/memberships', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
member_profile_id: 'uuid-do-aluno',
plan_id: 'uuid-do-plano',
start_date: '2026-03-22'
})
});
const data = await response.json();
console.log('Mensalidade criada:', data.data.id);response = requests.post(
'https://dashboard.octagym.ai/api/v1/memberships',
headers={
'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}',
'Content-Type': 'application/json'
},
json={
'member_profile_id': 'uuid-do-aluno',
'plan_id': 'uuid-do-plano',
'start_date': '2026-03-22'
}
)
data = response.json()
print(f"Mensalidade criada: {data['data']['id']}")Resposta:
{
"success": true,
"data": {
"id": "uuid-da-mensalidade",
"member_profile_id": "uuid-do-aluno",
"plan_id": "uuid-do-plano",
"status": "active",
"start_date": "2026-03-22",
"end_date": "2026-04-22",
"price_cents": 9990,
"created_at": "2026-03-22T10:35:00Z"
}
}Consulte as métricas da academia
Verifique os indicadores da sua academia:
curl -X GET https://dashboard.octagym.ai/api/v1/gym-metrics \
-H "Authorization: Bearer og_live_sua_chave_aqui"const response = await fetch('https://dashboard.octagym.ai/api/v1/gym-metrics', {
headers: {
'Authorization': `Bearer ${process.env.OCTAGYM_API_KEY}`
}
});
const { data: metrics } = await response.json();
console.log('Métricas:', metrics);response = requests.get(
'https://dashboard.octagym.ai/api/v1/gym-metrics',
headers={
'Authorization': f'Bearer {os.environ["OCTAGYM_API_KEY"]}'
}
)
metrics = response.json()['data']
print(f"Métricas: {metrics}")Resposta:
{
"success": true,
"data": {
"active_members": 247,
"mrr_cents": 2468530,
"churn_rate": 4.2,
"checkins_today": 83
}
}Exemplo Completo em JavaScript
// octagym-client.js
class OctaGymClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseUrl = 'https://dashboard.octagym.ai/api/v1';
}
async request(endpoint, options = {}) {
const response = await fetch(`${this.baseUrl}${endpoint}`, {
...options,
headers: {
Authorization: `Bearer ${this.apiKey}`,
'Content-Type': 'application/json',
...options.headers,
},
});
if (!response.ok) {
const error = await response.json();
throw new Error(error.error?.message || 'Erro na requisição');
}
return response.json();
}
// Alunos
async createMember(data) {
return this.request('/members', {
method: 'POST',
body: JSON.stringify(data),
});
}
async getMembers(params = {}) {
const query = new URLSearchParams(params).toString();
return this.request(`/members?${query}`);
}
// Planos
async getPlans(params = {}) {
const query = new URLSearchParams(params).toString();
return this.request(`/plans?${query}`);
}
// Mensalidades
async createMembership(data) {
return this.request('/memberships', {
method: 'POST',
body: JSON.stringify(data),
});
}
// Métricas
async getMetrics() {
return this.request('/gym-metrics');
}
}
// Uso
const client = new OctaGymClient(process.env.OCTAGYM_API_KEY);
async function cadastrarAlunoCompleto() {
// 1. Criar aluno
const aluno = await client.createMember({
full_name: 'Maria Santos',
email: 'maria@email.com',
phone: '+5511988887777',
cpf: '987.654.321-00',
});
// 2. Buscar planos disponíveis
const { data: planos } = await client.getPlans();
const planoMensal = planos.find((p) => p.billing_period === 'monthly');
// 3. Criar mensalidade
const mensalidade = await client.createMembership({
member_profile_id: aluno.data.id,
plan_id: planoMensal.id,
start_date: new Date().toISOString().split('T')[0],
});
// 4. Consultar métricas atualizadas
const metricas = await client.getMetrics();
return {
aluno: aluno.data,
mensalidade: mensalidade.data,
metricas: metricas.data,
};
}
cadastrarAlunoCompleto().then(console.log);Próximos Passos
Agora que você fez sua primeira integração, explore mais recursos:
- Alunos — Documentação completa de cadastro, check-ins e medições
- Planos — Consultar planos, períodos de cobrança e preços
- Mensalidades — Gerenciar mensalidades, congelamentos e cancelamentos
Precisa de Ajuda?
- Email: suporte@octagym.ai
- Dashboard: dashboard.octagym.ai