API-Referenz
Surveys
Surveys and session ratings, counted. Never who answered what.
List surveys
GET/events/{eventId}/surveys
Lists an event's surveys with their questions and how many answered.
- Scopes
- surveys:read
- Modul
feedbackWird mit moduleOff abgelehnt, solange der Veranstalter das Modul für die Veranstaltung ausgeschaltet hat.
Parameter
Pfad
eventIdstring (uuid)erforderlichThe event'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.
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.
Antworten
- 200 A page of surveys. SurveyList
Felder
dataSurvey[]The items of this page.
Felder anzeigen
surveyIdstring (uuid)The survey's id.
eventIdstring (uuid)The event's id.
titleobjectIts title, by language.
questionsobject[]Its questions.
Felder anzeigen
idstringThe question's id.
kindstringIts kind: rating, scale, choice, text and others.
labelobjectIts label, by language.
opensUtcstring (date-time) oder nullWhen it opens, in UTC.
closesUtcstring (date-time) oder nullWhen it closes, in UTC.
opensLocalstring oder nullWhen it opens, in the venue's time.
closesLocalstring oder nullWhen it closes, in the venue's time.
responsesinteger (int32)How many answered.
updatedUtcstring (date-time) oder nullWhen it last changed, in UTC.
nextCursorstring oder 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 eventNotFound.
- 409 moduleOff.
- 429 rateLimited.
Ablehnungen
invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor invalidUpdatedSince invalidRequest
Anfrage
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/surveys?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/surveys?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/events/b3ac0000-0000-4000-8000-000000000001/surveys?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/events/b3ac0000-0000-4000-8000-000000000001/surveys", 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/events/b3ac0000-0000-4000-8000-000000000001/surveys?limit=2" -Headers $headers200 Beispielantwort
{
"data": [
{
"surveyId": "b3ac001b-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"title": {
"en": "Help us plan the two days",
"nl": "Help ons de twee dagen plannen"
},
"questions": [
{
"id": "source",
"kind": "choice",
"label": {
"en": "How did you hear about Beacon Summit?",
"nl": "Hoe hoorde je van Beacon Summit?"
}
},
{
"id": "workshop",
"kind": "choice",
"label": {
"en": "Which workshop would you go to?",
"nl": "Naar welke workshop zou je gaan?"
}
}
],
"opensUtc": "2026-10-06T00:00:00.000Z",
"closesUtc": "2026-11-12T07:00:00.000Z",
"opensLocal": "2026-10-06T02:00",
"closesLocal": "2026-11-12T08:00",
"responses": 13,
"updatedUtc": "2026-10-14T21:40:48.772Z"
},
{
"surveyId": "b3ac001b-0000-4000-8000-000000000001",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"title": {
"en": "How was Beacon Summit?",
"nl": "Hoe was Beacon Summit?"
},
"questions": [
{
"id": "overall",
"kind": "rating",
"label": {
"en": "How were the two days?",
"nl": "Hoe waren de twee dagen?"
}
},
{
"id": "recommend",
"kind": "scale",
"label": {
"en": "How likely are you to recommend Beacon Summit to a colleague?",
"nl": "Hoe waarschijnlijk is het dat je Beacon Summit aan een collega aanraadt?"
}
}
],
"opensUtc": "2026-11-13T13:45:00.000Z",
"closesUtc": "2026-11-20T22:59:00.000Z",
"opensLocal": "2026-11-13T14:45",
"closesLocal": "2026-11-20T23:59",
"responses": 0,
"updatedUtc": "2026-10-14T21:40:48.772Z"
}
],
"nextCursor": null,
"hasMore": false
}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/events/b3ac0000-0000-4000-8000-000000000001/surveys",
"code": "invalidCursor",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "Pass nextCursor exactly as a list returned it, with the same filters."
}Get survey results
GET/events/{eventId}/surveys/{surveyId}/results
Gets a survey's answers counted: options counted, ratings averaged, a 0 to 10 scale as a Net Promoter Score, text as a list. Never who answered what.
- Scopes
- surveys:read
- Modul
feedbackWird mit moduleOff abgelehnt, solange der Veranstalter das Modul für die Veranstaltung ausgeschaltet hat.
Parameter
Pfad
eventIdstring (uuid)erforderlichThe event's id.
surveyIdstring (uuid)erforderlichThe survey's id.
Antworten
- 200 The results. SurveyResults
Felder
surveyIdstring (uuid)The survey's id.
eventIdstring (uuid)The event's id.
titleobjectIts title, by language.
responsesinteger (int32)How many answered.
resultsobject[]Each question.
Felder anzeigen
questionIdstringThe question's id.
kindstringIts kind.
labelobjectIts label, by language.
answeredinteger (int32)How many answered it.
optionsobject[] oder nullA choice's options counted.
Felder anzeigen
valuestringIts value.
labelobjectIts label, by language.
countinteger (int32)How many chose it.
yesinteger (int32) oder nullA yes-or-no question: how many said yes.
averagenumber oder nullA rating (1 to 5): the average.
npsnumber oder nullA 0 to 10 scale: the Net Promoter Score, -100 to 100.
textsstring[] oder nullA text question: the answers.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound, notFound.
- 409 moduleOff.
- 429 rateLimited.
Ablehnungen
invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound notFound
Anfrage
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/surveys/b3ac001b-0000-4000-8000-000000000000/results" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/surveys/b3ac001b-0000-4000-8000-000000000000/results", {
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/events/b3ac0000-0000-4000-8000-000000000001/surveys/b3ac001b-0000-4000-8000-000000000000/results");
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/events/b3ac0000-0000-4000-8000-000000000001/surveys/b3ac001b-0000-4000-8000-000000000000/results",
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/events/b3ac0000-0000-4000-8000-000000000001/surveys/b3ac001b-0000-4000-8000-000000000000/results" -Headers $headers200 Beispielantwort
{
"surveyId": "b3ac001b-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"title": {
"en": "Help us plan the two days",
"nl": "Help ons de twee dagen plannen"
},
"responses": 13,
"results": [
{
"questionId": "source",
"kind": "choice",
"label": {
"en": "How did you hear about Beacon Summit?",
"nl": "Hoe hoorde je van Beacon Summit?"
},
"answered": 13,
"options": [
{
"value": "meetup",
"label": {
"en": "At a meetup",
"nl": "Op een meetup"
},
"count": 5
},
{
"value": "colleague",
"label": {
"en": "From a colleague",
"nl": "Van een collega"
},
"count": 4
}
],
"yes": null,
"average": null,
"nps": null,
"texts": null
},
{
"questionId": "workshop",
"kind": "choice",
"label": {
"en": "Which workshop would you go to?",
"nl": "Naar welke workshop zou je gaan?"
},
"answered": 13,
"options": [
{
"value": "agents",
"label": {
"en": "Building with AI agents",
"nl": "Bouwen met AI-agents"
},
"count": 7
},
{
"value": "threat",
"label": {
"en": "Threat modelling in an hour",
"nl": "Threat modelling in een uur"
},
"count": 4
}
],
"yes": null,
"average": null,
"nps": null,
"texts": null
}
]
}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/events/b3ac0000-0000-4000-8000-000000000001/surveys/{surveyId}/results",
"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."
}Get session ratings
GET/events/{eventId}/session-ratings
Gets how each session and the event were rated: how many rated, the average and the spread. Never who rated.
- Scopes
- surveys:read
- Modul
feedbackWird mit moduleOff abgelehnt, solange der Veranstalter das Modul für die Veranstaltung ausgeschaltet hat.
Parameter
Pfad
eventIdstring (uuid)erforderlichThe event's id.
Antworten
- 200 The ratings. SessionRatings
Felder
eventIdstring (uuid)The event's id.
eventobjectThe event's own rating.
Felder anzeigen
countinteger (int32)How many rated it.
averagenumber oder nullThe average, 1 to 5.
distributioninteger[]How many gave 1, 2, 3, 4 and 5 stars.
sessionsobject[]Each session with content.
Felder anzeigen
sessionIdstring (uuid)The session's id.
titlestringIts title.
countinteger (int32)How many rated it.
averagenumber oder nullThe average, 1 to 5.
distributioninteger[]How many gave 1 to 5 stars.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope.
- 404 eventNotFound.
- 409 moduleOff.
- 429 rateLimited.
Ablehnungen
invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound
Anfrage
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/session-ratings" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/session-ratings", {
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/events/b3ac0000-0000-4000-8000-000000000001/session-ratings");
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/events/b3ac0000-0000-4000-8000-000000000001/session-ratings",
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/events/b3ac0000-0000-4000-8000-000000000001/session-ratings" -Headers $headers200 Beispielantwort
{
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"event": {
"count": 0,
"average": null,
"distribution": [
0,
0
]
},
"sessions": [
{
"sessionId": "b3ac0004-0000-4000-8000-000000000000",
"title": "Registration and coffee",
"count": 0,
"average": null,
"distribution": [
0,
0
]
},
{
"sessionId": "b3ac0004-0000-4000-8000-000000000001",
"title": "Opening keynote: software that finds its way",
"count": 0,
"average": null,
"distribution": [
0,
0
]
}
]
}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/events/b3ac0000-0000-4000-8000-000000000001/session-ratings",
"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."
}Die Anleitungen und diese Website sind in Ihrer Sprache. Die Beschreibungen in der API-Referenz selbst sind auf Englisch, so wie die API selbst spricht.