A Loomio felhasználói API dokumentációja

A /api/b2 a Loomióval való integrációkhoz készült felhasználói API. Egy felhasználói fiók API-kulcsát használja, és minden műveletet az adott felhasználó nevében hajt végre.

A csoportműveleteknél az API-kulcs tulajdonosának tagságai és csoportjogosultságai érvényesek. A példányadminisztrátori szerepkör nem ad az API-kulcsnak további hozzáférést csoportokhoz vagy tartalmakhoz. A példány szintű adminisztrációhoz használd a Server API-t.

Annak a Loomio-fióknak az API-kulcsát használd, amelynek nevében a műveleteket végre szeretnéd hajtani. Külön botfiók hasznos, ha az integrációt nem szeretnéd szavazásokra meghívni, vagy nem szeretnéd, hogy értesítéseket kapjon.

Bejelentkezés után az API-kulcsodat és a csoportazonosítókat az API-hozzáférési oldalon találod.

Az API-kulcsot az Authorization: Bearer fejlécben küldd el. A lekérdezési karakterláncban megadott API-kulcsokat a rendszer elutasítja, mert az URL-eket a proxyk és a hozzáférési naplók rögzíthetik.

A hitelesítés változása

Korábban az API-kulcsot api_key URL-paraméterként is meg lehetett adni. A ?api_key=YOUR_API_KEY paramétert használó kérések már nem működnek. Helyette a HTTP Authorization fejlécet használd:

Authorization: Bearer YOUR_API_KEY

A példákban a YOUR_API_KEY API-kulcs, a 123 csoportazonosító és a https://www.loomio.com/ URL szerepel. Cseréld ki ezeket a saját API-kulcsodra, csoportazonosítódra és a Loomio-telepítésed URL-jére.

A felhasználói API válaszai összetett formátumúak: az elsődleges rekordok mellett kapcsolódó rekordokat is tartalmaznak, például témákat, csoportokat, felhasználókat, szavazásokat és reakciókat. Így a kliens egyetlen kérésből feltöltheti a helyi rekordtárát, de a válasz több adatot tartalmazhat, mint amennyire egy egyszerű integrációnak szüksége van.

A compact=1 paraméterrel kihagyhatod a nagy méretű kapcsolódó témákat, csoportokat, szülőcsoportokat, tagságokat, reakciókat, címkéket és fordításokat. Az elsődleges rekordok és a tartalmuk értelmezéséhez szükséges kapcsolódó rekordok megmaradnak.

curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/threads/123/items?compact=1'

Ha pontosan szeretnéd szabályozni a választ, add meg az exclude_types paraméterben az egyes számú rekordtípusokat szóközzel elválasztva. Például az exclude_types=group reaction kihagyja a kapcsolódó csoportokat és reakciókat. Gyakori értékek: topic, group, parent, membership, reaction, tag, translation, user, discussion, poll, poll_option, stance, stance_choice, outcome és topic_item. A kizárás a kapcsolódó rekordokra vonatkozik, nem a végponttól kért elsődleges erőforrásra.

A gyűjteményt visszaadó válaszok tartalmazzák a meta.total értéket, ha a gyűjtemény pontos mérete meghatározható. Az összesítést a limit és az offset alkalmazása előtt számítja ki a rendszer. Azok a végpontok, például a keresés, amelyek szándékosan korlátozott eredményhalmazt adnak vissza, kihagyják a meta.total mezőt ahelyett, hogy null értéket adnának vissza.

Végpontok áttekintése

