Create a session
US Region: https://public-api.sessionboard.com · EU Region: https://public-api-eu.sessionboard.com
Create a new session in an event. Requires the write:sessions scope. Subject to rate limiting (100 req/15min) and daily write quota (10,000/day per token).
Request example
curl --request POST \ --url 'https://public-api.sessionboard.com/v1/event/{eventId}/sessions/create' \ --header 'x-access-token: <api-token>' \ --header 'Content-Type: application/json' \ --data '{ "title": "<string>", "description": "<string>", "starts_at": "2026-01-15T09:30:00Z", "ends_at": "2026-01-15T09:30:00Z", "capacity": 123, "room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "track_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "format_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "language_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "tag_ids": [ "3c90c3cc-0d44-4b50-8888-8dd25736052a" ], "status": "<string>", "is_public": true, "is_abstract": false, "custom_fields": {}, "translated_fields": [ { "parent_field_internal_name": "<string>", "translated_language": "<string>", "value": null } ]}'const response = await fetch('https://public-api.sessionboard.com/v1/event/{eventId}/sessions/create', { method: 'POST', headers: { "x-access-token": "<api-token>", "Content-Type": "application/json" }, body: JSON.stringify({ "title": "<string>", "description": "<string>", "starts_at": "2026-01-15T09:30:00Z", "ends_at": "2026-01-15T09:30:00Z", "capacity": 123, "room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "track_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "format_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "language_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "tag_ids": [ "3c90c3cc-0d44-4b50-8888-8dd25736052a" ], "status": "<string>", "is_public": true, "is_abstract": false, "custom_fields": {}, "translated_fields": [ { "parent_field_internal_name": "<string>", "translated_language": "<string>", "value": null } ] }),});
const data = await response.json();console.log(data);import requests
response = requests.request( "POST", "https://public-api.sessionboard.com/v1/event/{eventId}/sessions/create", headers={ "x-access-token": "<api-token>", "Content-Type": "application/json" }, json={ "title": "<string>", "description": "<string>", "starts_at": "2026-01-15T09:30:00Z", "ends_at": "2026-01-15T09:30:00Z", "capacity": 123, "room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "track_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "format_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "language_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "tag_ids": [ "3c90c3cc-0d44-4b50-8888-8dd25736052a" ], "status": "<string>", "is_public": True, "is_abstract": False, "custom_fields": {}, "translated_fields": [ { "parent_field_internal_name": "<string>", "translated_language": "<string>", "value": None } ] },)
print(response.json())<?php
$curl = curl_init();
curl_setopt_array($curl, [ CURLOPT_URL => "https://public-api.sessionboard.com/v1/event/{eventId}/sessions/create", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => '{ "title": "<string>", "description": "<string>", "starts_at": "2026-01-15T09:30:00Z", "ends_at": "2026-01-15T09:30:00Z", "capacity": 123, "room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "track_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "format_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "language_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "tag_ids": [ "3c90c3cc-0d44-4b50-8888-8dd25736052a" ], "status": "<string>", "is_public": true, "is_abstract": false, "custom_fields": {}, "translated_fields": [ { "parent_field_internal_name": "<string>", "translated_language": "<string>", "value": null } ]}', 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/create", strings.NewReader(`{ "title": "<string>", "description": "<string>", "starts_at": "2026-01-15T09:30:00Z", "ends_at": "2026-01-15T09:30:00Z", "capacity": 123, "room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "track_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "format_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "language_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "tag_ids": [ "3c90c3cc-0d44-4b50-8888-8dd25736052a" ], "status": "<string>", "is_public": true, "is_abstract": false, "custom_fields": {}, "translated_fields": [ { "parent_field_internal_name": "<string>", "translated_language": "<string>", "value": null } ]}`)) 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/create")) .header("x-access-token", "<api-token>") .header("Content-Type", "application/json") .method("POST", HttpRequest.BodyPublishers.ofString("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"starts_at\": \"2026-01-15T09:30:00Z\",\n \"ends_at\": \"2026-01-15T09:30:00Z\",\n \"capacity\": 123,\n \"room_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"track_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"level_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"format_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"language_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"parent_session_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"tag_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"status\": \"<string>\",\n \"is_public\": true,\n \"is_abstract\": false,\n \"custom_fields\": {},\n \"translated_fields\": [\n {\n \"parent_field_internal_name\": \"<string>\",\n \"translated_language\": \"<string>\",\n \"value\": null\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.
Request body
titlestringrequiredSession title.
descriptionstringSession description (HTML allowed).
starts_atstring<date-time>Session start time.
ends_atstring<date-time>Session end time.
capacityintegerMaximum capacity for the session.
room_idstring<uuid>Room ID to assign.
track_idstring<uuid>Track ID to assign.
level_idstring<uuid>Level ID to assign.
format_idstring<uuid>Format ID to assign.
language_idstring<uuid>Language ID to assign.
parent_session_idstring<uuid>Parent session ID (for subsessions).
tag_idsstring<uuid>[]Tag IDs to assign.
statusstringSession status (e.g., pending, accepted).
is_publicbooleanWhether the session is publicly visible.
is_abstractbooleanCreate an abstract (CFP) submission instead of a program session. Requires the Sessions 2.0 feature on the event.
- Default
false
custom_fieldsobjectCustom field values keyed by field internal name.
For
number,currency, andpercentfields, an empty string ("") clears the stored value — identical to sendingnull.0and"0"store an actual zero.For
checkboxfields, send booleantrueorfalse. On read, a checked box serializes as the string"Yes", an explicitly unchecked one as"No", and a box that was never set asnull.Fields owned by an integration (for example
swoogo_session_id,cvent_session_id,visit_session_id) are hydrated by the connector and reject writes with400FIELD_READ_ONLY, naming the field indetails.field. Omit them fromcustom_fields.translated_fieldsTranslatedFieldWrite[]Language variants to write using the same shape returned on reads. Omit this key on update to leave existing translations unchanged.
Show child attributes
parent_field_internal_namestringrequiredtranslated_languagestringrequiredLocale code for the language variant (for example
frorar). Must be enabled on the event; otherwise the request fails with400.valueanyValue for that locale. Same type as the parent field.
{ "title": "<string>", "description": "<string>", "starts_at": "2026-01-15T09:30:00Z", "ends_at": "2026-01-15T09:30:00Z", "capacity": 123, "room_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "track_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "level_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "format_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "language_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a", "tag_ids": [ "3c90c3cc-0d44-4b50-8888-8dd25736052a" ], "status": "<string>", "is_public": true, "is_abstract": false, "custom_fields": {}, "translated_fields": [ { "parent_field_internal_name": "<string>", "translated_language": "<string>", "value": null } ]}Responses
200application/json
Session created
A session within an event (e.g., talk, workshop, panel, or CFP abstract submission).
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.
400
Validation error
401
Unauthorized
403
Insufficient scope or feature not enabled
429
Rate limit or daily quota exceeded
Response examples
{ "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"}