Equipe da Organization

Gerencie quem pertence à Organization — liste membros, convide novos, altere funções, reenvie ou revogue convites e remova o acesso.

Esses endpoints sustentam a tela de equipe da Organization: as pessoas que podem fazer login no Dashboard no nível da Organization e os convites que trazem novas pessoas. Gerencie membros e suas funções, e controle os convites pendentes.

A função de um membro determina o que ele pode fazer em todo o escopo da Organization; um convite é uma associação pendente que se torna real assim que aceito. Remover um membro revoga o acesso dele imediatamente.

Esses endpoints alimentam a interface do Tokeflow Dashboard no nível da Organization. Eles são autenticados por sessão (JWT bearer) — o token vem do login no Dashboard, não de uma chave de API sk_/pk_. As solicitações também carregam o header x-organization-id, e o usuário autenticado deve ser membro dessa Organization.

O objeto de convite

Retornado pelos endpoints de listagem e consulta desta página.

CampoTipoDescrição
idstringID do convite.
organization_idstringID da Organization.
organization_namestringNome da Organization.
emailstringEndereço de e-mail do convidado.
namestring | nullNome de exibição do convidado.
rolestringFunção atribuída ao convidado. Um de owner, admin, viewer.
statusstringStatus atual do convite. Um de pending, accepted, declined, expired, revoked.
invited_byobjectDetalhes do usuário que enviou o convite.
expires_atstringData de expiração do convite. (ISO 8601 UTC).
accepted_atstring | nullData em que o convite foi aceito. (ISO 8601 UTC).
declined_atstring | nullData em que o convite foi recusado. (ISO 8601 UTC).
created_atstringData em que o convite foi criado. (ISO 8601 UTC).

Endpoints

GET/api/v1/org/team/invitations

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Lista os convites da equipe.

Parâmetros de consulta

CampoTipoObrigatórioDescrição
statusstringNãoFiltra convites por status
pagenumberNãoNúmero da página (indexada a partir de 1). Padrão 1, mín 1.
limitnumberNãoNúmero de itens por página. Padrão 20, mín 1, máx 100.

Exemplo de solicitação

curl -G https://api.tokeflow.com/api/v1/org/team/invitations \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3" \
  --data-urlencode "status=pending" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=20"

Exemplo de resposta — 200

{
  "data": [
    {
      "id": "obj_1a2b3c4d",
      "organization_id": "org_4b21e7c3",
      "organization_name": "Acme Store",
      "email": "jane@example.com",
      "name": "Acme Store",
      "role": "owner",
      "status": "pending",
      "invited_by": {
        "user_id": "string",
        "name": "Acme Store",
        "email": "jane@example.com"
      },
      "expires_at": "2026-01-15T12:30:00.000Z",
      "accepted_at": "2026-01-15T12:30:00.000Z",
      "declined_at": "2026-01-15T12:30:00.000Z",
      "created_at": "2026-01-15T12:30:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 42,
    "total_pages": 3,
    "has_next": true,
    "has_prev": false
  }
}

POST/api/v1/org/team/invitations

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Envia um convite de equipe.

Campos da solicitação

CampoTipoObrigatórioDescrição
emailstringSimEndereço de e-mail do convidado.
rolestringSimFunção a atribuir ao convidado. Um de owner, admin, viewer.
namestringNãoNome de exibição do convidado.

Exemplo de solicitação

curl -X POST https://api.tokeflow.com/api/v1/org/team/invitations \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@company.com",
    "role": "admin",
    "name": "Jane Doe"
  }'

Exemplo de resposta — 201

{
  "id": "obj_1a2b3c4d",
  "organization_id": "org_4b21e7c3",
  "organization_name": "Acme Store",
  "email": "jane@example.com",
  "name": "Acme Store",
  "role": "owner",
  "status": "pending",
  "invited_by": {
    "user_id": "string",
    "name": "Acme Store",
    "email": "jane@example.com"
  },
  "expires_at": "2026-01-15T12:30:00.000Z",
  "accepted_at": "2026-01-15T12:30:00.000Z",
  "declined_at": "2026-01-15T12:30:00.000Z",
  "created_at": "2026-01-15T12:30:00.000Z"
}

DELETE/api/v1/org/team/invitations/:id

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Revoga o convite da equipe.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Exemplo de solicitação

curl -X DELETE https://api.tokeflow.com/api/v1/org/team/invitations/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3"

Exemplo de resposta — 204 No Content

Um corpo vazio é retornado em caso de sucesso.


POST/api/v1/org/team/invitations/:id/resend

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Reenvia o convite da equipe.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Exemplo de solicitação

curl -X POST https://api.tokeflow.com/api/v1/org/team/invitations/obj_1a2b3c4d/resend \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3"

Exemplo de resposta — 200

{
  "id": "obj_1a2b3c4d",
  "organization_id": "org_4b21e7c3",
  "organization_name": "Acme Store",
  "email": "jane@example.com",
  "name": "Acme Store",
  "role": "owner",
  "status": "pending",
  "invited_by": {
    "user_id": "string",
    "name": "Acme Store",
    "email": "jane@example.com"
  },
  "expires_at": "2026-01-15T12:30:00.000Z",
  "accepted_at": "2026-01-15T12:30:00.000Z",
  "declined_at": "2026-01-15T12:30:00.000Z",
  "created_at": "2026-01-15T12:30:00.000Z"
}

GET/api/v1/org/team/members

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Lista os membros da Organization.

Parâmetros de consulta

CampoTipoObrigatórioDescrição
pagenumberNãoNúmero da página (indexada a partir de 1). Padrão 1, mín 1.
limitnumberNãoNúmero de itens por página. Padrão 20, mín 1, máx 100.

Exemplo de solicitação

curl -G https://api.tokeflow.com/api/v1/org/team/members \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=20"

Exemplo de resposta — 200

{
  "data": [
    {
      "membership_id": "mem_7b2f9c14",
      "user_id": "string",
      "email": "jane@example.com",
      "name": "Acme Store",
      "role": "owner",
      "joined_at": "2026-01-15T12:30:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 42,
    "total_pages": 3,
    "has_next": true,
    "has_prev": false
  }
}

DELETE/api/v1/org/team/members/:id

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Remove o membro da equipe.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Exemplo de solicitação

curl -X DELETE https://api.tokeflow.com/api/v1/org/team/members/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3"

Exemplo de resposta — 204 No Content

Um corpo vazio é retornado em caso de sucesso.


PATCH/api/v1/org/team/members/:id

Org

Auth: Dashboard session (JWT bearer). É necessário ser membro da Organization.

Atualiza a função do membro da equipe.

Parâmetros de caminho

CampoTipoObrigatórioDescrição
idstringSim—

Campos da solicitação

CampoTipoObrigatórioDescrição
rolestringSimNova função a atribuir ao membro. Um de owner, admin, viewer.

Exemplo de solicitação

curl -X PATCH https://api.tokeflow.com/api/v1/org/team/members/obj_1a2b3c4d \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" \
  -H "x-organization-id: org_4b21e7c3" \
  -H "Content-Type: application/json" \
  -d '{
    "role": "admin"
  }'

Erros

Os erros usam o envelope padrão. Os casos mais comuns aqui:

HTTPSignificado
400Parâmetros inválidos ou um estado que não permite esta operação.
401Token de sessão do Dashboard ausente, expirado ou inválido.
403Autenticado, mas o usuário logado não tem acesso a esta entidade.
404O registro não existe ou não está visível para esta entidade.

Relacionados

Nesta página