Metódus Végpont Cél
GET /api/b2/groups Az API-kulcs tulajdonosához tartozó csoportok listázása
GET /api/b2/groups/:id_or_key_or_handle Egy látható csoport lekérése
GET /api/b2/reports Részvételi jelentés készítése
GET /api/b2/search Keresés a látható beszélgetések, hozzászólások, szavazások, leadott szavazatok és következtetések között
POST /api/b2/discussions Beszélgetés létrehozása
GET /api/b2/discussions/:id Beszélgetés lekérése
GET /api/b2/discussions Egy csoport beszélgetéseinek listázása
PATCH /api/b2/discussions/:id Beszélgetés szerkesztése
DELETE /api/b2/discussions/:id Beszélgetés logikai törlése
GET /api/b2/threads Látható beszélgetésszálak és önálló szavazási szálak listázása
GET /api/b2/threads/:topic_id Szál lekérése
GET /api/b2/threads/:topic_id/items Egy szál elemeinek lekérése sorrendben
GET /api/b2/threads/:topic_id/markdown Teljes szál lekérése Markdown-formátumban
POST /api/b2/comments Hozzászólás vagy válasz létrehozása
PATCH /api/b2/comments/:id Hozzászólás szerkesztése
DELETE /api/b2/comments/:id Hozzászólás logikai törlése
POST /api/b2/polls Szavazás létrehozása
GET /api/b2/polls/:id Szavazás lekérése
GET /api/b2/polls Egy csoport szavazásainak listázása
PATCH /api/b2/polls/:id Szavazás szerkesztése
DELETE /api/b2/polls/:id Szavazás logikai törlése
GET /api/b2/memberships Egy csoport tagságainak listázása
POST /api/b2/memberships Tagok hozzáadása és szükség esetén a listából hiányzó tagok eltávolítása
GET /api/b2/chatbots Egy csoport csevegési integrációinak és webhookjainak listázása
POST /api/b2/chatbots Csevegési integráció vagy webhook létrehozása
PATCH /api/b2/chatbots/:id Csevegési integráció vagy webhook frissítése
DELETE /api/b2/chatbots/:id Csevegési integráció vagy webhook törlése
POST /api/b2/chatbots/check Webhook-kapcsolat tesztelése

Csoportok

Csoportok listázása

Azoknak a csoportoknak a lekérése, amelyekben az API-kulcs tulajdonosának aktív tagsága van.

GET /api/b2/groups

curl -H 'Authorization: Bearer YOUR_API_KEY' https://www.loomio.com/api/b2/groups

A válasz az összes megfelelő rekordot tartalmazza egy lapozás nélküli groups tömbben. Szülőcsoportok és alcsoportok is szerepelnek benne, köztük olyan csoportok is, amelyek előfizetése jelenleg nem aktív. Ellenőrizd az enabled mezőt, ha az integrációnak csak aktív csoportokkal szabad működnie.

A fontosabb csoportmezők:

Mező Leírás
id Más felhasználói API-végpontok által használt numerikus csoportazonosító
key A Loomio URL-jeiben használt állandó rövid kulcs
handle A csoport ember által olvasható azonosítója
name A csoport neve
full_name A csoport neve a szülőcsoport megjelölésével
parent_id Alcsoport esetén a szülőcsoport numerikus azonosítója, egyébként null
enabled Aktív-e a csoport és az előfizetése
memberships_count Az aktív és függőben lévő tagságok száma
accepted_memberships_count Az elfogadott tagságok száma
pending_memberships_count A függőben lévő meghívások száma
admin_memberships_count A csoportadminisztrátorok száma
delegates_count A küldöttek száma
discussions_count A közvetlenül a csoporthoz tartozó beszélgetések száma
polls_count A közvetlenül a csoporthoz tartozó szavazások száma
subgroups_count Az alcsoportok száma

A válasz további csoportbeállításokat, kapcsolódó szülőcsoport-rekordokat és az API-felhasználó tagságait is tartalmazhatja. A kliensek hagyják figyelmen kívül a nem használt mezőket.

Csoport lekérése

Az API-kulcs tulajdonosa számára látható csoport lekérése.

GET /api/b2/groups/:id_or_key_or_handle

Az azonosító lehet a csoport numerikus azonosítója, kulcsa vagy olvasható azonosítója.

curl -H 'Authorization: Bearer YOUR_API_KEY' https://www.loomio.com/api/b2/groups/123
curl -H 'Authorization: Bearer YOUR_API_KEY' https://www.loomio.com/api/b2/groups/example-group

A válasz a groups tömbben tartalmazza a csoportot, ugyanazokkal a mezőkkel, mint a listázó végpont. Ha az API-kulcs tulajdonosa nem fér hozzá a kért csoporthoz, a kérés jogosultsági hibát ad vissza.

Webhookok

A felhasználói API kérésekre válaszol: az integráció akkor hívja meg a Loomiót, amikor adatot szeretne olvasni vagy módosítani. A csoport webhookja az ellenkező irányban továbbít adatot. A Loomio a kiválasztott csoporteseményeket az előfordulásukkor elküldi a végpontodra, így az integrációnak nem kell rendszeresen lekérdeznie a REST API-t a változásokért.

