Elenca i membri di un'organizzazione
GET /fapi/v1/organizations/{org_id}/memberships · chiamato dall'host di accesso dell'ambiente
Elenca le appartenenze di un'organizzazione, ordinate per ultima modifica, per una schermata del profilo dell'organizzazione. Gli inviti in sospeso non compaiono mai qui. Ogni riga indica l'utente solo tramite il suo identificatore usr_…; questo endpoint non restituisce nomi né indirizzi email. Richiede il cookie __Host-idp_session dell'utente autenticato; se il cookie manca, è scaduto o è stato revocato, restituisce 401 unauthenticated. Un'applicazione di prima parte su un'altra origin può invece inviare il proprio access token della front API (Authorization: DPoP <token> con una DPoP proof; vedi Front API access token). L'utente deve essere un membro attivo dell'organizzazione con l'autorizzazione idp_members:read. Un utente che non è membro riceve 404 not_found; un membro senza l'autorizzazione riceve 403 insufficient_permissions.
Con @keenauth/js: await keenauth.organizations.members(orgId, { status: "active" }).
Richiesta
Intestazioni:
| Intestazione | Obbligatoria | Descrizione |
|---|---|---|
Idp-Client |
sì | Identificatore dell'SDK. |
org_id: l'identificatore dell'organizzazione (org_…).
Parametri query:
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
status |
no | active, suspended o removed; tutti e tre se omesso. |
role_id |
no | Solo le appartenenze che hanno questo ruolo (rol_…). |
after |
no | Il valore next_after della pagina precedente (opaco). |
limit |
no | Da 1 a 100, predefinito 20. |
Nessun body.
Risposta
200 OK con {"data": [...], "next_after": "..."}; next_after è assente nell'ultima pagina.
Ogni elemento: id (mem_…), user_id (usr_…), status, roles (ciascuno con role_id e source, cioè l'origine dell'assegnazione, come admin_api o default), created_at, activated_at (o null), expires_at (o null), updated_at, version.
Errori
| Stato | Codice | Quando |
|---|---|---|
| 400 | invalid_cursor |
after è malformato. |
| 401 | unauthenticated |
Nessun cookie di sessione valido. |
| 403 | insufficient_permissions |
L'utente non ha idp_members:read nell'organizzazione. |
| 404 | not_found |
Nessuna organizzazione del genere per questo utente; un identificatore sconosciuto, malformato o di un altro utente riceve la stessa risposta. |
| 422 | validation_failed |
status, role_id o limit non sono validi. |
| 503 | service_unavailable |
Temporaneamente non disponibile; riprova dopo Retry-After. |
Esempio
curl "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships?status=active&limit=2" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-b cookies.txt
{
"data": [
{
"id": "mem_01jbz6x8kq3m2n4p5r6s7t8v9b",
"user_id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9c",
"status": "active",
"roles": [{ "role_id": "rol_01jbz6x8kq3m2n4p5r6s7t8v9w", "source": "admin_api" }],
"created_at": "2026-11-03T09:00:00Z",
"activated_at": "2026-11-03T09:00:00Z",
"expires_at": null,
"updated_at": "2026-11-03T09:00:00Z",
"version": 1
}
],
"next_after": "AAAYQ3dAgGUBmgAAAABwAIAAAAAAAADh"
}
Dati personali
Questo endpoint tratta dati personali: appartenenze alle organizzazioni e inviti. Dati personali nelle API di KeenAuth descrive cosa viene memorizzato, per quanto tempo viene conservato e come viene cancellato. Non inviare categorie particolari di dati personali (salute, dati biometrici, religione, opinioni politiche, orientamento sessuale) in nessun campo.