Quando você conecta um aplicativo de terceiros ao MoveMentors por OAuth (o caso mais comum: um assistente de IA via MCP), você concede scopes de permissão específicos. Este artigo lista cada scope e o que ele faz.
O modelo de scopes
O OAuth do MoveMentors segue o padrão OAuth 2.1 com PKCE. Você autoriza um cliente (por exemplo, o Claude), que recebe um token ligado a scopes específicos. Cada pedido que o cliente faz é conferido com esses scopes.
Se você concede só read:bookings, o cliente só pode ler reservas; tentativas de usar outras ferramentas devolvem 403 Forbidden.
Você concede scopes um a um na tela de consentimento do OAuth, e pode revogar a qualquer momento.
Scopes de leitura
read:profile
Ler seu perfil de usuário (nome, e-mail, tipo de conta, configurações).
Exigido por quase todos os clientes. Com ele, a IA sabe quem você é; sem ele, o assistente não consegue personalizar as respostas.
read:mentor
Ler seu perfil de mentor (bio, fotos, locais, certificações).
Para contas de mentor.
read:studio
Ler o perfil do seu estúdio.
Para contas de estúdio.
read:classes
Ler as aulas que você oferece (título, agenda, capacidade, preço etc.).
read:bookings
Ler suas reservas (como anfitrião e como aluno).
read:clients
Ler seu CRM de clientes (quem reservou, o histórico e as suas anotações).
read:financials
Ler seu painel de ganhos e despesas. Recurso Pro+.
read:reviews
Ler as avaliações do seu perfil e as avaliações que você deixou.
read:messages
Ler sua caixa de entrada (consultas, mensagens de mentores).
read:public
Buscar no diretório público (mentores, estúdios, aulas). Qualquer pessoa pode fazer isso sem autenticação, mas como scope autenticado ele devolve dados um pouco mais completos (por exemplo, a distância do local salvo como sua casa).
Scopes de escrita
write:profile
Atualizar seu perfil de usuário (nome, configurações).
write:mentor / write:studio
Atualizar seu perfil de mentor ou de estúdio.
write:classes
Criar, atualizar e excluir suas aulas. Alterar agendas, capacidade e preços.
Recurso Pro+; contas do plano gratuito que concedem esse scope continuam sem poder fazer alterações (a ferramenta devolve "upgrade required").
write:bookings
Criar novas reservas (em nome de um aluno), cancelar reservas, marcar como pago.
Observação: as reservas têm regras. Você não consegue criar uma reserva em uma aula esgotada pela API, assim como não consegue pelo site.
write:clients
Atualizar anotações e etiquetas de clientes.
write:financials
Criar, atualizar e excluir despesas. Alterar a categorização dos ganhos. Recurso Pro+.
write:reviews
Responder às avaliações do seu perfil.
write:messages
Enviar mensagens (consultas, respostas, contato de mentores).
Scopes especiais
mcp:tools
Permite que o cliente chame ferramentas MCP. Exigido para servidores MCP; sem ele, o endpoint MCP recusa os pedidos.
offline_access
Permite que o cliente renove o token de acesso sem você autorizar de novo. É um scope padrão do OAuth; sem ele, o cliente precisa pedir autorização de novo toda vez que o token expira (cerca de 1 hora).
A maioria dos clientes pede esse scope para que você não precise autorizar de novo o tempo todo.
Combinações comuns
A maioria dos clientes pede uma combinação sensata em vez de todos os scopes. As mais comuns:
- Read-only:
read:profile,read:bookings,read:classes,read:clients. Útil para pedidos como "mostre minha agenda". - Assistente pessoal: o read-only mais
write:bookings,write:classes,write:messages. O assistente pode cuidar da sua rotina. - Full control: tudo, menos
write:financials. Para quem usa bastante.
Você pode desmarcar scopes específicos na tela de consentimento; o cliente se adapta (algumas ferramentas ficam indisponíveis, mas o resto funciona).
O que posso fazer no consentimento
A tela de consentimento do OAuth mostra:
- O nome do cliente (por exemplo, "Claude Desktop").
- O site do cliente (se houver).
- Cada scope pedido pelo cliente.
- Uma caixa de seleção por scope (algumas já vêm marcadas como obrigatórias).
Você pode:
- Aprovar tudo (o caminho mais simples).
- Desmarcar scopes específicos e aprovar o restante.
- Negar tudo.
Revogar acesso
/settings/connected-apps mostra cada cliente OAuth conectado à sua conta. Para cada um, você vê:
- O nome do cliente.
- Quando ele foi autorizado.
- Quais scopes ele tem.
- Quando foi usado pela última vez.
- Um botão "Revogar".
Clique em Revogar e o token deixa de valer. O cliente perde o acesso na hora. Se você autorizar o mesmo cliente de novo depois, tudo começa do zero; nenhum scope fica "lembrado".
Registro de atividades
Cada pedido OAuth fica registrado no seu registro de atividades em /settings/audit-log. Você vê:
- Qual cliente fez o pedido.
- Qual ferramenta foi chamada.
- Os argumentos (com valores sensíveis ocultados).
- O status da resposta.
É útil quando você quer saber o que um assistente de IA andou fazendo em seu nome.
O que os scopes não cobrem
Algumas coisas que os scopes NÃO permitem, não importa o que você conceda:
- Ler dados privados de outros usuários. Mesmo com todos os scopes, um cliente só acessa os SEUS dados e os dados públicos dos outros.
- Disparar repasses ou alterar configurações do lado do Stripe. Isso fica no Stripe, não com a gente.
- Alterar configurações da conta que exigem confirmação por e-mail (trocar seu e-mail etc.).
Isso é de propósito. Algumas ações são arriscadas demais para delegar.
Perguntas comuns
Um cliente pode pedir um scope que eu não concedi? O cliente recebe 403 em qualquer ferramenta que exija um scope não concedido. Ele não consegue ampliar o próprio acesso.
Posso ver o que um cliente antigo fazia depois de revogá-lo? Sim. O registro de atividades guarda os pedidos antigos, mesmo de clientes revogados.
Vários clientes podem se conectar com scopes em comum? Sim. Cada cliente conectado tem o próprio token. Você pode ter o Claude com acesso total E o ChatGPT só com leitura.
Dá para limitar por aula ou por cliente (algo mais detalhado que os scopes)? Por enquanto, não. Os scopes são o limite; não oferecemos "ler reservas só da aula X" nem controles de acesso parecidos. Podemos adicionar isso se houver procura.
Por que não existe um scope delete:account?
Excluir a conta exige confirmação por e-mail. Isso não pode ser feito por OAuth, nem com todos os scopes.
Próximos passos
- Servidor MCP: o principal usuário do OAuth.
- Apps conectados: gerencie suas autorizações.