Criar minha escola grátis →
Desenvolvedores · Documentação da API

Começar

O que a API do LMS Estúdio faz, como criar o token e a primeira chamada em 5 minutos.

API v1 · contrato 1.0.0

A API do LMS Estúdio deixa outros sistemas da sua escola — ERP, CRM, site, ferramenta de automação, painel de BI — ler e gravar os dados do seu LMS: cursos, aulas, alunos, turmas, matrículas, progresso, certificados e vendas. Assim, o cadastro feito num sistema chega ao outro sem ninguém digitar duas vezes.

Cada token pertence a uma escola e só enxerga os dados dela. A API está disponível para todas as escolas assinantes do LMS Estúdio.

O que dá para fazer

  • Montar cursos: criar e editar categorias, cursos, módulos e aulas (texto, link, vídeo do YouTube ou Vimeo, código, separador e live do YouTube), reordenar e publicar quando estiver pronto.
  • Cadastrar pessoas: alunos e professores, com convite por e-mail para a pessoa definir a própria senha.
  • Dar acesso: matricular um aluno num curso, em lote (até 100 por chamada), mudar o fim do acesso ou revogar.
  • Organizar turmas: criar turmas e incluir ou tirar membros.
  • Acompanhar resultados: progresso por aluno e por curso, certificados emitidos e emblemas.
  • Consultar vendas: pedidos, assinaturas com as cobranças e relatórios de vendas, matrículas e certificados (somente leitura).

Endereços

O quêEndereço
API da sua escolahttps://SEU-ENDERECO/api/v1
O mesmo endereço do seu LMS: o subdomínio suaescola.lmsestudio.com ou o seu domínio próprio.
Especificação OpenAPIhttps://lmsestudio.com.br/desenvolvedores/openapi.json
Importe no Postman, Insomnia ou no gerador de código que você usa.
Esta documentaçãohttps://lmsestudio.com.br/desenvolvedores

1. Criar o token

Quem cria o token é um administrador da escola, no painel do LMS:

  1. No menu, abra Configurações › API da escola e clique em Novo token.
  2. Dê um nome que diga onde ele vai ser usado (ex.: “ERP Financeiro”) e a finalidade.
  3. Marque só as permissões que a integração precisa. Para começar, leitura basta. Veja o que cada uma libera.
  4. Se possível, informe os IPs do servidor que vai chamar a API. Para exclusões e dados pessoais, a lista é obrigatória.
  5. Escolha a validade (padrão de 90 dias, até 365), confirme com a sua senha e copie o token na hora: ele aparece uma única vez.

O token dá acesso aos dados da escola. Guarde-o como uma senha: em variável de ambiente ou cofre de segredos, nunca no código, em planilha ou no navegador.

2. Primeira chamada

Envie o token no cabeçalho Authorization. A rota GET /me responde com os dados do próprio token e serve para testar a conexão:

Requisição
export LMS_TOKEN="elms_live_..."

curl "https://minhaescola.lmsestudio.com/api/v1/me" \
  -H "Authorization: Bearer $LMS_TOKEN"
Resposta 200
{
    "data": {
        "token": {
            "name": "Integração com o ERP",
            "purpose": "Integração com o ERP",
            "masked": "elms_live_...Qw2r",
            "last_four": "Qw2r",
            "expires_at": "2026-11-10T14:30:00-03:00",
            "last_used_at": "2026-11-10T14:30:00-03:00",
            "rate_limit_per_minute": 1,
            "ip_restricted": true
        },
        "school": {
            "id": "9b3adf86-f581-4f68-af3b-6dae067f956a",
            "plan": "Plano Premium"
        },
        "permissions": {
            "granted": [
                "courses.read"
            ],
            "effective": [
                "courses.read"
            ]
        },
        "api": {
            "version": "v1",
            "phase": 1
        }
    }
}

Em permissions.effective você vê tudo o que o token pode fazer. Se receber 401, confira se o token foi copiado inteiro, se ainda está válido e se o IP de onde você chama está na lista dele.

3. Uma consulta de verdade

Liste os cursos publicados, 10 por página:

Requisição
curl "https://minhaescola.lmsestudio.com/api/v1/courses?status=published&per_page=10" \
  -H "Authorization: Bearer $LMS_TOKEN"

Toda lista vem com os itens em data, a contagem em meta (page, per_page, total) e os endereços das outras páginas em links. Para buscar tudo, siga links.next até ele vir null.

Combinados que valem para toda a API

  • Sempre HTTPS e JSON. As escritas enviam Content-Type: application/json; as respostas vêm em UTF-8.
  • Datas seguem o ISO 8601 com fuso (2026-11-10T14:30:00-03:00). Valores vêm em texto com duas casas e ponto ("149.90"), para não perder centavos.
  • Campo desconhecido é recusado com 422, nunca ignorado em silêncio. Assim um nome digitado errado não passa despercebido.
  • Conteúdo novo nasce despublicado. Curso, módulo e aula criados pela API só aparecem para os alunos depois que você publicar.
  • HTML passa por filtro. Scripts e atributos perigosos são removidos de descrições e aulas.
  • Escrita leva Idempotency-Key. Se a resposta se perder, repita com a mesma chave sem medo de duplicar. Como funciona.
  • Não há webhooks. Para manter outro sistema em dia, consulte as listas com updated_since. Veja o exemplo.
  • A API não cobra nem configura preço. Matrícula feita por ela é acesso concedido, sem pedido nem pagamento; preços e planos continuam no painel.

Testar sem atrapalhar a escola

Não existe ambiente de testes separado: o token atende a escola de verdade, e toda escrita vale. Para desenvolver com segurança:

  • Comece com um token só de leitura e crie outro, com escrita, quando o código estiver pronto.
  • Teste escritas em registros criados para isso — um curso de rascunho, um aluno com e-mail seu — e apague no fim.
  • Cadastre alunos de teste com "send_invite": false e matricule com "notify": false, para ninguém receber e-mail.
  • Cada chamada fica registrada no histórico do token, com um request_id. Use-o para conferir o que aconteceu.

Próximos passos

Usamos cookies para melhorar sua experiência de navegação.