Personal Access Token
Última atualização: 3 de julho de 2026
O PersonalAccessToken é um token de longa duração usado quando uma conta da plataforma Weegloo (Weegloo User) chama a CMA, o Upload ou a CDA com as próprias permissões, a partir de servidores, CI ou scripts. Diferentemente do token de curta duração que o fluxo de login no navegador emite a cada vez, uma vez emitido ele permanece válido até ser excluído.
O PersonalAccessToken está vinculado à conta de usuário, não a um Space. Por isso o endpoint não fica abaixo de /spaces/{spaceId}, mas no caminho de nível superior /personal-access-tokens, e não há spaceId nas variáveis de caminho. Quem chama com este token atua em todos os Space dos quais o usuário é membro, dentro das permissões que o SpaceRole de cada Space define.
Estrutura do recurso
A seguir está a resposta obtida ao criar um PersonalAccessToken. O sys (propriedades de sistema) contém o valor do token e seu escopo, e o corpo traz o name.
{
"sys": {
"id": "5KmQ2pVnRb8sTfWcXd3LhJ9gAe",
"type": "PersonalAccessToken",
"createdBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-18T11:41:47.409Z",
"updatedBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-06-18T11:41:47.409Z",
"accessToken": "PSNAT5SCq8Lm2vK9pXfR1Zt0Nc4Wd6Hg5Ua2Ee9Ck3PoYx8Bj6Hg5Ua2Ee9Ck3Po…",
"scopes": ["PERSONAL"]
},
"name": "Servidor de sincronização de produtos"
}Chaves principais:
sys.id: identificador único do PersonalAccessToken. Entra no{personalAccessTokenId}dos caminhos de consulta individual e de exclusão.sys.accessToken: valor secreto do token usado nas chamadas de API. Como o mesmo valor aparece não só na resposta de criação, mas também nas respostas de consulta posteriores, é preciso ter cuidado com a exposição (consulte a seção de segurança abaixo).sys.scopes: escopo de permissão do token. O PersonalAccessToken é sempre["PERSONAL"]na emissão.name: nome do token definido na criação (por exemplo,Servidor de sincronização de produtos).
O accessToken do exemplo acima é um valor secreto e foi substituído por uma string de exemplo. Na prática, é uma string longa e opaca que começa com PSNAT, e o mesmo valor é retornado quando consultado novamente após a emissão.
Propriedades de sistema (sys)
Todo PersonalAccessToken contém as propriedades de sistema comuns e as propriedades próprias do token no objeto sys. createdBy e updatedBy entram no formato Refer ({ "sys": { "id", "type": "Refer", "targetType" } }). Este recurso não tem space, porque é um token de nível de usuário vinculado à conta de usuário, e não a um Space.
| Propriedade | Tipo | Descrição |
|---|---|---|
id | string | Identificador único do recurso. |
type | string | Tipo do recurso. O PersonalAccessToken é sempre "PersonalAccessToken". |
createdBy | Refer<User> | Usuário que criou. |
createdAt | string (date-time) | Momento da criação. |
updatedBy | Refer<User> | Usuário que fez a última modificação. |
updatedAt | string (date-time) | Momento da última modificação. |
accessToken | string | Valor secreto do token usado nas chamadas de API. Como aparece como está tanto na resposta de criação quanto na de consulta, deve ser tratado de modo a não ser exposto externamente. |
scopes | string array | Escopo de permissão do token. O PersonalAccessToken é sempre ["PERSONAL"]. |
Propriedades do corpo:
| Propriedade | Tipo | Descrição |
|---|---|---|
name | string (1~64) | Nome do token. Definido na criação. |
Segurança: não exponha o token
O PersonalAccessToken carrega exatamente a identidade do usuário. Chamar com este token permite acionar a CMA, o Upload e a CDA com as permissões do SpaceRole de todas as associações de Space que o usuário possui. Como o escopo de permissão é amplo e a vida útil é longa, uma vez que ele vaza, todas as permissões do usuário ficam expostas.
- Trate-o como segredo, sem expô-lo em lugar nenhum. No momento em que ele vaza, todas as permissões do usuário passam para fora. O PersonalAccessToken é exclusivo de ambientes confiáveis, como servidores e CI, e não deve ser deixado em texto puro em lugar algum: código, logs, repositórios ou mensagens de erro.
- Não o coloque no navegador nem no código do cliente. Um valor enviado ao navegador pode ser visto pelo próprio usuário, o que na prática o torna público. As telas de administração que rodam no navegador usam o token de curta duração recebido pelo fluxo de login no estúdio de conteúdo (limitado à sessão da tela).
- Para a entrega somente leitura exposta aos visitantes, use um DeliveryAccessToken vinculado a um SpaceRole de privilégio mínimo (least-privilege). Não use PersonalAccessToken em clientes públicos.
- O
accessTokenaparece com o mesmo valor não só no momento da criação, mas também na resposta de consulta. Tenha cuidado para não deixar o resultado da consulta como está em logs, telas ou armazenamentos externos. - Não há API de modificação (sem PUT nem PATCH). Para trocar o token, exclua o token existente e emita um novo. Se houver suspeita de exposição, exclua-o imediatamente para invalidá-lo e substitua-o por um novo token.
(Fonte: skills weegloo-user-login e weegloo-delivery-access-token, .claude/rules/weegloo-api-endpoints.md.)
API
A URL base de todos os endpoints abaixo é https://cma.weegloo.com/v1, e é necessário um token Bearer que autentica a CMA no cabeçalho Authorization. Como o PersonalAccessToken é um recurso de nível de usuário, não há spaceId no caminho. Além disso, como não há API de modificação, existem apenas quatro operações: listagem, criação, consulta individual e exclusão.
Documentos relacionados
- Delivery Access Token: token de entrega somente leitura exposto aos visitantes (para o navegador).
- SpaceRole: o escopo das permissões que este usuário tem em cada Space.
