curl --request POST \
--url https://public-api.sessionboard.com/v1/event/{eventId}/sessions/status \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"filters": {
"status": "declined"
},
"sort": {
"deletedAt": {
"sort": "desc"
}
}
}
'{
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"friendly_id": "<string>",
"friendly_id_raw": 123,
"status": "<string>",
"custom_status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"custom_status": {
"id": "<string>",
"name": "<string>",
"status": "pending",
"status_name": "<string>",
"color": "<string>",
"order": 123,
"is_custom": true,
"created_at": "<string>",
"created_by_user_id": 123,
"created_by_user_name": "<string>"
},
"is_abstract": true,
"composition_status": {
"role": "standalone",
"is_linked": true,
"is_read_only": false,
"source_count": 123,
"target": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"friendly_id": "<string>",
"title": "<string>",
"is_abstract": true
}
},
"deleted_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"subsessions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"friendly_id": "<string>",
"friendly_id_raw": 123,
"parent_session_friendly_id": "<string>",
"parent_session_friendly_id_raw": 123,
"subsession_order": 123,
"status": "<string>",
"custom_status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"custom_status": {
"id": "<string>",
"name": "<string>",
"status": "pending",
"status_name": "<string>",
"color": "<string>",
"order": 123,
"is_custom": true,
"created_at": "<string>",
"created_by_user_id": 123,
"created_by_user_name": "<string>"
},
"deleted_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]
}
],
"pagination": {
"currentPage": 1,
"pageSize": 25,
"totalPages": 4,
"totalResults": 97
}
}Search sessions by status
Returns a lightweight list of session statuses, including deleted
sessions. Supports filtering by deletedAt in addition to standard
filters.
Also accepts the five session categorization filters (trackIds,
tagIds, levelIds, formatIds, languageIds). IDs within one
filter match with OR; separate filters combine with AND. The filters
are evaluated against the top-level (root) session: a subsession
row matches when its parent carries the filtered attribute, so a
matching parent and the flat rows of its subsessions array stay
consistent. Unlike other session searches, a deleted root session
still satisfies a categorization filter — surfacing deleted sessions
is this endpoint’s purpose, and filtering must not hide them.
Each categorization filter needs at least one ID. An empty array is
rejected with a 400 naming the field — to apply no filter at all, omit
the property rather than sending [].
Parent rows additionally include a subsessions array with the same
minimal status-focused shape for each child subsession
(SubsessionStatus). Subsession rows that appear in the flat
results continue to surface with their own row (for back-compat) and
carry an empty subsessions array.
curl --request POST \
--url https://public-api.sessionboard.com/v1/event/{eventId}/sessions/status \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"filters": {
"status": "declined"
},
"sort": {
"deletedAt": {
"sort": "desc"
}
}
}
'{
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"friendly_id": "<string>",
"friendly_id_raw": 123,
"status": "<string>",
"custom_status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"custom_status": {
"id": "<string>",
"name": "<string>",
"status": "pending",
"status_name": "<string>",
"color": "<string>",
"order": 123,
"is_custom": true,
"created_at": "<string>",
"created_by_user_id": 123,
"created_by_user_name": "<string>"
},
"is_abstract": true,
"composition_status": {
"role": "standalone",
"is_linked": true,
"is_read_only": false,
"source_count": 123,
"target": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"friendly_id": "<string>",
"title": "<string>",
"is_abstract": true
}
},
"deleted_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"subsessions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"friendly_id": "<string>",
"friendly_id_raw": 123,
"parent_session_friendly_id": "<string>",
"parent_session_friendly_id_raw": 123,
"subsession_order": 123,
"status": "<string>",
"custom_status_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"custom_status": {
"id": "<string>",
"name": "<string>",
"status": "pending",
"status_name": "<string>",
"color": "<string>",
"order": 123,
"is_custom": true,
"created_at": "<string>",
"created_by_user_id": 123,
"created_by_user_name": "<string>"
},
"deleted_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]
}
],
"pagination": {
"currentPage": 1,
"pageSize": 25,
"totalPages": 4,
"totalResults": 97
}
}Authorizations
Organization API token. Generate from Organization Settings → API Tokens.
Path Parameters
The event ID.
Query Parameters
Page number for pagination.
1 <= x <= 999Number of results per page.
The event-settings list endpoints (tags, tracks, levels, formats,
rooms, languages, statuses) also accept the older spelling
page_size, and used to accept only that — a request sending
pageSize silently got the default 25. Both now work, pageSize
wins when both are sent, and on these endpoints a value outside
1–100 is clamped rather than rejected. Everywhere else pageSize
is the only spelling.
1 <= x <= 100Body
Show child attributes
Show child attributes
Nested sort keys — the same shape as other search endpoints
({"createdAt": {"sort": "desc"}}), not a flat
{"order": "createdAt", "sort": "desc"} pair.
When sorting by deletedAt, deleted sessions sort before
never-deleted ones (whose deleted_at is null) in both
directions.
Show child attributes
Show child attributes