A webhookokat csoportonként kell beállítani, és kezelésükhöz csoportadminisztrátori jogosultság szükséges. A Loomio felületén így kezelheted őket:

  1. Nyisd meg a csoportot.
  2. Nyisd meg a csoport menüjét, és válaszd a Csevegési integrációk lehetőséget.
  3. Add hozzá azt az integrációt, amelynek adatformátumát a végpontod fogadni tudja. Általános célú végponthoz használd a Mattermost/Markdown formátumot.
  4. Adj meg egy nevet és a cél URL-t.
  5. Válaszd ki azokat az eseményeket, amelyeket a Loomio automatikusan elküldjön.
  6. Mentsd az integrációt, majd a Kapcsolat tesztelése lehetőséggel küldj tesztüzenetet.

Olyan HTTPS-címet használj célként, amelynek URL-je nem található ki könnyen. A Loomio megköveteli, hogy a cél nyilvános címre mutasson, és blokkolja a helyi vagy magánhálózati címekre irányuló kéréseket.

Az ügynökök és más integrációk az alább ismertetett, Bearer-hitelesítést használó chatbotvégpontokon keresztül is kezelhetik a webhookokat. Az erőforrás neve chatbots, hogy kompatibilis legyen a Loomio csevegési integrációival, de általános kimenő webhookokat is jelöl.

Webhookok listázása

Egy csoporthoz beállított csevegési integrációk lekérése. Az API-kulcs tulajdonosának a csoport adminisztrátorának kell lennie. A válasz tartalmazza a cél URL-eket, ezért nem szabad elérhetővé tenni a csoport többi tagja számára.

GET /api/b2/chatbots?group_id=123

curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/chatbots?group_id=123'

A válasz egy chatbots tömböt tartalmaz a következő mezőkkel:

Mező Leírás
id Az integráció frissítéséhez és törléséhez használt azonosító
group_id Az eseményekhez tartozó csoport
name Az integráció adminisztrációs neve
kind Kimenő webhook esetén webhook, Matrix-integráció esetén matrix
webhook_kind Az adat formátuma: markdown, slack, discord, microsoft vagy webex
server Cél-URL
event_kinds Automatikusan elküldött események
notification_only Az üzenetek csak az értesítés címét tartalmazzák-e

Webhook létrehozása

POST /api/b2/chatbots

curl -X POST \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "group_id": 123,
    "name": "Planning system",
    "kind": "webhook",
    "webhook_kind": "markdown",
    "server": "https://hooks.example.org/loomio/unguessable-token",
    "event_kinds": ["new_discussion", "new_comment", "poll_created", "outcome_created"],
    "notification_only": false
  }' \
  https://www.loomio.com/api/b2/chatbots

Az API-kulcshoz tartozó felhasználónak a group_id által jelölt csoport adminisztrátorának kell lennie. Mentés előtt a rendszer ellenőrzi, hogy a cél nyilvánosan elérhető URL-e.

Webhook frissítése

PATCH /api/b2/chatbots/:id

Küldd el a módosítani kívánt mezőket. A group_id módosításával nem helyezheted át a webhookot másik csoportba.

curl -X PATCH \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"name":"Planning events","event_kinds":["new_discussion","outcome_created"]}' \
  https://www.loomio.com/api/b2/chatbots/456

Webhook céljának tesztelése

A beállítások mentése előtt vagy után küldj a cél címére egy Markdown-kompatibilis tesztüzenetet.

POST /api/b2/chatbots/check

curl -X POST \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"group_id":123,"server":"https://hooks.example.org/loomio/unguessable-token"}' \
  https://www.loomio.com/api/b2/chatbots/check

Webhook törlése

DELETE /api/b2/chatbots/:id

curl -X DELETE -H 'Authorization: Bearer YOUR_API_KEY' https://www.loomio.com/api/b2/chatbots/456

A beállítás törlése leállítja a későbbi kézbesítéseket. A Loomio-csoport tartalmát nem törli.

Eseménytípusok

A webhook ezekre az eseménytípusokra iratkozhat fel:

Esemény Mikor küldi el a rendszer
new_discussion Beszélgetés indul
discussion_edited Szerkesztenek egy beszélgetést
new_comment Hozzászólás születik
poll_created Szavazás indul
poll_edited Szerkesztenek egy szavazást
poll_closing_soon Közeledik egy szavazás lezárási ideje
poll_expired Egy szavazás eléri a lezárási idejét
poll_closed_by_user Valaki kézzel lezár egy szavazást
poll_reopened Újra megnyitnak egy szavazást
outcome_created Közzétesznek egy következtetést
outcome_updated Frissítenek egy következtetést
outcome_review_due Esedékessé válik egy következtetés felülvizsgálata
stance_created Valaki leadja a szavazatát
stance_updated Valaki módosítja a szavazatát

