API członków zespołu
Autor: Zespół Aether365 Odbiorcy: Deweloperzy Zakres: Endpointy API członków zespołu - zarządzanie dostępem użytkowników
Autoryzacja
Endpointy członków zespołu korzystają z kontroli dostępu opartej na rolach:
| Endpoint | Dozwolone role |
|---|---|
| Lista członków | Owner, Admin, Member |
| Zaproszenie członka | Owner, Admin |
| Zmiana roli członka | Owner |
| Usunięcie członka | Owner |
Lista członków zespołu
Zwraca wszystkich członków uwierzytelnionego konta tenanta.
GET /tenants/me/membersPrzykładowe żądanie
bash
curl https://api.aether365.io/tenants/me/members \
-H "Authorization: Bearer <token>"Przykładowa odpowiedź
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
}
]
}Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
id | string | Identyfikator członka |
email | string | Adres e-mail członka |
status | string | active lub pending |
role | string | owner, admin lub member |
invitedAt | string | Znacznik czasu ISO 8601 zaproszenia |
joinedAt | string lub null | Znacznik czasu ISO 8601 zaakceptowania zaproszenia |
Zaproszenie członka zespołu
Wysyła e-mail z zaproszeniem do nowego członka zespołu.
POST /tenants/me/members/inviteTreść żądania
json
{
"email": "newmember@example.com",
"role": "member"
}| Pole | Typ | Wymagane | Domyślnie | Opis |
|---|---|---|---|---|
email | string | Tak | - | Adres e-mail do zaproszenia |
role | string | Nie | "member" | "member" lub "admin" |
Przykładowe żądanie
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"}'Przykładowa odpowiedź
json
{
"success": true,
"data": {
"id": "mem_xyz999",
"email": "newmember@example.com",
"status": "pending",
"role": "member",
"invitedAt": "2026-04-12T10:00:00Z",
"joinedAt": null
}
}Błędy
| Kod | HTTP | Opis |
|---|---|---|
MEMBER_LIMIT_REACHED | 429 | Osiągnięto limit członków planu |
MEMBER_ALREADY_EXISTS | 409 | Ten e-mail jest już członkiem lub ma oczekujące zaproszenie |
VALIDATION_ERROR | 400 | Nieprawidłowy adres e-mail |
Zmiana roli członka zespołu
Zmienia rolę istniejącego członka zespołu.
PATCH /tenants/me/members/{memberId}WARNING
Tylko właściciel konta (Owner) może zmieniać role. Administratorzy nie mogą zmieniać ról.
Treść żądania
json
{
"role": "admin"
}| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
role | string | Tak | Nowa rola: "member" lub "admin" |
Przykładowe żądanie
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"}'Przykładowa odpowiedź
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"
}
}Usunięcie członka zespołu
Usuwa członka z konta. Natychmiast traci dostęp.
DELETE /tenants/me/members/{memberId}WARNING
Usunięcie właściciela konta jest niedozwolone. Aby przenieść własność, skontaktuj się z pomocą techniczną.
Przykładowe żądanie
bash
curl -X DELETE https://api.aether365.io/tenants/me/members/mem_def456 \
-H "Authorization: Bearer <token>"Przykładowa odpowiedź
json
{
"success": true,
"data": null
}