List sessions (CRUD proxy)
US Region: https://public-api.sessionboard.com · EU Region: https://public-api-eu.sessionboard.com
Paginated list of top-level sessions via the CRUD proxy. Returns nested
language, track, level, format, and room metadata using the same
field sets documented on the Session schema (null when unassigned).
Also includes is_abstract and composition_status.
Query params: is_abstract (true/false), expand=linked_sources,
expand=composition, plus standard pagination and filters.
Session categorization filters use snake_case query params on this
endpoint: track_id/track_ids, tag_id/tag_ids,
level_id/level_ids, format_id/format_ids,
language_id/language_ids. Plural params take comma-separated UUIDs
(OR within a filter; separate filters combine with AND).
Every value passed to these filters must be a UUID. A non-UUID value
returns 400 with error code VALIDATION_ERROR and a message naming
the offending parameter, for example
track_id must be a UUID (received "nope").
Request example
curl --request GET \ --url 'https://public-api.sessionboard.com/v1/event/{eventId}/sessions' \ --header 'x-access-token: <api-token>'const response = await fetch('https://public-api.sessionboard.com/v1/event/{eventId}/sessions', { method: 'GET', headers: { "x-access-token": "<api-token>" },});
const data = await response.json();console.log(data);import requests
response = requests.request( "GET", "https://public-api.sessionboard.com/v1/event/{eventId}/sessions", headers={ "x-access-token": "<api-token>" },)
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 => "GET", CURLOPT_HTTPHEADER => [ "x-access-token: <api-token>", ],]);
$response = curl_exec($curl);curl_close($curl);
echo $response;package main
import ( "fmt" "io" "net/http")
func main() { req, _ := http.NewRequest("GET", "https://public-api.sessionboard.com/v1/event/{eventId}/sessions", nil) req.Header.Add("x-access-token", "<api-token>")
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>") .method("GET", HttpRequest.BodyPublishers.noBody()) .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
page_sizeintegerquery- Default
25- Minimum
1- Maximum
100
is_abstractbooleanqueryFilter to abstract submissions or program sessions.
expandstring[]queryExpand records with additional data.
Possible values:
translated_fields— includes thetranslated_fieldsarray on records when the event has language variants configured.subsession_details— applies to session responses. Each subsession insideparent.subsessions[]is returned with full parent-session field parity (status,custom_status,custom_fields,chairpersons,moderators,sponsors,exhibitors,tags,language,track,level,room,is_public,external_url,client_session_id,ceu_credits,capacity,source) instead of the default minimal shape. Subsessions inheritis_abstract,composition_status, and optionalcompositionfrom the parent. Not required when callingGET /v1/event/{eventId}/sessions/{sessionId}with a subsession UUID — that endpoint always returns the full shape at the top level.linked_sources— include sessions that are linked as composition sources (excluded from list/search results by default).composition— attach a fullcompositionobject with target and source details on each returned session. Recommended for single-session GET; use cautiously on broad searches.
A single value can be passed directly, and multiple values repeat the parameter — all of these are accepted:
?expand=composition?expand=translated_fields&expand=composition?expand[]=translated_fields&expand[]=composition
- Allowed values
"translated_fields", "subsession_details", "linked_sources", "composition"
statusstringquerytrack_idstring<uuid>queryFilter by a single track UUID.
track_idsstringqueryComma-separated track UUIDs (OR). Repeat
track_idfor the same effect.level_idstring<uuid>querylevel_idsstringqueryComma-separated level UUIDs (OR).
format_idstring<uuid>queryformat_idsstringqueryComma-separated format UUIDs (OR).
language_idstring<uuid>querylanguage_idsstringqueryComma-separated language UUIDs (OR).
tag_idstring<uuid>querytag_idsstringqueryComma-separated tag UUIDs (OR).
searchstringquery
Responses
200application/json
OK
dataSession[]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.
paginationobjectShow child attributes
current_pageintegerpage_sizeintegertotal_pagesintegertotal_resultsinteger
400application/json
A categorization filter param (track_id/track_ids,
level_id/level_ids, format_id/format_ids,
language_id/language_ids, tag_id/tag_ids) carried a
non-UUID value. The message names the offending parameter.
errorstringmessagestring
401
Unauthorized
Response examples
{ "data": [ { "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": { "current_page": 123, "page_size": 123, "total_pages": 123, "total_results": 123 }}{ "error": "VALIDATION_ERROR", "message": "track_id must be a UUID (received \"nope\")"}