---
title: "Returns a list of assistants."
method: GET
path: "/assistants"
tags: ["Assistants"]
---

# Returns a list of assistants.

`GET /assistants`

## Query parameters

- `limit` integer
- `order` 'asc' | 'desc'
- `after` string
- `before` string

## Response `200`

OK

- ListAssistantsResponse
  - `object` string, required
  - `data` AssistantObject[], required
    - `id` string, required — The identifier, which can be referenced in API endpoints.
    - `object` 'assistant', required — The object type, which is always `assistant`.
    - `created_at` integer, required — The Unix timestamp (in seconds) for when the assistant was created.
    - `name` string, nullable, required — The name of the assistant. The maximum length is 256 characters.
    - `description` string, nullable, required — The description of the assistant. The maximum length is 512 characters.
    - `model` string, required — ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them.
    - `instructions` string, nullable, required — The system instructions that the assistant uses. The maximum length is 256,000 characters.
    - `tools` union[], required — A list of tool enabled on the assistant. There can be a maximum of 128 tools per assistant. Tools can be of types `code_interpreter`, `file_search`, or `function`.
      - union
        - object
          - `type` 'code_interpreter', required — The type of tool being defined: `code_interpreter`
        - object
          - `type` 'file_search', required — The type of tool being defined: `file_search`
          - `file_search` object — Overrides for the file search tool.
            - `max_num_results` integer — The maximum number of results the file search tool should output. The default is 20 for `gpt-4*` models and 5 for `gpt-3.5-turbo`. This number should be between 1 and 50 inclusive. Note that the file search tool may output fewer than `max_num_results` results. See the [file search tool documentation](/docs/assistants/tools/file-search/customizing-file-search-settings) for more information.
            - `ranking_options` FileSearchRankingOptions — The ranking options for the file search. If not specified, the file search tool will use the `auto` ranker and a score_threshold of 0. See the [file search tool documentation](/docs/assistants/tools/file-search/customizing-file-search-settings) for more information.
              - …
        - object
          - `type` 'function', required — The type of tool being defined: `function`
          - `function` FunctionObject, required
            - `description` string — A description of what the function does, used by the model to choose when and how to call the function.
            - `name` string, required — The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
            - `parameters` FunctionParameters — The parameters the functions accepts, described as a JSON Schema object. See the [guide](/docs/guides/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.
            - `strict` boolean, nullable — Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs/guides/function-calling).
    - `tool_resources` object, nullable — A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs.
      - `code_interpreter` object
        - `file_ids` string[] — A list of [file](/docs/api-reference/files) IDs made available to the `code_interpreter`` tool. There can be a maximum of 20 files associated with the tool.
      - `file_search` object
        - `vector_store_ids` string[] — The ID of the [vector store](/docs/api-reference/vector-stores/object) attached to this assistant. There can be a maximum of 1 vector store attached to the assistant.
    - `metadata` object, nullable, required — Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format. Keys can be a maximum of 64 characters long and values can be a maximum of 512 characters long.
    - `temperature` number, nullable — What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
    - `top_p` number, nullable — An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both.
    - `response_format` union — Specifies the format that the model must output. Compatible with [GPT-4o](/docs/models/gpt-4o), [GPT-4 Turbo](/docs/models/gpt-4-turbo-and-gpt-4), and all GPT-3.5 Turbo models since `gpt-3.5-turbo-1106`. Setting to `{ "type": "json_schema", "json_schema": {...} }` enables Structured Outputs which ensures the model will match your supplied JSON schema. Learn more in the [Structured Outputs guide](/docs/guides/structured-outputs). Setting to `{ "type": "json_object" }` enables JSON mode, which ensures the message the model generates is valid JSON. **Important:** when using JSON mode, you **must** also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also note that the message content may be partially cut off if `finish_reason="length"`, which indicates the generation exceeded `max_tokens` or the conversation exceeded the max context length.
      - 'auto' — `auto` is the default value
      - object
        - `type` 'text', required — The type of response format being defined: `text`
      - object
        - `type` 'json_object', required — The type of response format being defined: `json_object`
      - object
        - `type` 'json_schema', required — The type of response format being defined: `json_schema`
        - `json_schema` object, required
          - `description` string — A description of what the response format is for, used by the model to determine how to respond in the format.
          - `name` string, required — The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
          - `schema` ResponseFormatJsonSchemaSchema — The schema for the response format, described as a JSON Schema object.
          - `strict` boolean, nullable — Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](/docs/guides/structured-outputs).
  - `first_id` string, required
  - `last_id` string, required
  - `has_more` boolean, required

---

[API](https://skmtc.net/omnistack-sh/apis/openai-api.md) · [All operations](https://skmtc.net/omnistack-sh/apis/openai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omnistack-sh/openai-api/versions/a127ad1d97cb/schema)