A webhook egy csoporthoz tartozik, és annak feliratkozott eseményeit fogadja. Az integrációt az emberek egyes értesítések megosztásakor vagy küldésekor külön is kiválaszthatják, akkor is, ha a megfelelő automatikus esemény nincs kiválasztva.

HTTP-kézbesítés

A Loomio aszinkron HTTP POST kérést küld a beállított URL-re ezzel a fejléccel:

Content-Type: application/json; charset=utf-8

A kérés időkorlátja öt másodperc. A rendszer minden 2xx választ sikeresnek tekint, beleértve a 204 No Content választ is. A webhookot fogadó szolgáltatás válaszoljon gyorsan, a hosszabb feladatokat dolgozza fel aszinkron módon, és kezelje a többször vagy eltérő sorrendben érkező kézbesítéseket.

A Loomio jelenleg nem ad a webhookhoz aláírást, közös titkot tartalmazó fejlécet, eseményazonosítót vagy kézbesítési azonosítót. A teljes cél-URL-t kezeld hozzáférési adatként, ne tedd nyilvánossá, és használj benne nehezen kitalálható tokent, ha a fogadó szolgáltatás ezt támogatja. Ha állandó, géppel feldolgozható eseménysémára vagy aláírt kézbesítésre van szükséged, használd a webhookot változásjelzésként, majd kérd le az aktuális rekordokat a hitelesített felhasználói API-n keresztül.

Adatformátumok

A webhookok csevegőszolgáltatásoknak szánt üzeneteket küldenek. Ezek nem teljes Loomio-rekordok. Az üzenetben lévő hivatkozások megmutatják, melyik Loomio-tartalmat érinti az esemény. Ha az integrációnak strukturált, aktuális adatokra van szüksége, lekérheti őket a felhasználói API-n keresztül.

Integráció formátuma Fő JSON-mezők
Mattermost/Markdown text, icon_url, username
Slack text
Discord content, körülbelül 1900 karakterre korlátozva
Microsoft Teams @type, @context, themeColor, text, sections
Webex markdown

Az általános Markdown-formátum például ilyen szerkezetű üzenettörzset küld:

{
  "text": "Ada started a discussion: [Quarterly planning](https://example.loomio.org/d/example)",
  "icon_url": "https://example.loomio.org/path/to/group-logo.png",
  "username": "Loomio"
}

Az üzenet pontos szövege az eseménytől, a csoport nyelvi beállításától, a csak értesítést tartalmazó beállítástól és a Loomio verziójától függ. Az üzenetet fogadó szolgáltatás a választott formátum dokumentált felső szintű mezőire támaszkodjon az egyes mondatok elemzése helyett.

Keress az API-kulcshoz tartozó felhasználó számára látható beszélgetések, hozzászólások, szavazások, leadott szavazatok és következtetések között. A találatok között nyilvános tartalom is szerepelhet olyan csoportból, amelynek a felhasználó nem tagja. A privát tartalmakra a témák szokásos láthatósági szabályai vonatkoznak.

GET /api/b2/search

Paraméterek

Név Leírás
query Keresett szöveg. Pontos és közelítő egyezések is támogatottak
group_id A találatokat egy látható csoportra korlátozza
org_id A találatokat egy látható szülőcsoportra és annak látható alcsoportjaira korlátozza. Közvetlen beszélgetésekhez használd a 0 értéket
type A találatokat egy típusra korlátozza: Discussion, Comment, Poll, Stance vagy Outcome
types A találattípusok vesszővel elválasztott listája
tag A találatokat az ezzel a címkével ellátott témákra korlátozza
author_id A találatokat egy szerző tartalmaira korlátozza. query nélkül a szerző közelmúltbeli, látható tevékenységét adja vissza
order Állítsd authored_at_desc értékre, hogy az egyező tartalmakat a létrehozásuk ideje szerint rendezze
curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/search?query=quarterly+planning&type=Discussion'

A válasz egy search_results tömböt tartalmaz. Minden találat azonosítja az egyező rekordot és annak látható környezetét. A mezők között szerepel a searchable_type, searchable_id, highlight, group_id, group_name, discussion_key, poll_key, author_id, author_name, authored_at és tags. Az adott találatra nem vonatkozó mezők értéke null.

