API de Team Members
Mantenido por: Aether365 Team Audiencia: Desarrolladores Alcance: Endpoints de la API de Team Members - gestión del acceso de usuarios
Autorización
Los endpoints de Team Members utilizan control de acceso basado en roles:
| Endpoint | Roles permitidos |
|---|---|
| Listar miembros | Owner, Admin, Member |
| Invitar a un miembro | Owner, Admin |
| Cambiar el rol de un miembro | Owner |
| Eliminar un miembro | Owner |
Listar miembros del equipo
Devuelve todos los miembros de la cuenta del tenant autenticado.
GET /tenants/me/membersSolicitud de ejemplo
bash
curl https://api.aether365.io/tenants/me/members \
-H "Authorization: Bearer <token>"Respuesta de ejemplo
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 de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador del miembro |
email | string | Dirección de correo del miembro |
status | string | active o pending |
role | string | owner, admin o member |
invitedAt | string | Marca de tiempo ISO 8601 de la invitación |
joinedAt | string o null | Marca de tiempo ISO 8601 de cuando acepto la invitación |
Invitar a un miembro del equipo
Envía un correo de invitación a un nuevo miembro del equipo.
POST /tenants/me/members/inviteCuerpo de la solicitud
json
{
"email": "newmember@example.com",
"role": "member"
}| Campo | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
email | string | Sí | - | Dirección de correo a invitar |
role | string | No | "member" | "member" o "admin" |
Solicitud de ejemplo
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"}'Respuesta de ejemplo
json
{
"success": true,
"data": {
"id": "mem_xyz999",
"email": "newmember@example.com",
"status": "pending",
"role": "member",
"invitedAt": "2026-04-12T10:00:00Z",
"joinedAt": null
}
}Errores
| Código | HTTP | Descripción |
|---|---|---|
MEMBER_LIMIT_REACHED | 429 | Límite de miembros del plan alcanzado |
MEMBER_ALREADY_EXISTS | 409 | Este correo ya es miembro o tiene una invitación pendiente |
VALIDATION_ERROR | 400 | Dirección de correo no válida |
Cambiar el rol de un miembro
Cambia el rol de un miembro existente del equipo.
PATCH /tenants/me/members/{memberId}WARNING
Solo el propietario de la cuenta puede cambiar roles. Los Admins no pueden cambiar roles.
Cuerpo de la solicitud
json
{
"role": "admin"
}| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
role | string | Sí | Nuevo rol: "member" o "admin" |
Solicitud de ejemplo
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"}'Respuesta de ejemplo
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"
}
}Eliminar un miembro del equipo
Elimina un miembro de la cuenta. Pierde el acceso de forma inmediata.
DELETE /tenants/me/members/{memberId}WARNING
No se permite eliminar al propietario de la cuenta. Para transferir la propiedad, contacta con soporte.
Solicitud de ejemplo
bash
curl -X DELETE https://api.aether365.io/tenants/me/members/mem_def456 \
-H "Authorization: Bearer <token>"Respuesta de ejemplo
json
{
"success": true,
"data": null
}