# tinker.types.SessionSearchRequest ## *class* [**tinker.types.SessionSearchRequest**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L11)(*[StrictBase](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/_models.py#L76)*) A session search. Results are restricted to projects the caller may list. **Fields:** - [**session_id**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L14) (*str | None*) – Exact session ID to match; None searches every session. With `display_name`, a session matching either one matches - [**project_ids**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L18) (*[list](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/cli/commands/run.py#L221)[str] | None*) – Projects to search; None searches every listable project. Naming a project the caller cannot list is an error - [**user_metadata**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L22) (*dict[str, str]*) – Exact user_metadata key/value matches; every pair must hold - [**display_name**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L25) (*str | None*) – Case-insensitive substring match on the display name; with several words, each must appear somewhere in the name. With `session_id`, a session matching either one matches - [**owner**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L30) (*[SearchOwner](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/search_owner.py#L32)*) – Whose sessions to search; defaults to the caller's own - [**statuses**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L33) (*[list](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/cli/commands/run.py#L221)\[[SessionStatusQuery](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_status_query.py#L47)\] | None*) – Match any listed status; None matches every status - [**limit**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L36) (*int*) – Page size, 1 to 200 - [**cursor**](https://github.com/thinking-machines-lab/tinker/blob/main/src/tinker/types/session_search_request.py#L39) (*[SessionSearchCursor](https://tinker-docs.thinkingmachines.ai/tinker/api-reference/types/sessionsearchcursor/index.md) | None*) – `next_cursor` of the previous page; None for the first page ## Referenced by - [RestClient.search_sessions](https://tinker-docs.thinkingmachines.ai/tinker/api-reference/restclient/#search_sessions)