API reference
Sponsors
Sponsors, exhibitors, their levels and their leads.
List sponsors
GET/events/{eventId}/sponsors
Lists an event's sponsors and exhibitors by level, with their booth and website.
- Scopes
- sponsors:read
- Module
sponsorsRefused with moduleOff while the event's organiser has it switched off.
Parameters
path
eventIdstring (uuid)requiredThe 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.
Default:
100
Answers
- 200 A page of sponsors. SponsorDetailList
Fields
dataSponsorDetail[]The items of this page.
Show the fields
sponsorIdstring (uuid)The sponsor's id.
eventIdstring (uuid)The event's id.
namestringIts name.
levelstring or nullIts level, in the organiser's words: Platinum, Gold.
levelIdstring (uuid) or nullIts level's id.
levelRankinteger (int32)The level's rank, highest first.
websitestring or nullIts site.
logoUrlstring or nullIts logo.
descriptionstring or nullAbout it.
boothstring or nullWhere to find it.
sortOrderinteger (int32)Its place within its level.
nextCursorstring or 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.
- 404 eventNotFound.
- 409 moduleOff.
- 429 rateLimited.
Refusals
invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor
Request
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sponsors?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sponsors?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/sponsors?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/sponsors", 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/sponsors?limit=2" -Headers $headers200 Example answer
{
"data": [
{
"sponsorId": "b3ac0005-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"name": "Northwind Cloud",
"level": "Platinum",
"levelId": "b3ac0154-0000-4000-8000-000000000000",
"levelRank": 0,
"website": "https://northwindcloud.example",
"logoUrl": "/media/f0de0000000040008000000000000001/b3ac00fb000040008000000000000000.png",
"description": "The cloud for teams who would rather be building.",
"booth": "A1",
"sortOrder": 0
},
{
"sponsorId": "b3ac0005-0000-4000-8000-000000000001",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"name": "Contoso",
"level": "Gold",
"levelId": "b3ac0154-0000-4000-8000-000000000001",
"levelRank": 1,
"website": "https://contoso.example",
"logoUrl": "/media/f0de0000000040008000000000000001/b3ac00fb000040008000000000000001.png",
"description": "Software for the way people work now.",
"booth": "B2",
"sortOrder": 1
}
],
"nextCursor": "YzE6MDAwMDAwMTAwMDAwMDEwMDAwMXxiM2FjMDAwNTAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMQ",
"hasMore": true
}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/events/b3ac0000-0000-4000-8000-000000000001/sponsors",
"code": "invalidCursor",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "Pass nextCursor exactly as a list returned it, with the same filters."
}List sponsor levels
GET/events/{eventId}/sponsor-levels
Lists an event's sponsor levels and what each includes.
- Scopes
- sponsors:read
- Module
sponsorsRefused with moduleOff while the event's organiser has it switched off.
Parameters
path
eventIdstring (uuid)requiredThe 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.
Default:
100
Answers
- 200 A page of levels. SponsorLevelList
Fields
dataSponsorLevel[]The items of this page.
Show the fields
levelIdstring (uuid)The level's id.
eventIdstring (uuid)The event's id.
namestringIts name.
rankinteger (int32)Its rank, highest first.
colourstringIts colour.
staffAllowanceinteger (int32)Booth staff included.
freeTicketsinteger (int32)Free tickets included.
leadDownloadbooleanWhether its sponsors may download their leads.
leadExportUntilstring (date) or nullUntil when they may.
discountCodesinteger (int32)Discount codes included.
discountPercentinteger (int32)Their percentage.
logoOnPagebooleanLogo on the event's page.
logoOnScreensbooleanLogo on the room screens.
logoOnBadgesbooleanLogo on the badges.
sponsoredSessionbooleanA sponsored session included.
nextCursorstring or 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.
- 404 eventNotFound.
- 409 moduleOff.
- 429 rateLimited.
Refusals
invalidKey keyExpired keyRevoked rateLimited missingScope moduleOff eventNotFound invalidCursor
Request
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sponsor-levels?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/sponsor-levels?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/sponsor-levels?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/sponsor-levels", 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/sponsor-levels?limit=2" -Headers $headers200 Example answer
{
"data": [
{
"levelId": "b3ac0154-0000-4000-8000-000000000000",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"name": "Platinum",
"rank": 0,
"colour": "#6d28d9",
"staffAllowance": 6,
"freeTickets": 4,
"leadDownload": true,
"leadExportUntil": "2026-12-13",
"discountCodes": 10,
"discountPercent": 25,
"logoOnPage": true,
"logoOnScreens": true,
"logoOnBadges": true,
"sponsoredSession": true
},
{
"levelId": "b3ac0154-0000-4000-8000-000000000001",
"eventId": "b3ac0000-0000-4000-8000-000000000001",
"name": "Gold",
"rank": 1,
"colour": "#d97706",
"staffAllowance": 4,
"freeTickets": 2,
"leadDownload": true,
"leadExportUntil": "2026-11-27",
"discountCodes": 5,
"discountPercent": 15,
"logoOnPage": true,
"logoOnScreens": true,
"logoOnBadges": false,
"sponsoredSession": true
}
],
"nextCursor": "YzE6MDAwMDAwMTAwMDAwMDAwMDAwMXxiM2FjMDE1NDAwMDA0MDAwODAwMDAwMDAwMDAwMDAwMQ",
"hasMore": true
}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/events/b3ac0000-0000-4000-8000-000000000001/sponsor-levels",
"code": "invalidCursor",
"traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01",
"error": "Pass nextCursor exactly as a list returned it, with the same filters."
}List recent leads
GET/events/{eventId}/leads
Lists the newest leads that sponsors captured at the event, only those the visitor agreed to share, newest first.
- Scopes
- sponsors:read people:read
- Module
leadsRefused with moduleOff while the event's organiser has it switched off.
Parameters
path
eventIdstring (uuid)requiredThe event's id.
query
limitinteger (int32)How many leads to return, up to 100.
Default:
25
Answers
- 200 The leads. LeadList
Fields
dataLeadItem[]The leads, newest first.
Show the fields
sponsorSponsorA sponsor of the event.
Show the fields
sponsorIdstring (uuid)The sponsor's id.
namestringThe sponsor's name.
leadLeadA lead a sponsor captured, with the visitor's details only when they share them.
Show the fields
leadIdstring (uuid)The lead's id.
sharedbooleanWhether the visitor's details are included.
firstNamestringFirst name, when shared.
lastNamestringLast name, when shared.
companystringCompany, when shared.
jobTitlestringJob title, when shared.
emailstring (email)Email address, when the visitor shares it too.
originstringHow the lead began: booth, request or session.
ratingintegerThe booth staff's rating: 1 cold, 2 warm, 3 hot.
answersobjectAnswers to the sponsor's own questions, by question id.
notestringThe booth staff's note.
capturedBystringWho scanned the badge first.
capturedUtcstring (date-time)When, in UTC.
- 401 invalidKey, keyExpired, keyRevoked.
- 403 missingScope, peopleScope.
- 404 eventNotFound.
- 409 moduleOff.
- 429 rateLimited.
Refusals
invalidKey keyExpired keyRevoked rateLimited missingScope peopleScope moduleOff eventNotFound
Request
curl "https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/leads?limit=2" \
-H "Authorization: Bearer $ATTENDBEACON_KEY"const response = await fetch("https://attendbeacon.com/api/v1/events/b3ac0000-0000-4000-8000-000000000001/leads?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/leads?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/leads", 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/leads?limit=2" -Headers $headers200 Example answer
{
"data": [
{
"sponsor": {
"sponsorId": "b3ac0005-0000-4000-8000-000000000000",
"name": "Northwind Cloud"
},
"lead": {
"leadId": "b3ac0018-0000-4000-8000-000000000009",
"shared": true,
"firstName": "Julia",
"lastName": "de Boer",
"company": "Litware",
"jobTitle": "Engineer",
"email": null,
"origin": "booth",
"attendedSessionId": null,
"rating": 2,
"answers": {
"interest": "platform",
"followUp": true
},
"note": "Interested in the startup credits.",
"capturedBy": "lotte.devries42@example.com",
"capturedUtc": "2026-10-08T18:03:00.000Z",
"updatedUtc": "2026-10-08T18:05:00.000Z"
}
},
{
"sponsor": {
"sponsorId": "b3ac0005-0000-4000-8000-000000000000",
"name": "Northwind Cloud"
},
"lead": {
"leadId": "b3ac0018-0000-4000-8000-000000000008",
"shared": true,
"firstName": "Liam",
"lastName": "Peters",
"company": "Fabrikam",
"jobTitle": "Product manager",
"email": "liam.peters33@example.com",
"origin": "booth",
"attendedSessionId": null,
"rating": 1,
"answers": {
"interest": "data",
"followUp": false
},
"note": null,
"capturedBy": "lotte.meijer26@example.com",
"capturedUtc": "2026-10-08T17:56:00.000Z",
"updatedUtc": "2026-10-08T17:58:00.000Z"
}
}
]
}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/leads",
"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."
}The guides and this site are in your language. The API reference's own descriptions are in English, as the API itself speaks.