# Searches for sessions using predefined parameters

Searches for sessions using predefined parameters

Endpoint: POST /sessions/{tenantId}/public/search
Version: v1-2025-04-18

## Path parameters:

  - `tenantId` (string, required)
    The id of the tenant being accessed.

## Query parameters:

  - `exclusiveStartKey` (string)
    The start key for the search, for paging support

  - `fieldsToReturn` (string)
    The fields that you want to retrieve; if omitted, the entire object is returned

## Request body:

  - `application/json` (unknown)
    The session that you would like to be saved.

## Request fields (application/json):

  - `abstract_id` (array)

  - `access` (array)

  - `end_date` (array)

  - `event_id` (string, required)

  - `has_fees` (array)

  - `ids` (array)
    IDs to search

  - `name` (string)

  - `speakers` (array)

  - `start_date` (array)

  - `track_ids` (array)

  - `type_id` (array)

## Response 200:

  - `200` (unknown)
    The session search was saved successfully.

## Response 200 fields (application/json):

  - `Items` (array)

  - `Items.abstract_id` (string)
    The abstract this session is linked to

  - `Items.access` (string)
    Who has access to this session
    Enum: "included", "optional"

  - `Items.enable_capacity` (boolean)
    If set, the session has a capacity

  - `Items.enable_registration_questions` (boolean)
    If set, a user is prompted to answer questions during registration

  - `Items.end_date` (string)

  - `Items.event_id` (string, required)
    The event

  - `Items.has_fees` (boolean)
    Whether or not this session has fees

  - `Items.id` (string)

  - `Items.location` (string)

  - `Items.name` (string, required)
    The name of the session

  - `Items.speakers` (array)

  - `Items.speakers.speaker_id` (string)

  - `Items.speakers.speaker_type_id` (string)
    The type of speaker

  - `Items.start_date` (string)

  - `Items.track_ids` (array)
    Session tracks

  - `Items.type_id` (string, required)
    The type of session

  - `LastEvaluatedKey` (string)

## Response 200 headers (application/json):

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 400:

  - `400` (unknown)
    The session you supplied was invalid.

## Response 400 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized.

## Response 401 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 403:

  - `403` (unknown)
    Forbidden.

## Response 403 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 404:

  - `404` (unknown)
    The resource could not be found

## Response 404 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 409:

  - `409` (unknown)
    The session could not be saved because it refers to/depends on a non-existent object.

## Response 409 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 429:

  - `429` (unknown)
    Limit exceeded... unable to add session based on tenant limits.

## Response 429 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 500:

  - `500` (unknown)
    General server error.

## Response 500 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

