API-viiteopas
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.
- Käyttöoikeudet
- cfp:read
- Moduuli
cfpHylätään koodilla moduleOff, jos tapahtuman järjestäjä on kytkenyt moduulin pois.
Parametrit
polku
eventIdstring (uuid)pakollinenThe event's id.
kysely
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.
Oletus:
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.
Jokin seuraavista:
draft,submitted,shortlisted,accepted,rejected,waitlisted,withdrawn
Vastaukset
- 200 A page of proposals. CfpSubmissionList
Kentät
dataCfpSubmission[]The items of this page.
Näytä kentät
submissionIdstring (uuid)The proposal's id.
eventIdstring (uuid)The event's id.
titlestringIts title.
abstractstringIts abstract.
kindstringTalk, workshop, panel and so on.
trackIdstring (uuid) tai nullThe track it is for.
minutesinteger (int32)How long.
levelstring tai nullBeginner, intermediate or advanced.
languagestringThe language it is in.
statusstringSubmitted, shortlisted, accepted, rejected, waitlisted or withdrawn.
decidedUtcstring (date-time) tai nullWhen it was decided, in UTC.
notifiedstring tai nullThe decision the speaker was sent.
confirmationstring tai nullWhether the speakers confirmed an acceptance: pending, confirmed, declined or expired.
sessionIdstring (uuid) tai nullThe session it became.
speakersobject[] tai nullIts speakers. Null without people:read.
Näytä kentät
namestring tai nullTheir name.
emailstring tai nullTheir address.
companystring tai nullTheir company.
submitterEmailstring tai 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).
Jokin seuraavista:
included,withheld,erased
nextCursorstring tai 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.
Hylkäykset
invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor invalidUpdatedSince invalidRequest
Pyyntö
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 Esimerkkivastaus
{
"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."
}Oppaat ja tämä sivusto ovat omalla kielelläsi. API-viiteoppaan omat kuvaukset ovat englanniksi, kuten itse rajapintakin.