Dokumentacja API
Communities
Communities and their members.
List communities
GET/communities
Lists the workspace's communities with their members and next meetup.
- Uprawnienia
- communities:read
Parametry
zapytanie
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.
Domyślnie:
100
Odpowiedzi
- 200 A page of communities. CommunityList
Pola
dataCommunity[]The items of this page.
Pokaż pola
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
statusstringDraft or published.
citystring lub 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 lub nullThe next meetup.
Pokaż pola
namestring lub nullIts name.
startsUtcstring (date-time) lub nullWhen it starts, in UTC.
urlstring (uri)Its page.
nextCursorstring lub 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.
Odmowy
invalidKey keyExpired keyRevoked rateLimited missingScope invalidCursor
Żądanie
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 Przykładowa odpowiedź
{
"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.
- Uprawnienia
- communities:read
- Odpowiada z nagłówkiem ETag; wyślij If-None-Match, aby nie pobierać danych ponownie.
Parametry
ścieżka
communityIdstring (uuid)wymaganeThe community's id.
nagłówek
If-None-MatchstringThe ETag you have: when it is still current the answer is 304 with no body.
Odpowiedzi
- 200 The community. CommunityDetail
Pola
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
summarystring lub nullA line about it.
descriptionstring lub nullAbout it, in Markdown.
citystring lub 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.
Odmowy
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Żądanie
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 Przykładowa odpowiedź
{
"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.
- Uprawnienia
- communities:read
Parametry
ścieżka
communityIdstring (uuid)wymaganeThe community's id.
zapytanie
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.
Domyślnie:
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.
Jedno z:
active,pending,left
Odpowiedzi
- 200 A page of members. CommunityMemberList
Pola
dataCommunityMember[]The items of this page.
Pokaż pola
memberIdstring (uuid)The member's id.
communityIdstring (uuid)The community's id.
namestring lub nullTheir name. Null without people:read.
emailstring lub 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) lub 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).
Jedno z:
included,withheld,erased
nextCursorstring lub 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.
Odmowy
invalidKey keyExpired keyRevoked rateLimited missingScope notFound invalidCursor invalidUpdatedSince invalidRequest
Żądanie
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 Przykładowa odpowiedź
{
"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."
}Przewodniki i ta witryna są w twoim języku. Opisy w samej dokumentacji API są po angielsku, tak jak mówi samo API.