API de Membros da Equipa
Autorização
Os endpoints de Team Members utilizam controlo de acesso baseado em funções:
| Endpoint | Funções permitidas |
|---|---|
| Listar membros | Owner, Admin, Member |
| Convidar um membro | Owner, Admin |
| Alterar a função de um membro | Owner |
| Remover um membro | Owner |
Listar Membros da Equipa
Devolve todos os membros da conta de tenant autenticada.
GET /tenants/me/membersExemplo de Pedido
bash
curl https://api.aether365.io/tenants/me/members \
-H "Authorization: Bearer <token>"Exemplo de Resposta
json
{
"success": true,
"data": [
{
"id": "mem_abc123",
"email": "alice@example.com",
"status": "active",
"role": "owner",
"invitedAt": "2026-01-15T10:00:00Z",
"joinedAt": "2026-01-15T10:30:00Z"
},
{
"id": "mem_def456",
"email": "bob@example.com",
"status": "active",
"role": "member",
"invitedAt": "2026-02-01T09:00:00Z",
"joinedAt": "2026-02-01T11:00:00Z"
},
{
"id": "mem_ghi789",
"email": "carol@example.com",
"status": "pending",
"role": "member",
"invitedAt": "2026-04-10T08:00:00Z",
"joinedAt": null
}
]
}Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador do membro |
email | string | Endereço de email do membro |
status | string | active ou pending |
role | string | owner, admin ou member |
invitedAt | string | Data e hora ISO 8601 do convite |
joinedAt | string ou null | Data e hora ISO 8601 de aceitação do convite |
Convidar um Membro da Equipa
Envia um email de convite a um novo membro da equipa.
POST /tenants/me/members/inviteCorpo do Pedido
json
{
"email": "newmember@example.com",
"role": "member"
}| Campo | Tipo | Obrigatório | Predefinição | Descrição |
|---|---|---|---|---|
email | string | Sim | - | Endereço de email a convidar |
role | string | Não | "member" | "member" ou "admin" |
Exemplo de Pedido
bash
curl -X POST https://api.aether365.io/tenants/me/members/invite \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"email": "newmember@example.com", "role": "member"}'Exemplo de Resposta
json
{
"success": true,
"data": {
"id": "mem_xyz999",
"email": "newmember@example.com",
"status": "pending",
"role": "member",
"invitedAt": "2026-04-12T10:00:00Z",
"joinedAt": null
}
}Erros
| Código | HTTP | Descrição |
|---|---|---|
MEMBER_LIMIT_REACHED | 429 | Limite de membros do plano atingido |
MEMBER_ALREADY_EXISTS | 409 | Este email já e membro ou tem um convite pendente |
VALIDATION_ERROR | 400 | Endereço de email inválido |
Alterar a Função de um Membro
Altera a função de um membro existente da equipa.
PATCH /tenants/me/members/{memberId}WARNING
Apenas o proprietário da conta pode alterar funções. Os Admins não podem alterar funções.
Corpo do Pedido
json
{
"role": "admin"
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
role | string | Sim | Nova função: "member" ou "admin" |
Exemplo de Pedido
bash
curl -X PATCH https://api.aether365.io/tenants/me/members/mem_def456 \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"role": "admin"}'Exemplo de Resposta
json
{
"success": true,
"data": {
"id": "mem_def456",
"email": "bob@example.com",
"status": "active",
"role": "admin",
"invitedAt": "2026-02-01T09:00:00Z",
"joinedAt": "2026-02-01T11:00:00Z"
}
}Remover um Membro da Equipa
Remove um membro da conta. O acesso e revogado imediatamente.
DELETE /tenants/me/members/{memberId}WARNING
Não é permitido remover o proprietário da conta. Para transferir a propriedade, contacte o suporte.
Exemplo de Pedido
bash
curl -X DELETE https://api.aether365.io/tenants/me/members/mem_def456 \
-H "Authorization: Bearer <token>"Exemplo de Resposta
json
{
"success": true,
"data": null
}