Részvételi jelentés

A Loomio Részvételi jelentésében használt összesített részvételi adatokat adja vissza.

GET /api/b2/reports

Paraméterek

Név Leírás
section A jelentés része: base, users vagy countries. Személyenkénti tevékenységhez használd a users értéket
group_scope custom vagy my. A régi all értéket a rendszer my értékként kezeli, mert a felhasználói API-kulcsok nem adnak hozzáférést a teljes példányhoz
group_ids Vesszővel elválasztott csoportazonosítók, ha group_scope=custom. A rendszer figyelmen kívül hagyja azokat az azonosítókat, amelyekhez az API-felhasználó nem rendelkezik tagsággal
start_month Az első szerepeltetendő hónap YYYY-MM formátumban; alapértelmezés szerint 12 hónappal ezelőtt
end_month Az utolsó szerepeltetendő hónap YYYY-MM formátumban; alapértelmezés szerint az aktuális hónap
interval A base rész időköze: day, week, month vagy year
member_type Állítsd delegate értékre a section=users mellett, hogy csak a jelenlegi küldöttek jelenjenek meg

Valaki akkor küldött, ha a kiválasztott csoportok bármelyikében aktív küldötti tagsága van. A rendszer az összes kiválasztott csoportból összesíti az adatait. A küldöttek akkor is szerepelnek a jelentésben, ha minden tevékenységi számuk nulla. A számok a témákat, hozzászólásokat, szavazásokat, leadott szavazatokat, következtetéseket és reakciókat fedik le; nem a szavazási részvételi arányt mutatják. A felhasználói sorok a névhez kötött szavazólapok kiadott, leadott és elmulasztott számát is tartalmazzák. Az anonim szavazások minden személyenkénti szavazatszámból kimaradnak. Az all_votes_cast csak akkor igaz, ha legalább egy szavazólapot kiadtak, és mindegyiket leadták.

Az API ugyanazokat a csoportláthatósági szabályokat alkalmazza, mint a Loomio felületén elérhető jelentés. A felhasználói API-kulcs nem teszi elérhetővé azoknak a csoportoknak a jelentésadatait, amelyekhez a felhasználó nem fér hozzá.

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/reports?section=users&group_scope=custom&group_ids=123&member_type=delegate&start_month=2026-01&end_month=2026-09'

A users tömb teljes tevékenységi sorokat tartalmaz:

{
  "users": [
    {
      "id": 456,
      "name": "Ada Lovelace",
      "country": "NZ",
      "delegate": true,
      "threads": 2,
      "comments": 8,
      "polls": 1,
      "votes": 5,
      "votes_cast": 5,
      "votes_issued": 6,
      "votes_missed": 1,
      "all_votes_cast": false,
      "outcomes": 1,
      "reactions": 4
    }
  ]
}

Beszélgetés létrehozása

Hozz létre egy beszélgetést az API-kulcshoz tartozó felhasználóként.

POST /api/b2/discussions

Paraméterek

Név Leírás
group_id A csoport, amelyben a téma létrejön
title A téma címe, kötelező
description A téma leírása, nem kötelező
description_format md vagy html, nem kötelező, alapértelmezett értéke md
recipient_audience group vagy null. Ha group, a teljes csoport értesítést kap az új témáról
recipient_user_ids Az értesítendő vagy a témába meghívandó felhasználók azonosítóinak tömbje
recipient_emails A témába meghívandó személyek e-mail-címeinek tömbje
recipient_message Az e-mailes meghívóban szereplő üzenet

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X POST -H 'Content-Type: application/json' -d '{"group_id": 123, "title":"example thread", "recipient_emails":["person@example.com"]}' https://www.loomio.com/api/b2/discussions

Beszélgetés lekérése

Kérj le egy beszélgetést a számmal megadott azonosítója vagy a szöveges kulcsa alapján.

GET /api/b2/discussions/:id

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' https://www.loomio.com/api/b2/discussions/abc123

Beszélgetések listázása

Listázd az API-kulcshoz tartozó felhasználó számára látható beszélgetéseket egy csoportban. Nyilvánosan látható csoport esetén a csoporton kívüli felhasználó is listázhatja a nyilvános beszélgetéseket. A privát beszélgetéseket csak azok érhetik el, akik a Loomióban is olvashatják őket.

GET /api/b2/discussions

