Documentatie voor de Loomio Server-API
/api/b3 is bedoeld voor bewerkingen op serverniveau. Gebruik /api/b2 voor acties die je met een Loomio-gebruikersaccount uitvoert.
Authenticatie
Stel B3_API_KEY in op een geheime waarde van meer dan 16 tekens.
Verstuur de sleutel als bearer-token:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
Verstuur inloggegevens alleen in de Authorization-header. API-sleutels in querystrings of aanvraagbody's worden geweigerd.
Gebruikersobject
Antwoorden met gebruikersgegevens hebben deze structuur:
{
"id": 123,
"name": "Ada Lovelace",
"username": "ada",
"email": "ada@example.org",
"active": true,
"deactivated_at": null,
"identities": [
{
"id": 456,
"identity_type": "oauth",
"uid": "external-123",
"email": "ada@example.org",
"name": "Ada Lovelace"
}
]
}
Gebruikers opvragen
Vraag alle gebruikersaccounts op de Loomio-installatie op.
GET /api/b3/users
Voorbeeld
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
Geeft terug:
{
"users": []
}
Gebruiker opvragen
Zoek een gebruiker op basis van diens Loomio-gebruikers-ID of externe identiteit.
GET /api/b3/users/:id
GET /api/b3/users/identity/:identity_type/:uid
Voorbeelden
Op basis van Loomio-gebruikers-ID:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Op basis van externe identiteit:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123
Geeft terug:
{
"user": {}
}
Gebruiker bijwerken
Werk de profielvelden bij van een gebruiker die je opzoekt met diens Loomio-gebruikers-ID of externe identiteit.
PATCH /api/b3/users/:id
PATCH /api/b3/users/identity/:identity_type/:uid
Parameters
| Veld | Beschrijving |
|---|---|
name |
Weergavenaam |
username |
Loomio-gebruikersnaam |
email |
E-mailadres |
Voorbeelden
Op basis van Loomio-gebruikers-ID:
curl -X PATCH \
-H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
https://www.loomio.com/api/b3/users/123
Op basis van externe identiteit:
curl -X PATCH \
-H 'Authorization: Bearer YOUR_SERVER_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"user":{"name":"Ada Lovelace","username":"ada","email":"ada@example.org"}}' \
https://www.loomio.com/api/b3/users/identity/oauth/external-123
Geeft de bijgewerkte gebruiker terug:
{
"user": {}
}
Gebruiker deactiveren
Deactiveer een gebruikersaccount op basis van het Loomio-gebruikers-ID of de externe identiteit.
POST /api/b3/users/:id/deactivate
POST /api/b3/users/identity/:identity_type/:uid/deactivate
Voorbeelden
Op basis van Loomio-gebruikers-ID:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/deactivate
Op basis van externe identiteit:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/deactivate
Geeft terug:
{
"success": true,
"user": {}
}
Gebruiker opnieuw activeren
Activeer een gedeactiveerd gebruikersaccount opnieuw op basis van het Loomio-gebruikers-ID of de externe identiteit.
POST /api/b3/users/:id/reactivate
POST /api/b3/users/identity/:identity_type/:uid/reactivate
Voorbeelden
Op basis van Loomio-gebruikers-ID:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/reactivate
Op basis van externe identiteit:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/reactivate
Geeft terug:
{
"success": true,
"user": {}
}
Gebruikersgegevens anonimiseren
Bij anonimisering blijven de reacties van de gebruiker en andere inhoud die diegene heeft gemaakt binnen diens groepen behouden. Bekende persoonsgegevens worden verwijderd, waaronder naam, biografie, profielfoto, e-mailadres, inloggegevens, identiteiten en actieve sessies.
Dit is de aanbevolen manier om een gebruiker uit Loomio te verwijderen.
POST /api/b3/users/:id/redact
POST /api/b3/users/identity/:identity_type/:uid/redact
Voorbeelden
Op basis van Loomio-gebruikers-ID:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123/redact
Op basis van externe identiteit:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/redact
Geeft terug:
{
"success": true
}
Gebruiker verwijderen
Bij verwijderen worden de gebruiker en de door die gebruiker aangemaakte gegevens gewist. Reacties verdwijnen uit threads en stemmen uit peilingen. Ook groepen, discussies, peilingen en andere gegevens die de gebruiker heeft aangemaakt, kunnen via databasekoppelingen worden verwijderd.
Dit heeft ingrijpende gevolgen. Anonimiseren wordt sterk aanbevolen als alternatief.
DELETE /api/b3/users/:id
DELETE /api/b3/users/identity/:identity_type/:uid
Voorbeelden
Op basis van Loomio-gebruikers-ID:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Op basis van externe identiteit:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123
Geeft terug:
{
"success": true
}
Instellingen voor SSO-profielsynchronisatie
Gebruik deze instellingen als een ander systeem de profielvelden in Loomio beheert.
LOOMIO_DISABLE_EDIT_USER_PROFILE=1
# LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1
LOOMIO_DISABLE_EDIT_USER_PROFILE=1 voorkomt dat gebruikers deze velden zelf bewerken:
| Veld | Opmerkingen |
|---|---|
name |
Beheerd via externe synchronisatie |
username |
Beheerd via externe synchronisatie |
email |
Beheerd via externe synchronisatie |
avatar_kind / uploaded_avatar |
Beheerd via externe synchronisatie |
Gebruikers kunnen velden die alleen in Loomio worden beheerd, zoals short_bio en location, nog steeds bewerken.
LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 werkt name en email bij met gegevens van de SSO-aanmelding. Laat de instelling als commentaar staan of stel haar niet in als alleen een extern synchronisatiescript deze velden mag bijwerken.
LOOMIO_SSO_FORCE_USER_ATTRS werkt nog steeds voor bestaande installaties. Deze instelling voorkomt dat gebruikers hun profiel bewerken en werkt name en email bij wanneer ze zich via SSO aanmelden.