Documentatie van de Loomio Server-API
/api/b3 is voor bewerkingen op serverniveau. Gebruik /api/b2 voor gebruikersgerichte acties die je uitvoert met een Loomio-gebruikersaccount.
Authenticatie
Stel B3_API_KEY in op een geheime waarde van meer dan 16 tekens.
Stuur de sleutel als een bearer-token:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users
Stuur inloggegevens alleen in de Authorization-header. API-sleutels in querystrings of de inhoud van verzoeken 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 tonen
Zoek een gebruiker op basis van het Loomio-gebruikers-ID of de externe identiteit.
GET /api/b3/users/:id
GET /api/b3/users/identity/:identity_type/:uid
Voorbeelden
Op basis van het Loomio-gebruikers-ID:
curl -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Op basis van de 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 vindt op basis van het Loomio-gebruikers-ID of de 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 het 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 de 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 dat je vindt 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 het 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 de 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 het 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 de externe identiteit:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/reactivate
Retourneert:
{
"success": true,
"user": {}
}
Persoonsgegevens van gebruiker verwijderen
Bij het verwijderen van persoonsgegevens blijven de reacties van de gebruiker en andere door de gebruiker gemaakte inhoud in diens groepen behouden, maar worden bekende persoonlijk identificeerbare gegevens verwijderd, zoals naam, bio, 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 het 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 de externe identiteit:
curl -X POST -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123/redact
Retourneert:
{
"success": true
}
Gebruiker verwijderen
Verwijderen wist de gebruiker en de records die de gebruiker heeft aangemaakt. Reacties worden uit threads verwijderd en stemmen uit peilingen. Ook groepen, discussies, peilingen en andere records die de gebruiker heeft aangemaakt, kunnen via databasekoppelingen worden verwijderd.
Hierdoor gaan veel gegevens verloren. Het wordt sterk aanbevolen om in plaats daarvan de persoonsgegevens te verwijderen.
DELETE /api/b3/users/:id
DELETE /api/b3/users/identity/:identity_type/:uid
Voorbeelden
Op basis van het Loomio-gebruikers-ID:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/123
Op basis van de externe identiteit:
curl -X DELETE -H 'Authorization: Bearer YOUR_SERVER_API_KEY' https://www.loomio.com/api/b3/users/identity/oauth/external-123
Retourneert:
{
"success": true
}
Instellingen voor SSO-profielsynchronisatie
Gebruik deze instellingen wanneer 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 | Toelichting |
|---|---|
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 gebruikt, zoals short_bio en location, nog steeds bewerken.
LOOMIO_SSO_UPDATE_USER_PROFILE_ON_LOGIN=1 werkt name en email bij op basis van SSO-inloggegevens. Laat deze instelling als commentaar staan of stel deze niet in wanneer alleen een extern synchronisatiescript deze velden moet bijwerken.
LOOMIO_SSO_FORCE_USER_ATTRS werkt nog steeds voor bestaande installaties. Deze instelling voorkomt dat gebruikers de velden bewerken en werkt name en email bij wanneer ze via SSO inloggen.