Paraméterek

Név Leírás
group_id Egész szám, kötelező. Annak a csoportnak az azonosítója, amelynek a beszélgetéseit listázni szeretnéd
status Szöveg, nem kötelező, alapértelmezett értéke open. Értékek: open, closed, all
limit Egész szám, nem kötelező, alapértelmezett értéke 50. Az oldal mérete
offset Egész szám, nem kötelező, alapértelmezett értéke 0. A lapozás kezdőpozíciója

Korábbi paraméterek: a per és a from továbbra is használható a limit, illetve az offset helyett.

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/discussions?group_id=123'

Témák listázása

Listázd az API-kulcshoz tartozó felhasználó számára látható beszélgetések és szavazások témáit, a legutóbbi aktivitás szerint rendezve. A téma azonosítója a topic_id.

GET /api/b2/threads

Paraméterek

Név Leírás
limit Egész szám, nem kötelező, alapértelmezett értéke 50. Az oldal mérete
offset Egész szám, nem kötelező, alapértelmezett értéke 0. A lapozás kezdőpozíciója

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/threads?limit=50&offset=0'

Téma olvasása

Olvasd el a témát, az eseményeinek rendezett sorát vagy a teljes látható tartalmát Markdown-dokumentumként.

GET /api/b2/threads/:topic_id

GET /api/b2/threads/:topic_id/items

GET /api/b2/threads/:topic_id/markdown

Példa

GET https://www.loomio.com/api/b2/threads/<topic_id>
GET https://www.loomio.com/api/b2/threads/<topic_id>/items
GET https://www.loomio.com/api/b2/threads/<topic_id>/markdown

Az items végpont az eseményeket sorrendben adja vissza, beleértve a látható hozzászólásokat, szavazásokat, leadott szavazatokat és következtetéseket. A markdown végpont a téma teljes látható tartalmát egyetlen Markdown-dokumentumként adja vissza. A szavazatok indoklása csak akkor szerepel benne, ha látható az API-kulcshoz tartozó felhasználó számára.

Minden témához tartozó végpont ugyanazokat a jogosultságokat érvényesíti, mint a Loomio felülete. Az API-kulcs nem ad hozzáférést olyan témához, amelyet a felhasználó egyébként nem nyithat meg.

Beszélgetés szerkesztése

Szerkessz egy beszélgetést az API-kulcshoz tartozó felhasználóként. Ugyanazok a jogosultságok érvényesek, mint a Loomióban: a felhasználónak jogosultnak kell lennie a beszélgetés szerkesztésére.

PATCH /api/b2/discussions/:id

Paraméterek

Név Leírás
title Az új cím
description Az új leírás
description_format md vagy html, nem kötelező, alapértelmezett értéke md
recipient_audience group vagy null. Ha group, a teljes csoport értesítést kap a módosításról
recipient_user_ids Az értesítendő vagy a témába meghívandó felhasználók azonosítóinak tömbje
recipient_emails A témába meghívandó személyek e-mail-címeinek tömbje
recipient_message Az e-mailes meghívóban szereplő üzenet

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X PATCH -H 'Content-Type: application/json' -d '{"title":"updated thread title", "description":"updated context", "description_format":"md"}' https://www.loomio.com/api/b2/discussions/123

Beszélgetés logikai törlése

Törölj logikailag egy beszélgetést az API-kulcshoz tartozó felhasználóként. A beszélgetés törölt állapotba kerül, de a rekordja megmarad.

DELETE /api/b2/discussions/:id

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X DELETE https://www.loomio.com/api/b2/discussions/123

Hozzászólás létrehozása

Hozz létre egy hozzászólást egy beszélgetésben az API-kulcshoz tartozó felhasználóként.

POST /api/b2/comments

Paraméterek

Név Leírás
discussion_id Egész szám, kötelező. Annak a beszélgetésnek az azonosítója, amelyhez hozzászólsz
body A hozzászólás szövege, kötelező, kivéve ha mellékletet adsz meg
body_format md vagy html, nem kötelező, alapértelmezett értéke md

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X POST -H 'Content-Type: application/json' -d '{"discussion_id": 123, "body":"example comment", "body_format":"md"}' https://www.loomio.com/api/b2/comments

Hozzászólás szerkesztése

Szerkessz egy hozzászólást az API-kulcshoz tartozó felhasználóként. Ugyanazok a jogosultságok érvényesek, mint a Loomióban: a felhasználónak jogosultnak kell lennie a hozzászólás szerkesztésére.

