API-referentie
Communities
Communities and their members.
List communities
GET/communities
Lists the workspace's communities with their members and next meetup.
- Scopes
- communities:read
Parameters
query
cursorstringWhere the page starts: nextCursor from the page before, exactly as it was returned. Leave out for the first page.
limitinteger (int32)How many on a page, up to 500.
Standaard:
100
Antwoorden
- 200 A page of communities. CommunityList
Velden
dataCommunity[]The items of this page.
Velden tonen
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
statusstringDraft or published.
citystring of nullWhere it meets.
onlinebooleanWhether it meets online.
timeZonestringIts time zone.
membersinteger (int32)Members.
pendingMembersinteger (int32)Members waiting for approval.
upcomingMeetupsinteger (int32)Meetups to come.
nextMeetupobject of nullThe next meetup.
Velden tonen
namestring of nullIts name.
startsUtcstring (date-time) of nullWhen it starts, in UTC.
urlstring (uri)Its page.
nextCursorstring of nullThe cursor for the next page; null on the last page. Pass it as cursor, with the same filters.
hasMorebooleanWhether there is another page.
- 400 invalidCursor.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 429 rateLimited.
Weigeringen
invalidKey keyExpired keyRevoked rateLimited missingScope invalidCursor
Verzoek
curl "https://attendbeacon.com/api/v1/communities?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/communities?limit=2", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/communities?limit=2");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/communities", params={"limit": 2},
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/communities?limit=2" -Headers $headers200 Voorbeeldantwoord
{
"data": [
{
"communityId": "b3ac6200-0000-4000-8000-000000000001",
"slug": "beacon-community-amsterdam",
"name": "Beacon Community Amsterdam",
"status": "published",
"city": "Amsterdam",
"online": true,
"timeZone": "Europe/Amsterdam",
"members": 42,
"pendingMembers": 0,
"upcomingMeetups": 3,
"nextMeetup": {
"name": "Beacon Community #25: November 2026",
"startsUtc": "2026-11-05T17:30:00.000Z"
},
"url": "https://attendbeacon.com/c/beacon-community-amsterdam"
}
],
"nextCursor": null,
"hasMore": false
}400 invalidCursor.
{
"type": "https://attendbeacon.com/developers/errors#invalidCursor",
"title": "The cursor is not valid",
"status": 400,
"detail": "Pass nextCursor exactly as a list returned it, with the same filters.",
"instance": "/api/v1/communities",
"code": "invalidCursor",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "Pass nextCursor exactly as a list returned it, with the same filters."
}Get a community
GET/communities/{communityId}
Gets one community.
- Scopes
- communities:read
- Antwoordt met een ETag; stuur If-None-Match mee om een download te besparen.
Parameters
pad
communityIdstring (uuid)verplichtThe community's id.
header
If-None-MatchstringThe ETag you have: when it is still current the answer is 304 with no body.
Antwoorden
- 200 The community. CommunityDetail
Velden
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
summarystring of nullA line about it.
descriptionstring of nullAbout it, in Markdown.
citystring of nullWhere it meets.
onlinebooleanWhether it meets online.
languagesstring[]Its languages.
timeZonestringIts time zone.
joinPolicystringOpen or approval.
statusstringDraft or published.
urlstring (uri)Its page.
createdUtcstring (date-time)When it was made, in UTC.
updatedUtcstring (date-time)When it last changed, in UTC.
- 304 Not modified: If-None-Match named the representation as it is.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 notFound.
- 429 rateLimited.
Weigeringen
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Verzoek
curl "https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001",
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001" -Headers $headers200 Voorbeeldantwoord
{
"communityId": "b3ac6200-0000-4000-8000-000000000001",
"slug": "beacon-community-amsterdam",
"name": "Beacon Community Amsterdam",
"summary": "Builders and operators of Amsterdam, every first Thursday: two talks, pizza and drinks, free for everybody.",
"description": "Beacon Community Amsterdam is the user group of the people who build software and the people who run it. We meet on the **first Thursday of every month** in the Beurs van Berlage: doors and pizza at 18:30, two talks of half an hour, then drinks.\n\n- Free, always: say you are coming so we order enough pizza.\n- Want to speak? Tell us at a meetup or by email.\n- Can't make it? Talks are recorded when the speaker agrees.\n\nOrganised by volunteers, hosted by Beacon Events.",
"city": "Amsterdam",
"online": true,
"languages": [
"en",
"nl"
],
"timeZone": "Europe/Amsterdam",
"joinPolicy": "open",
"status": "published",
"url": "https://attendbeacon.com/c/beacon-community-amsterdam",
"createdUtc": "2026-03-14T21:40:47.963Z",
"updatedUtc": "2026-10-14T21:40:55.134Z"
}401 invalidKey, keyExpired, keyRevoked.
{
"type": "https://attendbeacon.com/developers/errors#invalidKey",
"title": "No working API key",
"status": 401,
"detail": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key.",
"instance": "/api/v1/communities/{communityId}",
"code": "invalidKey",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "No key was sent, or it is not one this platform made. Send it as Authorization: Bearer abk_... or in X-Api-Key."
}List members
GET/communities/{communityId}/members
Lists a community's members, oldest change first. Names and addresses need people:read.
- Scopes
- communities:read
Parameters
pad
communityIdstring (uuid)verplichtThe community's id.
query
cursorstringWhere the page starts: nextCursor from the page before, exactly as it was returned. Leave out for the first page.
limitinteger (int32)How many on a page, up to 500.
Standaard:
100updatedSincestring (date-time)Only what changed at or after this moment, in UTC unless it says otherwise. Pass the newest updatedUtc your last sync saw.
statusstringOnly members with this status.
Een van:
active,pending,left
Antwoorden
- 200 A page of members. CommunityMemberList
Velden
dataCommunityMember[]The items of this page.
Velden tonen
memberIdstring (uuid)The member's id.
communityIdstring (uuid)The community's id.
namestring of nullTheir name. Null without people:read.
emailstring of nullTheir address. Null without people:read.
languagestringTheir language.
statusstringActive, pending or left.
announcementsbooleanWhether they want announcements.
remindersbooleanWhether they want reminders.
joinedUtcstring (date-time)When they joined, in UTC.
approvedUtcstring (date-time) of nullWhen they were approved, in UTC.
updatedUtcstring (date-time)When they last changed, in UTC.
erasedbooleanWhether the person deleted their data from the event app; then nothing personal is returned, whatever the key may read.
personalDatastringWhether the personal fields are here: included, withheld (the key lacks people:read) or erased (the person deleted their data).
Een van:
included,withheld,erased
nextCursorstring of nullThe cursor for the next page; null on the last page. Pass it as cursor, with the same filters.
hasMorebooleanWhether there is another page.
- 400 invalidCursor, invalidUpdatedSince, invalidRequest.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 notFound.
- 429 rateLimited.
Weigeringen
invalidKey keyExpired keyRevoked rateLimited missingScope notFound invalidCursor invalidUpdatedSince invalidRequest
Verzoek
curl "https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001/members?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001/members?limit=2", {
headers: {
Authorization: `Bearer ${process.env.ATTENDBEACON_KEY}`
}
});
if (!response.ok) throw new Error((await response.json()).detail);
const data = await response.json();using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ATTENDBEACON_KEY"));
using var request = new HttpRequestMessage(HttpMethod.Get, "https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001/members?limit=2");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();import os
import requests
response = requests.get(
"https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001/members", params={"limit": 2},
headers={
"Authorization": f"Bearer {os.environ['ATTENDBEACON_KEY']}"
}
)
response.raise_for_status()
data = response.json()$headers = @{
Authorization = "Bearer $env:ATTENDBEACON_KEY"
}
$data = Invoke-RestMethod -Method Get -Uri "https://attendbeacon.com/api/v1/communities/b3ac6200-0000-4000-8000-000000000001/members?limit=2" -Headers $headers200 Voorbeeldantwoord
{
"data": [
{
"memberId": "b3ac6204-0000-4000-8000-000000000001",
"communityId": "b3ac6200-0000-4000-8000-000000000001",
"name": "Sanne de Vries",
"email": "sanne.1@community.example",
"language": "nl",
"status": "active",
"announcements": true,
"reminders": true,
"joinedUtc": "2026-04-16T00:40:47.963Z",
"approvedUtc": "2026-04-16T00:40:47.963Z",
"updatedUtc": "2026-10-14T21:40:55.284Z",
"erased": false,
"personalData": "included"
},
{
"memberId": "b3ac6204-0000-4000-8000-000000000002",
"communityId": "b3ac6200-0000-4000-8000-000000000001",
"name": "Daan Jansen",
"email": "daan.2@community.example",
"language": "en",
"status": "active",
"announcements": true,
"reminders": true,
"joinedUtc": "2026-04-17T06:40:47.963Z",
"approvedUtc": "2026-04-17T06:40:47.963Z",
"updatedUtc": "2026-10-14T21:40:55.364Z",
"erased": false,
"personalData": "included"
}
],
"nextCursor": "YzE6MDYzOTI3NjEwODU1MzY0MDAwMHxiM2FjNjIwNDAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMg",
"hasMore": true
}400 invalidCursor, invalidUpdatedSince, invalidRequest.
{
"type": "https://attendbeacon.com/developers/errors#invalidCursor",
"title": "The cursor is not valid",
"status": 400,
"detail": "Pass nextCursor exactly as a list returned it, with the same filters.",
"instance": "/api/v1/communities/{communityId}/members",
"code": "invalidCursor",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "Pass nextCursor exactly as a list returned it, with the same filters."
}De handleidingen en deze site zijn in jouw taal. De beschrijvingen in de API-referentie zelf zijn in het Engels, de taal van de API.