API-reference
Call for speakers
Proposals sent to the call for speakers.
List proposals
GET/events/{eventId}/cfp/submissions
Lists proposals sent to the call for speakers, oldest change first, with their status and whether the speakers confirmed. Speakers' names need people:read; reviews stay in the workspace.
- Scopes
- cfp:read
- Modul
cfpAfvises med moduleOff, så længe eventets arrangør har slået det fra.
Parametre
sti
eventIdstring (uuid)påkrævetThe event'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 proposals with this status.
En af:
draft,submitted,shortlisted,accepted,rejected,waitlisted,withdrawn
Svar
- 200 A page of proposals. CfpSubmissionList
Felter
dataCfpSubmission[]The items of this page.
Vis felterne
submissionIdstring (uuid)The proposal's id.
eventIdstring (uuid)The event's id.
titlestringIts title.
abstractstringIts abstract.
kindstringTalk, workshop, panel and so on.
trackIdstring (uuid) eller nullThe track it is for.
minutesinteger (int32)How long.
levelstring eller nullBeginner, intermediate or advanced.
languagestringThe language it is in.
statusstringSubmitted, shortlisted, accepted, rejected, waitlisted or withdrawn.
decidedUtcstring (date-time) eller nullWhen it was decided, in UTC.
notifiedstring eller nullThe decision the speaker was sent.
confirmationstring eller nullWhether the speakers confirmed an acceptance: pending, confirmed, declined or expired.
sessionIdstring (uuid) eller nullThe session it became.
speakersobject[] eller nullIts speakers. Null without people:read.
Vis felterne
namestring eller nullTheir name.
emailstring eller nullTheir address.
companystring eller nullTheir company.
submitterEmailstring eller nullWho sent it. Null without people:read.
submittedUtcstring (date-time)When it was sent, in UTC.
updatedUtcstring (date-time)When it last changed, in UTC.
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 eventNotFound.
- 409 moduleOff.
- 429 rateLimited.
Afvisninger
invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor invalidUpdatedSince invalidRequest
Forespørgsel
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/cfp/submissions?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/cfp/submissions?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/cfp/submissions?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/cfp/submissions", 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/cfp/submissions?limit=2" -Headers $headers200 Eksempel på svar
{
"data": [
{
"submissionId": "b3ac0015-0000-4000-8000-000000000008",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"title": "Kubernetes bills, explained to finance",
"abstract": "Our cloud bill doubled in a quarter. How we explained it to the finance team with three charts, and what we switched off the week after.",
"kind": "talk",
"trackId": "b3ac0002-0000-4000-8000-000000000000",
"minutes": 25,
"level": "intermediate",
"language": "en",
"status": "accepted",
"decidedUtc": "2026-10-05T21:40:47.963Z",
"notified": "accepted",
"confirmation": "pending",
"sessionId": null,
"speakers": [
{
"name": "Jonas Peeters",
"email": "jonas.peeters@example.com",
"company": "Fabrikam"
},
{
"name": "Fleur de Vries",
"email": "fleur.devries@example.com",
"company": "Fabrikam"
}
],
"submitterEmail": "jonas.peeters@example.com",
"submittedUtc": "2026-09-27T21:40:47.963Z",
"updatedUtc": "2026-09-27T21:40:47.963Z",
"personalData": "included"
},
{
"submissionId": "b3ac0015-0000-4000-8000-000000000009",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"title": "Live-coding a design system in ten minutes",
"abstract": "From an empty file to buttons, colours and type that hold together, typed live, with the audience choosing the brand.",
"kind": "talk",
"trackId": "b3ac0002-0000-4000-8000-000000000001",
"minutes": 10,
"level": "beginner",
"language": "en",
"status": "accepted",
"decidedUtc": "2026-10-05T21:40:47.963Z",
"notified": "accepted",
"confirmation": "declined",
"sessionId": null,
"speakers": [
{
"name": "Marit Koster",
"email": "marit.koster@example.com",
"company": "Proseware"
}
],
"submitterEmail": "marit.koster@example.com",
"submittedUtc": "2026-09-28T21:40:47.963Z",
"updatedUtc": "2026-09-28T21:40:47.963Z",
"personalData": "included"
}
],
"nextCursor": "YzE6MDYzOTI2MjI4NDQ3OTYzMDAwMHxiM2FjMDAxNTAwMDA0MDAwODAwMDAwMDAwMDAwMDAwOQ",
"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/events/b3ac0000-0000-4000-8000-000000000001/cfp/submissions",
"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.