PATCH /api/b2/comments/:id

Paraméterek

Név Leírás
body A hozzászólás új szövege
body_format md vagy html, nem kötelező, alapértelmezett értéke md

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X PATCH -H 'Content-Type: application/json' -d '{"body":"updated comment", "body_format":"md"}' https://www.loomio.com/api/b2/comments/123

Hozzászólás logikai törlése

Törölj logikailag egy hozzászólást az API-kulcshoz tartozó felhasználóként. A hozzászólás szövege rejtetté válik, de a rekordja megmarad.

DELETE /api/b2/comments/:id

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X DELETE https://www.loomio.com/api/b2/comments/123

Szavazás létrehozása

Hozz létre szavazást az API-kulcshoz tartozó felhasználóként.

POST /api/b2/polls

Paraméterek

Név Leírás
group_id Egész szám, nem kötelező, alapértelmezés szerint null. A szavazás csoportjának azonosítója. Ha megadod a discussion_id értékét, a rendszer figyelmen kívül hagyja a group_id értékét
discussion_id Egész szám, nem kötelező, alapértelmezés szerint null. Annak a beszélgetésnek az azonosítója, amelyhez hozzáadod a szavazást
title Szöveg, kötelező. A szavazás címe
poll_type Szöveg, kötelező. Lehetséges értékek: proposal, poll, count, score, ranked_choice, meeting, dot_vote
details Szöveg, nem kötelező. A szavazás leírása
details_format Szöveg, nem kötelező, alapértelmezés szerint md. Lehetséges értékek: md vagy html
options Szövegek tömbje. Ha a poll_type értéke proposal, az érvényes értékek: agree, disagree, abstain, block. Ha a poll_type értéke meeting, ISO 8601 formátumú dátumokat vagy dátumokat és időpontokat adj meg. Minden más szavazástípusnál bármilyen szöveg megadható
closing_at ISO 8601 formátumú szöveg vagy null, alapértelmezés szerint null. Példa: 2026-09-01T12:00:00Z. Ha null, a szavazás le van tiltva, és a szavazás előkészítés alatt áll
specified_voters_only Logikai érték, nem kötelező, alapértelmezés szerint false. Ha true, csak a megadott személyek szavazhatnak. Ha false, a csoport minden tagja meghívást kap a szavazásra
hide_results Szöveg, nem kötelező, alapértelmezés szerint off. Lehetséges értékek: off, until_vote, until_closed
shuffle_options Logikai érték, alapértelmezés szerint false. A lehetőségeket véletlenszerű sorrendben jeleníti meg a szavazóknak
anonymous Logikai érték, nem kötelező, alapértelmezés szerint false. Elrejti a szavazók személyazonosságát
recipient_audience group vagy null, nem kötelező, alapértelmezés szerint null. Ha group, a teljes csoport értesítést kap
notify_on_closing_soon Szöveg, nem kötelező, alapértelmezés szerint nobody. Lehetséges értékek: nobody, author, undecided_voters, voters
recipient_user_ids Az értesítendő vagy meghívandó felhasználók azonosítóinak tömbje
recipient_emails A szavazásra meghívandó személyek e-mail-címeinek tömbje
recipient_message Az e-mailes meghívóban szereplő üzenet
notify_recipients Logikai érték, alapértelmezés szerint false. Ha false, a személyek értesítés nélkül kerülnek hozzáadásra. Ha true, a kéréssel meghívott minden személy értesítő e-mailt kap

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X POST -H 'Content-Type: application/json' -d '{"group_id": 123, "title":"example poll", "poll_type": "proposal", "options": ["agree", "disagree"], "closing_at": "2026-09-01T12:00:00Z", "recipient_emails":["person@example.com"]}' https://www.loomio.com/api/b2/polls

Szavazás megtekintése

Kérj le egy szavazást a számmal megadott azonosítója vagy a szöveges kulcsa alapján.

GET /api/b2/polls/:id

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' https://www.loomio.com/api/b2/polls/abc123

Szavazások listázása

Listázd azokat a csoportbeli szavazásokat, amelyeket az API-kulcshoz tartozó felhasználó láthat. Nyilvánosan látható csoport esetén egy nem tag felhasználó is listázhatja a nyilvános szavazásokat. A privát szavazásokat csak azok érhetik el, akik a Loomióban is megtekinthetik őket. A válasz minden látható szavazás aktuális következtetését tartalmazza, így a status=closed használatával listázhatod a lezárt javaslatokat.

