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.

PropriedadeTipoDescrição
idstringIdentificador único do recurso.
typestringTipo do recurso. O PersonalAccessToken é sempre "PersonalAccessToken".
createdByRefer<User>Usuário que criou.
createdAtstring (date-time)Momento da criação.
updatedByRefer<User>Usuário que fez a última modificação.
updatedAtstring (date-time)Momento da última modificação.
accessTokenstringValor 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.
scopesstring arrayEscopo de permissão do token. O PersonalAccessToken é sempre ["PERSONAL"].

Propriedades do corpo:

PropriedadeTipoDescrição
namestring (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 accessToken aparece 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.

  • 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.