API-reference
Communities
Communities and their members.
List communities
GET/communities
Lists the workspace's communities with their members and next meetup.
- Scopes
- communities:read
Parametre
forespørgsel
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.
Standard:
100
Svar
- 200 A page of communities. CommunityList
Felter
dataCommunity[]The items of this page.
Vis felterne
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
statusstringDraft or published.
citystring eller 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 eller nullThe next meetup.
Vis felterne
namestring eller nullIts name.
startsUtcstring (date-time) eller nullWhen it starts, in UTC.
urlstring (uri)Its page.
nextCursorstring eller 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.
Afvisninger
invalidKey keyExpired keyRevoked rateLimited missingScope invalidCursor
Forespørgsel
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 Eksempel på svar
{
"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
- Svarer med en ETag; send If-None-Match for at spare en download.
Parametre
sti
communityIdstring (uuid)påkrævetThe community's id.
header
If-None-MatchstringThe ETag you have: when it is still current the answer is 304 with no body.
Svar
- 200 The community. CommunityDetail
Felter
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
summarystring eller nullA line about it.
descriptionstring eller nullAbout it, in Markdown.
citystring eller 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.
Afvisninger
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Forespørgsel
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 Eksempel på svar
{
"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
Parametre
sti
communityIdstring (uuid)påkrævetThe community's id.
forespørgsel
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.
Standard:
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.
En af:
active,pending,left
Svar
- 200 A page of members. CommunityMemberList
Felter
dataCommunityMember[]The items of this page.
Vis felterne
memberIdstring (uuid)The member's id.
communityIdstring (uuid)The community's id.
namestring eller nullTheir name. Null without people:read.
emailstring eller 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) eller 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).
En af:
included,withheld,erased
nextCursorstring eller 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.
Afvisninger
invalidKey keyExpired keyRevoked rateLimited missingScope notFound invalidCursor invalidUpdatedSince invalidRequest
Forespørgsel
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 Eksempel på svar
{
"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."
}Guiderne og dette site er på dit sprog. API-referencens egne beskrivelser er på engelsk, ligesom API'et selv.