GET /api/b2/polls

Paraméterek

Név Leírás
group_id Egész szám, kötelező. Annak a csoportnak az azonosítója, amelynek a szavazásait listázni szeretnéd
status Szöveg, nem kötelező, alapértelmezés szerint active. Lehetséges értékek: active, closed, all
limit Egész szám, nem kötelező, alapértelmezés szerint 50. Az oldal mérete
offset Egész szám, nem kötelező, alapértelmezés szerint 0. A lapozáshoz használt eltolás

Korábbi paraméterek: a per és a from továbbra is használható a limit, illetve az offset helyett.

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/polls?group_id=123'

Szavazás szerkesztése

Szerkessz egy szavazást az API-kulcshoz tartozó felhasználóként. Ugyanazok a jogosultságok érvényesek, mint a Loomióban: a felhasználónak jogosultnak kell lennie a szavazás szerkesztésére.

PATCH /api/b2/polls/:id

Paraméterek

Név Leírás
title Módosított cím
details A szavazás módosított leírása
details_format md vagy html, nem kötelező, alapértelmezés szerint md
options A lehetőségek módosított nevei. A lehetőségek megváltoztatása a szavazás állapotától függően hatással lehet a már leadott szavazatokra
closing_at ISO 8601 formátumú szöveg vagy null
recipient_audience group vagy null. Ha group, a teljes csoport értesítést kap
recipient_user_ids Az értesítendő vagy meghívandó felhasználók azonosítóinak tömbje
recipient_emails A szavazásra meghívandó személyek e-mail-címeinek tömbje
recipient_message Az e-mailes meghívóban szereplő üzenet

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X PATCH -H 'Content-Type: application/json' -d '{"title":"updated poll title", "details":"updated details", "details_format":"md"}' https://www.loomio.com/api/b2/polls/123

Szavazás törlése visszaállítási lehetőséggel

Törölj egy szavazást visszaállítási lehetőséggel az API-kulcshoz tartozó felhasználóként. A szavazás kikerül a használatból, de a rekordja megmarad.

DELETE /api/b2/polls/:id

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X DELETE https://www.loomio.com/api/b2/polls/123

Tagságok listázása

Listázd az API-kulcshoz tartozó felhasználó számára látható tagságokat. A csoporttagok láthatják a tagok nevét, azonosítóját, beosztását és szerepkörét. Az e-mail-címek csak az API-kulcshoz tartozó felhasználó saját fiókjánál jelennek meg, vagy akkor, ha a felhasználó a csoport adminisztrátora.

GET /api/b2/memberships

Paraméterek

Név Leírás
group_id Egész szám, kötelező. Annak a csoportnak az azonosítója, amelynek a tagságait listázni szeretnéd

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' 'https://www.loomio.com/api/b2/memberships?group_id=123'

Tagságok kezelése

Küldj el egy e-mail-címeket tartalmazó listát. Az új címek tulajdonosai meghívást kapnak a csoportba. A tagságok listázásával ellentétben ehhez a művelethez csoportadminisztrátori jogosultság szükséges.

POST /api/b2/memberships

Paraméterek

Név Leírás
group_id Egész szám, kötelező. Annak a csoportnak az azonosítója, amelynek a tagságait kezelni szeretnéd
emails Szövegek tömbje, kötelező. A csoportba meghívandó személyek e-mail-címei
remove_absent Logikai érték. Ha true, eltávolítja a csoportból azokat, akiknek az e-mail-címe nem szerepel a listán

Példa

curl -H 'Authorization: Bearer YOUR_API_KEY' -X POST -H 'Content-Type: application/json' -d '{"group_id": 123, "emails":["person@example.com"]}' https://www.loomio.com/api/b2/memberships

Ha megadod a remove_absent=1 értéket, a rendszer eltávolítja a csoportból azokat a tagokat, akik nem szerepelnek a listán. Légy óvatos: akár a csoport összes tagját is eltávolíthatod.

curl -H 'Authorization: Bearer YOUR_API_KEY' -X POST -H 'Content-Type: application/json' -d '{"group_id": 123, "emails":["person@example.com"], "remove_absent": 1}' https://www.loomio.com/api/b2/memberships

A válasz egy objektum: {added_emails: ["person@added.com"], removed_emails: ["person@removed.com"]}.