Referencia de la API
Communities
Communities and their members.
List communities
GET/communities
Lists the workspace's communities with their members and next meetup.
- Ámbitos
- communities:read
Parámetros
consulta
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.
Por defecto:
100
Respuestas
- 200 A page of communities. CommunityList
Campos
dataCommunity[]The items of this page.
Mostrar los campos
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
statusstringDraft or published.
citystring o 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 o nullThe next meetup.
Mostrar los campos
namestring o nullIts name.
startsUtcstring (date-time) o nullWhen it starts, in UTC.
urlstring (uri)Its page.
nextCursorstring o 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.
Rechazos
invalidKey keyExpired keyRevoked rateLimited missingScope invalidCursor
Solicitud
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 Respuesta de ejemplo
{
"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.
- Ámbitos
- communities:read
- Responde con un ETag; envía If-None-Match para ahorrarte una descarga.
Parámetros
ruta
communityIdstring (uuid)obligatorioThe community's id.
cabecera
If-None-MatchstringThe ETag you have: when it is still current the answer is 304 with no body.
Respuestas
- 200 The community. CommunityDetail
Campos
communityIdstring (uuid)The community's id.
slugstringIts address after /c/.
namestringIts name.
summarystring o nullA line about it.
descriptionstring o nullAbout it, in Markdown.
citystring o 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.
Rechazos
invalidKey keyExpired keyRevoked rateLimited missingScope notFound
Solicitud
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 Respuesta de ejemplo
{
"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.
- Ámbitos
- communities:read
Parámetros
ruta
communityIdstring (uuid)obligatorioThe community's id.
consulta
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.
Por defecto:
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.
Uno de:
active,pending,left
Respuestas
- 200 A page of members. CommunityMemberList
Campos
dataCommunityMember[]The items of this page.
Mostrar los campos
memberIdstring (uuid)The member's id.
communityIdstring (uuid)The community's id.
namestring o nullTheir name. Null without people:read.
emailstring o 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) o 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).
Uno de:
included,withheld,erased
nextCursorstring o 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.
Rechazos
invalidKey keyExpired keyRevoked rateLimited missingScope notFound invalidCursor invalidUpdatedSince invalidRequest
Solicitud
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 Respuesta de ejemplo
{
"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."
}Las guías y este sitio están en tu idioma. Las descripciones de la referencia de la API están en inglés, el idioma de la propia API.