Search sessions
US Region: https://public-api.sessionboard.com · EU Region: https://public-api-eu.sessionboard.com
Search and filter sessions within an event. Supports pagination,
sorting, filtering by status, date ranges, and session categorization
(trackIds, tagIds, levelIds, formatIds, languageIds), and
expanding related data.
Each categorization filter needs at least one ID. An empty array is
rejected with a 400 naming the field — to apply no filter at all, omit
the property rather than sending [].
sort uses nested keys — each sortable field is an object with a
sort direction, for example {"sort": {"startsAt": {"sort": "asc"}}}.
There is no flat {"order": "...", "sort": "..."} form. Sessions with
a null starts_at always sort last when sorting by startsAt,
regardless of direction.
Every session includes is_abstract and composition_status. Pass
filters.isAbstract to return only abstract submissions or only
program sessions. By default, sessions linked as composition sources
are excluded; pass expand=linked_sources to include them. Pass
expand=composition for full target/source details.
Each session in the response includes a subsessions array. By
default each subsession is returned in a minimal shape (Subsession).
Pass expand=subsession_details in the request body to receive full
parent-shape parity (SubsessionDetailed) on every subsession —
including status, custom_status, custom_fields, chairpersons,
moderators, sponsors, exhibitors, tags, language, track,
level, room, etc.
Each subsession inherits the parent session's is_abstract,
composition_status, and optional composition graph (when
expand=composition is set).
Nested language, track, level, format, and room objects on
each session include the field sets documented on the Session schema.
Unassigned metadata is returned as {}.
Paginated search responses return matching sessions under results
(not data), alongside a pagination object.
Request example
curl --request POST \ --url 'https://public-api.sessionboard.com/v1/event/{eventId}/sessions' \ --header 'x-access-token: <api-token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": { "status": "accepted" }, "sort": { "startsAt": { "sort": "asc" } }}'const response = await fetch('https://public-api.sessionboard.com/v1/event/{eventId}/sessions', { method: 'POST', headers: { "x-access-token": "<api-token>", "Content-Type": "application/json" }, body: JSON.stringify({ "filters": { "status": "accepted" }, "sort": { "startsAt": { "sort": "asc" } } }),});
const data = await response.json();console.log(data);import requests
response = requests.request( "POST", "https://public-api.sessionboard.com/v1/event/{eventId}/sessions", headers={ "x-access-token": "<api-token>", "Content-Type": "application/json" }, json={ "filters": { "status": "accepted" }, "sort": { "startsAt": { "sort": "asc" } } },)
print(response.json())<?php
$curl = curl_init();
curl_setopt_array($curl, [ CURLOPT_URL => "https://public-api.sessionboard.com/v1/event/{eventId}/sessions", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => '{ "filters": { "status": "accepted" }, "sort": { "startsAt": { "sort": "asc" } }}', CURLOPT_HTTPHEADER => [ "x-access-token: <api-token>", "Content-Type: application/json", ],]);
$response = curl_exec($curl);curl_close($curl);
echo $response;package main
import ( "fmt" "io" "net/http" "strings")
func main() { req, _ := http.NewRequest("POST", "https://public-api.sessionboard.com/v1/event/{eventId}/sessions", strings.NewReader(`{ "filters": { "status": "accepted" }, "sort": { "startsAt": { "sort": "asc" } }}`)) req.Header.Add("x-access-token", "<api-token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))}HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://public-api.sessionboard.com/v1/event/{eventId}/sessions")) .header("x-access-token", "<api-token>") .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{\n \"filters\": {\n \"status\": \"accepted\"\n },\n \"sort\": {\n \"startsAt\": {\n \"sort\": \"asc\"\n }\n }\n}")) .build();
HttpResponse<String> response = HttpClient.newHttpClient() .send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());Try it
Response headers
Authorizations
x-access-tokenstringheaderOrganization API token. Generate from Organization Settings → API Tokens.
AuthorizationBearer <token>headerorOAuth 2.1 access token. Obtained via the OAuth PKCE flow at
/oauth/token.
Send one of these. See Authentication.
Path parameters
eventIdintegerpathrequiredThe event ID.
Query parameters
pageintegerqueryPage number for pagination.
- Default
1- Minimum
1- Maximum
999
pageSizeintegerqueryNumber of results per page.
The event-settings list endpoints (tags, tracks, levels, formats, rooms, languages, statuses) also accept the older spelling
page_size, and used to accept only that — a request sendingpageSizesilently got the default 25. Both now work,pageSizewins when both are sent, and on these endpoints a value outside 1–100 is clamped rather than rejected. Everywhere elsepageSizeis the only spelling.- Default
25- Minimum
1- Maximum
100
Request body
Search request body for sessions with status filtering.
filtersobjectShow child attributes
createdAtDateRangeFilterFilter by a date range using before and/or after bounds.
Show child attributes
beforestring<date-time>Return records before this date-time.
afterstring<date-time>Return records after this date-time.
updatedAtDateRangeFilterFilter by a date range using before and/or after bounds.
Show child attributes
beforestring<date-time>Return records before this date-time.
afterstring<date-time>Return records after this date-time.
statusstring- Allowed values
"accepted", "accept_queue", "pending", "decline_queue", "declined"
isAbstractbooleanFilter to abstract submissions (
true) or program sessions (false).sessionIdsstring<uuid>[]- Min items
1
trackIdsstring<uuid>[]Match sessions with any of these track IDs (OR). Combined with other filters using AND. Send at least one ID — an empty array is rejected with a 400; to apply no track filter, omit the property.
- Min items
1
levelIdsstring<uuid>[]- Min items
1
formatIdsstring<uuid>[]- Min items
1
languageIdsstring<uuid>[]- Min items
1
tagIdsstring<uuid>[]Match sessions tagged with any of these tag IDs (OR). Send at least one ID — an empty array is rejected with a 400.
- Min items
1
sortSessionSortOptionsSession search sort. Same nested shape as
SortOptions, plusstartsAt.Show child attributes
createdAtNestedSortFieldOne sort key.
sortis the direction;orderis the priority when multiple keys are set (lower numbers apply first).Show child attributes
sortstring- Allowed values
"asc", "desc"
orderinteger
updatedAtNestedSortFieldOne sort key.
sortis the direction;orderis the priority when multiple keys are set (lower numbers apply first).Show child attributes
sortstring- Allowed values
"asc", "desc"
orderinteger
startsAtobjectSort by session start time. Null
starts_atvalues always sort last.Show child attributes
sortstring- Allowed values
"asc", "desc"
orderinteger
expandstring[]- Allowed values
"translated_fields", "subsession_details", "linked_sources", "composition"
{ "filters": { "status": "accepted" }, "sort": { "startsAt": { "sort": "asc" } }}{ "filters": { "trackIds": [ "3fa85f64-5717-4562-b3fc-2c963f66afa6" ], "tagIds": [ "9b2f0c1d-8e47-4a6b-9c3d-1a2b3c4d5e6f" ] }, "sort": { "startsAt": { "sort": "asc" } }}Responses
200application/json
OK
resultsSession[]Show child attributes
idstring<uuid>friendly_idstringfriendly_id_rawintegertitlestringdescriptionstringstatusstring- Allowed values
"accepted", "accept_queue", "pending", "decline_queue", "declined"
custom_status_idstringcustom_statusobjectShow child attributes
idstringnamestring
starts_atstring<date-time>ends_atstring<date-time>is_publicbooleanis_abstractbooleanTrue for CFP abstract submissions; false for program sessions.
composition_statusCompositionStatusSummary of how this session participates in a composition (merge or link). Always present on session responses.
Show child attributes
rolestringstandalone— normal editable recordtarget— composite parent with one or more linked sourcessource— linked into another record (still editable)
- Allowed values
"standalone", "target", "source"
is_linkedbooleanis_read_onlybooleanAlways
false. Linked sources stay editable; the key is kept for compatibility.- Allowed values
false
source_countintegerNumber of records merged or linked into this session.
targetobject | nullPresent when
roleissource.Show child attributes
idstring<uuid>friendly_idstringtitlestringis_abstractboolean
compositionCompositionDetailPresent when
expand=compositionis requested.Show child attributes
targetobject | nullSummary of a related session in a composition relationship.
Show child attributes
idstring<uuid>friendly_idstringtitlestringis_abstractboolean
sourcesCompositionSource[]Show child attributes
composition_idstring<uuid>relationship_typestring- Allowed values
"merged_session", "merged_abstract", "composed_into_session"
created_atstring<date-time>idstring<uuid>friendly_idstringtitlestringis_abstractboolean
external_urlstring<uri>client_session_idstringcreated_atstring<date-time>updated_atstring<date-time>ceu_creditsnumber<float>capacityintegercustom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
translated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
speakersSessionSpeaker[]Legacy junction-table speakers (
Session_Speakers). Retained for backwards compatibility. Each entry includesparticipant_rolewhen the event has Sessions 2.0 roles configured. Preferparticipantsfor new integrations that need custom program roles or a single flat participant list.Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
chairpersonsSessionSpeaker[]Legacy junction-table chairpersons (
Session_Chairpersons). Seespeakersfor migration guidance.Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
moderatorsSessionSpeaker[]Legacy junction-table moderators (
Session_Moderators). Seespeakersfor migration guidance.Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
participantsSessionParticipant[]Flat list of session participants from the Sessions 2.0 data model (
Session_Participants+Session_Roles). Always returned on session search and get (no expand flag). Includes custom program roles (for example Author, Panelist) in addition to the legacy speaker/chairperson/moderator junction tables. Legacy arrays above remain for backwards compatibility; each legacy entry also includesparticipant_rolewhen event roles are configured. Contact profile fields (photo_url,company_name,title,address_country, etc.) are hydrated from the contact record in the event's default language without requiring expand.Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
session_participant_idstring<uuid>Primary key of the
Session_Participantsrow.acceptance_statusstringThe participant's answer to their acceptance invitation. Present only when the event has Participant Acceptance turned on (
features.speaker_acceptance).- Allowed values
"pending", "accepted", "declined", "not_accepted"
acceptance_invite_sent_atstring<date-time> | nullWhen the acceptance invitation for this role was last sent, or
nullif it has not been sent. Present only when the event has Participant Acceptance turned on.
sponsorsSessionSponsor[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegernamestringdescriptionstringlogo_image_urlstringbanner_image_urlstringphonestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_coutnrystringfacebook_urlstringinstagram_urlstringlinkedin_urlstringsnapchat_usernamestringtiktok_usernamestringtwitter_urlstringwebsite_urlstringcreated_atstringupdated_atstringcustom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
translated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
contactsAccountContact[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegerfull_namestringfirst_namestringlast_namestringemailstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringis_primarybooleancontact_created_atstringcontact_updated_atstringrelationship_created_atstringrelationship_updated_atstring
exhibitorsSessionExhibitor[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegernamestringdescriptionstringlogo_image_urlstringbanner_image_urlstringphonestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_coutnrystringfacebook_urlstringinstagram_urlstringlinkedin_urlstringsnapchat_usernamestringtiktok_usernamestringtwitter_urlstringwebsite_urlstringcreated_atstringupdated_atstringcustom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
translated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
contactsAccountContact[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegerfull_namestringfirst_namestringlast_namestringemailstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringis_primarybooleancontact_created_atstringcontact_updated_atstringrelationship_created_atstringrelationship_updated_atstring
contentContent[]Show child attributes
idstring<uuid>urlstring<uri> | nullDownload URL.
nullwhile Approvals holds the file back (seeapproval_status), so nothing built on the API can publish it early.titlestringfilenamestringsizeintegermimetypestringtypestring | nullOrganizer-facing file type, e.g.
presentation,handout,poster, orholding_slidefor slides generated by Sessionboard. Filterable with?type=on the list endpoint.- Example
"holding_slide"
labelstring | nullDisplay label shown on the session's Files tab, e.g.
Holding Slide.- Example
"Holding Slide"
created_atstring<date-time>updated_atstring<date-time>assigned_participant_idstring<uuid> | nullContact UUID of the session participant this file is assigned to.
assigned_participant_emailstring<email> | nullassigned_participant_namestring | nullcontent_slot_idstring<uuid> | nullThe upload slot this file answers — see
GET /v1/event/{eventId}/content-slots. Present only while the event uses upload slots;nullfor events on a single file request, and for files uploaded before slots existed or outside any slot.approval_statusstringApproval state, returned by the Session Files endpoints.
not_required: not under an approval workflow (no workflow, workflow off, or uploaded before it was turned on).pending: waiting on a reviewer.approved: approved and released.denied: sent back to the uploader for changes.superseded: a newer version replaced it before it was decided.embargoed: approved (or not required) but held until a release time; seeembargo_until.
Only
approvedandnot_requiredfiles have aurl.- Allowed values
"not_required", "pending", "approved", "denied", "superseded", "embargoed"- Example
"approved"
embargo_untilstring<date-time> | nullWhen an
embargoedfile is released (UTC).nullwhen it is not embargoed, or when it waits for its session to be scheduled (release "when each file's session starts").
tagsTag[]Show child attributes
idstring<uuid>typestring- Allowed values
"tag"
namestringcolorstring | nullorderinteger | nullcreated_atstringupdated_atstring
languageobjectAssigned session language. Includes
id,event_id,name,order,created_at, andupdated_atwhen set. Unassigned values are an empty object{}onPOSTsession search responses andnullon CRUD proxy responses (GETlist, create, update, restore).Show child attributes
idstring<uuid>event_idintegernamestringorderintegercreated_atstringupdated_atstring
trackobjectAssigned session track. Includes
id,event_id,name,color,order,created_at, andupdated_atwhen set. Unassigned values are{}onPOSTsession search andnullon CRUD proxy responses.Show child attributes
idstring<uuid>event_idintegernamestringcolorstringorderintegercreated_atstringupdated_atstring
levelobjectAssigned session level. Includes
id,name,order,created_at, andupdated_atwhen set (noevent_idon nested objects). Unassigned values are{}onPOSTsession search andnullon CRUD proxy responses.Show child attributes
idstring<uuid>namestringorderintegercreated_atstringupdated_atstring
formatobjectAssigned session format. Nested session objects include only
idandname(not the full standaloneFormatschema).Show child attributes
idstringnamestring
roomobjectAssigned room when
locationisroom. Includesid,name,order,capacity,created_at, andupdated_atwhen set. Omitted when location isexternalor unset ({}onPOSTsearch,nullon CRUD proxy).event_idis not included on nested room objects.Show child attributes
idstring<uuid>namestringorderintegercapacityinteger | nullMaximum room capacity. Returned on nested session
roomobjects and standalone room list/search endpoints.created_atstringupdated_atstring
subsessionsSubsession | SubsessionDetailed[]Subsessions of this parent session. Each item defaults to the minimal
Subsessionshape; passexpand=subsession_detailsto receive the fullSubsessionDetailedshape on every subsession in the array. Composition fields (is_abstract,composition_status, optionalcomposition) are inherited from the parent session.Items are returned in the order set by the event admin (
subsession_order), falling back to subsession number and then start time for subsessions that have never been reordered.Option 1 (Subsession)
A subsession nested within a parent session. This is the default minimal shape returned inside
parent.subsessions[]when thesubsession_detailsexpand value is not requested.To receive the full parent-shape parity (
status,custom_status,custom_fields,chairpersons,moderators,sponsors,exhibitors,tags,language,track,level,room, etc.), passexpand=subsession_detailson the GET or POST search request. See theSubsessionDetailedschema.is_abstract,composition_status, and optionalcomposition(whenexpand=composition) are inherited from the parent session.Alternatively, call
GET /v1/event/{eventId}/sessions/{sessionId}with the subsession's UUID directly — the endpoint always returns the full session shape at the top level.idstring<uuid>friendly_idstringHuman-readable id formatted as
<event-prefix>-<parent-friendly-id>-<subsession-number>(or<event-prefix>-<subsession-friendly-id>when the event hasshow_subsession_friendly_idenabled).friendly_id_rawintegerUnderlying numeric friendly id (the suffix of
friendly_id).parent_session_friendly_idstringHuman-readable friendly id of the parent session, e.g.
SESS-3370.parent_session_friendly_id_rawintegerNumeric friendly id of the parent session.
subsession_orderinteger | nullAdmin-defined position among the parent session's subsessions; subsessions are returned in this order, falling back to subsession number and start time.
nullwhen the parent's subsessions have never been reordered.titlestringdescriptionstringstarts_atstring<date-time>ends_atstring<date-time>created_atstring<date-time>updated_atstring<date-time>translated_fieldsobject[]Present only when
expand=translated_fieldsis set and the event has language variants configured.speakersSessionSpeaker[]Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
participantsSessionParticipant[]Sessions 2.0 participants for this subsession (see
Session.participants).Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
session_participant_idstring<uuid>Primary key of the
Session_Participantsrow.acceptance_statusstringThe participant's answer to their acceptance invitation. Present only when the event has Participant Acceptance turned on (
features.speaker_acceptance).- Allowed values
"pending", "accepted", "declined", "not_accepted"
acceptance_invite_sent_atstring<date-time> | nullWhen the acceptance invitation for this role was last sent, or
nullif it has not been sent. Present only when the event has Participant Acceptance turned on.
is_abstractbooleanInherited from the parent session.
composition_statusCompositionStatusSummary of how this session participates in a composition (merge or link). Always present on session responses.
Show child attributes
rolestringstandalone— normal editable recordtarget— composite parent with one or more linked sourcessource— linked into another record (still editable)
- Allowed values
"standalone", "target", "source"
is_linkedbooleanis_read_onlybooleanAlways
false. Linked sources stay editable; the key is kept for compatibility.- Allowed values
false
source_countintegerNumber of records merged or linked into this session.
targetobject | nullPresent when
roleissource.Show child attributes
idstring<uuid>friendly_idstringtitlestringis_abstractboolean
formatobjectShow child attributes
idstringnamestring
contentContent[]Show child attributes
idstring<uuid>urlstring<uri> | nullDownload URL.
nullwhile Approvals holds the file back (seeapproval_status), so nothing built on the API can publish it early.titlestringfilenamestringsizeintegermimetypestringtypestring | nullOrganizer-facing file type, e.g.
presentation,handout,poster, orholding_slidefor slides generated by Sessionboard. Filterable with?type=on the list endpoint.- Example
"holding_slide"
labelstring | nullDisplay label shown on the session's Files tab, e.g.
Holding Slide.- Example
"Holding Slide"
created_atstring<date-time>updated_atstring<date-time>assigned_participant_idstring<uuid> | nullContact UUID of the session participant this file is assigned to.
assigned_participant_emailstring<email> | nullassigned_participant_namestring | nullcontent_slot_idstring<uuid> | nullThe upload slot this file answers — see
GET /v1/event/{eventId}/content-slots. Present only while the event uses upload slots;nullfor events on a single file request, and for files uploaded before slots existed or outside any slot.approval_statusstringApproval state, returned by the Session Files endpoints.
not_required: not under an approval workflow (no workflow, workflow off, or uploaded before it was turned on).pending: waiting on a reviewer.approved: approved and released.denied: sent back to the uploader for changes.superseded: a newer version replaced it before it was decided.embargoed: approved (or not required) but held until a release time; seeembargo_until.
Only
approvedandnot_requiredfiles have aurl.- Allowed values
"not_required", "pending", "approved", "denied", "superseded", "embargoed"- Example
"approved"
embargo_untilstring<date-time> | nullWhen an
embargoedfile is released (UTC).nullwhen it is not embargoed, or when it waits for its session to be scheduled (release "when each file's session starts").
Option 2 (SubsessionDetailed)
Full-parity subsession returned inside
parent.subsessions[]when thesubsession_detailsexpand value is set on the request. The shape mirrorsSession(minus the recursivesubsessionsproperty, since subsessions cannot be nested) and adds the parent-friendly-id fields so callers can iterate the array and then callGET /v1/event/{eventId}/sessions/{sessionId}with each subsession id for the same shape at the top level.is_abstract,composition_status, and optionalcomposition(whenexpand=composition) are inherited from the parent session.idstring<uuid>friendly_idstringfriendly_id_rawintegerparent_session_friendly_idstringparent_session_friendly_id_rawintegersubsession_orderinteger | nullAdmin-defined position among the parent session's subsessions; subsessions are returned in this order, falling back to subsession number and start time.
nullwhen the parent's subsessions have never been reordered.titlestringdescriptionstringstatusstringcustom_status_idstring<uuid> | nullcustom_statusSessionCustomStatusA custom session status definition configured for an event.
Show child attributes
idstringnamestringstatusstringApproval state this custom label maps onto. Stored NOT NULL, so it is always present on a status created through this API.
- Allowed values
"pending", "accepted", "declined", "accept_queue", "decline_queue"
status_namestring | nullcolorstringorderintegeris_custombooleancreated_atstring | nullcreated_by_user_idinteger | nullcreated_by_user_namestring | null
starts_atstring<date-time>ends_atstring<date-time>is_publicbooleanis_abstractbooleanInherited from the parent session.
composition_statusCompositionStatusSummary of how this session participates in a composition (merge or link). Always present on session responses.
Show child attributes
rolestringstandalone— normal editable recordtarget— composite parent with one or more linked sourcessource— linked into another record (still editable)
- Allowed values
"standalone", "target", "source"
is_linkedbooleanis_read_onlybooleanAlways
false. Linked sources stay editable; the key is kept for compatibility.- Allowed values
false
source_countintegerNumber of records merged or linked into this session.
targetobject | nullPresent when
roleissource.Show child attributes
idstring<uuid>friendly_idstringtitlestringis_abstractboolean
external_urlstring | nullclient_session_idstring | nullceu_creditsnumber | nullcapacityinteger | nulltranslated_fieldsobject[]Present only when
expand=translated_fieldsis set and the event has language variants configured.created_atstring<date-time>updated_atstring<date-time>custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
speakersSessionSpeaker[]Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
chairpersonsSessionSpeaker[]Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
moderatorsSessionSpeaker[]Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
participantsSessionParticipant[]Sessions 2.0 participants for this subsession (see
Session.participants).Show child attributes
idstringparticipant_roleParticipantRoleThe event's configured program role for this participant (Sessions 2.0).
nameandslugreflect the configuredSession_Rolesrecord (for example Author, Panelist).core_roleis the legacy junction category mapping only (speaker,chairperson,moderator) and must not be used as the display role label. Present on legacyspeakers,chairpersons, andmoderatorsentries when the event hasSession_Rolesconfigured.Show child attributes
idstring<uuid>Session_Roles.id
slugstringStable programmatic identifier for the role within the event.
namestringDisplay name (singular).
name_pluralstringDisplay name (plural).
core_rolestringLegacy junction category this role maps to for integrations.
- Allowed values
"speaker", "chairperson", "moderator"
session_affiliationSessionAffiliationThe person's company and job title for this session only, set by an organizer on the session's participant list. A
nullvalue means this session uses the contact's owncompany_name/title, so the value to display issession_affiliation.company ?? company_nameandsession_affiliation.job_title ?? title. Both keys are always present.Show child attributes
companystring | nullrequiredCompany for this session, or
nullto use the contact's.job_titlestring | nullrequiredJob title for this session, or
nullto use the contact's.
friendly_idstringfull_namestringfirst_namestringlast_namestringemailstringcreated_atstringupdated_atstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringphone_homestringphone_mobilestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_countrystringwebsite_urlstringlinkedin_urlstringtwitter_urlstringfacebook_urlstringinstagram_urlstringsnapchat_usernamestringtiktok_usernamestringtranslated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
session_participant_idstring<uuid>Primary key of the
Session_Participantsrow.acceptance_statusstringThe participant's answer to their acceptance invitation. Present only when the event has Participant Acceptance turned on (
features.speaker_acceptance).- Allowed values
"pending", "accepted", "declined", "not_accepted"
acceptance_invite_sent_atstring<date-time> | nullWhen the acceptance invitation for this role was last sent, or
nullif it has not been sent. Present only when the event has Participant Acceptance turned on.
sponsorsSponsor[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegernamestringdescriptionstringlogo_image_urlstringbanner_image_urlstringphonestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_coutnrystringCountry (note: field name contains a known typo preserved for backwards compatibility).
facebook_urlstringinstagram_urlstringlinkedin_urlstringsnapchat_usernamestringtiktok_usernamestringtwitter_urlstringwebsite_urlstringcreated_atstringupdated_atstring<date-time>When the sponsor last changed, from any source, including Public API creates, updates and bulk writes. Send it back as
updated_aton an update for optimistic concurrency; the write returns the new value.custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
translated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
contactsAccountContact[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegerfull_namestringfirst_namestringlast_namestringemailstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringis_primarybooleancontact_created_atstringcontact_updated_atstringrelationship_created_atstringrelationship_updated_atstring
admin_urlstring<uri> | nullDeep link to this entity in the Sessionboard admin UI.
exhibitorsExhibitor[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegernamestringdescriptionstringlogo_image_urlstringbanner_image_urlstringphonestringaddress_line_1stringaddress_line_2stringaddress_citystringaddress_statestringaddress_postal_codestringaddress_coutnrystringCountry (note: field name contains a known typo preserved for backwards compatibility).
facebook_urlstringinstagram_urlstringlinkedin_urlstringsnapchat_usernamestringtiktok_usernamestringtwitter_urlstringwebsite_urlstringcreated_atstringupdated_atstring<date-time>When the exhibitor last changed, from any source, including Public API creates, updates and bulk writes. Send it back as
updated_aton an update for optimistic concurrency; the write returns the new value.custom_fieldsCustomFieldValue[]Show child attributes
idstringnamestringvaluestring | boolean | nullThe formatted field value, or
nullwhen the field is empty. Numeric field types (number,currency,percent,quantity,formula) serialize a stored zero as its formatted value (for example"0") —nullmeans the field has no value, not that the value is zero.checkboxfields serialize as the strings"Yes"(checked) and"No"(explicitly unchecked); a checkbox that was never set isnull. Writes take booleantrue/false.datetimefields serialize as ISO 8601. On event custom fields (GET /v1/events?expand=custom_fields) the value is event-local time with the event's UTC offset (for example2026-08-15T09:00:00-03:00), falling back to the raw UTC instant (2026-08-15T12:00:00.000Z) when the event has no valid timezone. On session, speaker, sponsor, and exhibitor custom fields the value is the raw UTC instant.date(date-only) fields serialize asM-DD-YYYY: month without a leading zero, day with one, four-digit year (for example9-22-2026for 22 September 2026,3-04-2026for 4 March 2026). This is not ISO 8601; parse it with that exact pattern.typestringinternal_namestringcreated_atstring
translated_fieldsTranslatedField[]Show child attributes
idstringnamestringtypestringparent_field_idstringparent_field_sourcestringparent_field_namestringparent_field_internal_namestringtranslated_languagestringvaluestring
contactsAccountContact[]Show child attributes
idstringfriendly_idstringfriendly_id_rawintegerfull_namestringfirst_namestringlast_namestringemailstringphoto_urlstringURL of the contact's headshot. Images larger than 2 MB are delivered resized from this URL, scaled to fit within 2400 x 2400 pixels (a PNG may arrive as WebP for clients that accept it). The uploaded file is stored unchanged; for full-resolution originals use the bulk download tools in Sessionboard, such as Download Headshots (Contacts, More menu).
company_namestringtitlestringaboutstringis_primarybooleancontact_created_atstringcontact_updated_atstringrelationship_created_atstringrelationship_updated_atstring
admin_urlstring<uri> | nullDeep link to this entity in the Sessionboard admin UI.
contentContent[]Show child attributes
idstring<uuid>urlstring<uri> | nullDownload URL.
nullwhile Approvals holds the file back (seeapproval_status), so nothing built on the API can publish it early.titlestringfilenamestringsizeintegermimetypestringtypestring | nullOrganizer-facing file type, e.g.
presentation,handout,poster, orholding_slidefor slides generated by Sessionboard. Filterable with?type=on the list endpoint.- Example
"holding_slide"
labelstring | nullDisplay label shown on the session's Files tab, e.g.
Holding Slide.- Example
"Holding Slide"
created_atstring<date-time>updated_atstring<date-time>assigned_participant_idstring<uuid> | nullContact UUID of the session participant this file is assigned to.
assigned_participant_emailstring<email> | nullassigned_participant_namestring | nullcontent_slot_idstring<uuid> | nullThe upload slot this file answers — see
GET /v1/event/{eventId}/content-slots. Present only while the event uses upload slots;nullfor events on a single file request, and for files uploaded before slots existed or outside any slot.approval_statusstringApproval state, returned by the Session Files endpoints.
not_required: not under an approval workflow (no workflow, workflow off, or uploaded before it was turned on).pending: waiting on a reviewer.approved: approved and released.denied: sent back to the uploader for changes.superseded: a newer version replaced it before it was decided.embargoed: approved (or not required) but held until a release time; seeembargo_until.
Only
approvedandnot_requiredfiles have aurl.- Allowed values
"not_required", "pending", "approved", "denied", "superseded", "embargoed"- Example
"approved"
embargo_untilstring<date-time> | nullWhen an
embargoedfile is released (UTC).nullwhen it is not embargoed, or when it waits for its session to be scheduled (release "when each file's session starts").
tagsTag[]Show child attributes
idstring<uuid>typestring- Allowed values
"tag"
namestringcolorstring | nullorderinteger | nullcreated_atstringupdated_atstring
languageobjectSame shape as
Session.languagewhen assigned;{}when unassigned.Show child attributes
idstring<uuid>event_idintegernamestringorderintegercreated_atstringupdated_atstring
trackobjectSame shape as
Session.trackwhen assigned;{}when unassigned.Show child attributes
idstring<uuid>event_idintegernamestringcolorstringorderintegercreated_atstringupdated_atstring
levelobjectSame shape as
Session.levelwhen assigned;{}when unassigned.Show child attributes
idstring<uuid>namestringorderintegercreated_atstringupdated_atstring
formatobjectNested format includes only
idandname.Show child attributes
idstringnamestring
roomobjectSame shape as
Session.roomwhenlocationisroom;{}when location is external or unset.Show child attributes
idstring<uuid>namestringorderintegercapacityinteger | nullMaximum room capacity. Returned on nested session
roomobjects and standalone room list/search endpoints.created_atstringupdated_atstring
sourcestring
admin_urlstring<uri> | nullDeep link to this entity in the Sessionboard admin UI.
paginationPaginationPagination metadata returned with POST search responses. The event-settings GET lists return the same numbers under snake_case keys — see
ListPagination.Show child attributes
currentPageintegerpageSizeintegertotalPagesintegertotalResultsinteger
401
Unauthorized
404
Event not found
Response examples
{ "results": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "friendly_id": "SESS-8", "friendly_id_raw": 8, "title": "Networking", "description": "<p>Networking session description</p>", "status": "accepted", "starts_at": "2024-03-15T09:00:00Z", "ends_at": "2024-03-15T10:00:00Z", "is_public": true, "created_at": "2024-01-10T14:30:00Z", "updated_at": "2024-03-01T09:15:00Z", "ceu_credits": 1.5, "capacity": 200, "language": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "event_id": 42, "name": "English", "order": 0, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }, "track": { "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "event_id": 42, "name": "Artificial Intelligence & ML", "color": "#329af0", "order": 1, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }, "level": { "id": "c3d4e5f6-a7b8-9012-cdef-123456789012", "name": "Beginner", "order": 2, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }, "format": { "id": "d4e5f6a7-b8c9-0123-def0-234567890123", "name": "Session" }, "room": { "id": "e5f6a7b8-c9d0-1234-ef01-345678901234", "name": "Workshop Room 1", "order": 3, "capacity": 120, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }, "tags": [], "speakers": [], "content": [], "custom_fields": [], "admin_url": "https://app.sessionboard.com/event/42/sessions/497f6eca-6276-4993-bfeb-53cbbbba6f08" } ], "pagination": { "currentPage": 1, "pageSize": 25, "totalPages": 4, "totalResults": 97 }}