Ajuda

Scopes OAuth

A lista completa de scopes de permissão do fluxo OAuth, o que cada um permite e como conceder ou revogar.

Professores

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