{"command":{"effect":"write","timeoutSeconds":120,"inputSchema":{"type":"object","description":"Create a thread.","properties":{"body":{"$ref":"#/definitions/CreateThreadRequest"}},"required":[],"additionalProperties":false,"definitions":{"CreateThreadRequest":{"type":"object","description":"Options to create a new thread. If no thread is provided when running a\nrequest, an empty thread will be created.\n","additionalProperties":false,"properties":{"messages":{"description":"A list of [messages](https://developers.openai.com/api/docs/assistants/migration) to start the thread with.","type":"array","items":{"$ref":"#/definitions/CreateMessageRequest"}},"tool_resources":{"anyOf":[{"type":"object","description":"A set of resources that are made available to the assistant's tools in this thread. 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.\n","properties":{"code_interpreter":{"type":"object","properties":{"file_ids":{"type":"array","description":"A list of [file](https://developers.openai.com/api/reference/resources/files) IDs made available to the `code_interpreter` tool. There can be a maximum of 20 files associated with the tool.\n","default":[],"maxItems":20,"items":{"type":"string"}}}},"file_search":{"type":"object","properties":{"vector_store_ids":{"type":"array","description":"The [vector store](https://developers.openai.com/api/reference/resources/vector_stores) attached to this thread. There can be a maximum of 1 vector store attached to the thread.\n","maxItems":1,"items":{"type":"string"}},"vector_stores":{"type":"array","description":"A helper to create a [vector store](https://developers.openai.com/api/reference/resources/vector_stores) with file_ids and attach it to this thread. There can be a maximum of 1 vector store attached to the thread.\n","maxItems":1,"items":{"type":"object","properties":{"file_ids":{"type":"array","description":"A list of [file](https://developers.openai.com/api/reference/resources/files) IDs to add to the vector store. For vector stores created before Nov 2025, there can be a maximum of 10,000 files in a vector store. For vector stores created starting in Nov 2025, the limit is 100,000,000 files.\n","maxItems":100000000,"items":{"type":"string"}},"chunking_strategy":{"type":"object","description":"The chunking strategy used to chunk the file(s). If not set, will use the `auto` strategy.","oneOf":[{"type":"object","title":"Auto Chunking Strategy","description":"The default strategy. This strategy currently uses a `max_chunk_size_tokens` of `800` and `chunk_overlap_tokens` of `400`.","additionalProperties":false,"properties":{"type":{"type":"string","description":"Always `auto`.","enum":["auto"]}},"required":["type"]},{"type":"object","title":"Static Chunking Strategy","additionalProperties":false,"properties":{"type":{"type":"string","description":"Always `static`.","enum":["static"]},"static":{"type":"object","additionalProperties":false,"properties":{"max_chunk_size_tokens":{"type":"integer","minimum":100,"maximum":4096,"description":"The maximum number of tokens in each chunk. The default value is `800`. The minimum value is `100` and the maximum value is `4096`."},"chunk_overlap_tokens":{"type":"integer","description":"The number of tokens that overlap between chunks. The default value is `400`.\n\nNote that the overlap must not exceed half of `max_chunk_size_tokens`.\n"}},"required":["max_chunk_size_tokens","chunk_overlap_tokens"]}},"required":["type","static"]}]},"metadata":{"$ref":"#/definitions/Metadata"}}}}},"oneOf":[{"required":["vector_store_ids"]},{"required":["vector_stores"]}]}}},{"type":"null"}]},"metadata":{"$ref":"#/definitions/Metadata"}}},"CreateMessageRequest":{"type":"object","additionalProperties":false,"required":["role","content"],"properties":{"role":{"type":"string","enum":["user","assistant"],"description":"The role of the entity that is creating the message. Allowed values include:\n- `user`: Indicates the message is sent by an actual user and should be used in most cases to represent user-generated messages.\n- `assistant`: Indicates the message is generated by the assistant. Use this value to insert messages from the assistant into the conversation.\n"},"content":{"oneOf":[{"type":"string","description":"The text contents of the message.","title":"Text content"},{"type":"array","description":"An array of content parts with a defined type, each can be of type `text` or images can be passed with `image_url` or `image_file`. Image types are only supported on [Vision-compatible models](https://developers.openai.com/api/docs/models).","title":"Array of content parts","items":{"oneOf":[{"$ref":"#/definitions/MessageContentImageFileObject"},{"$ref":"#/definitions/MessageContentImageUrlObject"},{"$ref":"#/definitions/MessageRequestContentTextObject"}]},"minItems":1}]},"attachments":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"file_id":{"type":"string","description":"The ID of the file to attach to the message."},"tools":{"description":"The tools to add this file to.","type":"array","items":{"oneOf":[{"$ref":"#/definitions/AssistantToolsCode"},{"$ref":"#/definitions/AssistantToolsFileSearchTypeOnly"}]}}}},"description":"A list of files attached to the message, and the tools they should be added to.","required":["file_id","tools"]},{"type":"null"}]},"metadata":{"$ref":"#/definitions/Metadata"}}},"Metadata":{"anyOf":[{"type":"object","description":"Set of 16 key-value pairs that can be attached to an object. This can be\nuseful for storing additional information about the object in a structured\nformat, and querying for objects via API or the dashboard.\n\nKeys are strings with a maximum length of 64 characters. Values are strings\nwith a maximum length of 512 characters.\n","additionalProperties":{"type":"string"}},{"type":"null"}]},"MessageContentImageFileObject":{"title":"Image file","type":"object","description":"References an image [File](https://developers.openai.com/api/reference/resources/files) in the content of a message.","properties":{"type":{"description":"Always `image_file`.","type":"string","enum":["image_file"]},"image_file":{"type":"object","properties":{"file_id":{"description":"The [File](https://developers.openai.com/api/reference/resources/files) ID of the image in the message content. Set `purpose=\"vision\"` when uploading the File if you need to later display the file content.","type":"string"},"detail":{"type":"string","description":"Specifies the detail level of the image if specified by the user. `low` uses fewer tokens, you can opt in to high resolution using `high`.","enum":["auto","low","high"],"default":"auto"}},"required":["file_id"]}},"required":["type","image_file"]},"MessageContentImageUrlObject":{"title":"Image URL","type":"object","description":"References an image URL in the content of a message.","properties":{"type":{"type":"string","enum":["image_url"],"description":"The type of the content part."},"image_url":{"type":"object","properties":{"url":{"type":"string","description":"The external URL of the image, must be a supported image types: jpeg, jpg, png, gif, webp.","format":"uri"},"detail":{"type":"string","description":"Specifies the detail level of the image. `low` uses fewer tokens, you can opt in to high resolution using `high`. Default value is `auto`","enum":["auto","low","high"],"default":"auto"}},"required":["url"]}},"required":["type","image_url"]},"MessageRequestContentTextObject":{"title":"Text","type":"object","description":"The text content that is part of a message.","properties":{"type":{"description":"Always `text`.","type":"string","enum":["text"]},"text":{"type":"string","description":"Text content to be sent to the model"}},"required":["type","text"]},"AssistantToolsCode":{"type":"object","title":"Code interpreter tool","properties":{"type":{"type":"string","description":"The type of tool being defined: `code_interpreter`","enum":["code_interpreter"]}},"required":["type"]},"AssistantToolsFileSearchTypeOnly":{"type":"object","title":"FileSearch tool","properties":{"type":{"type":"string","description":"The type of tool being defined: `file_search`","enum":["file_search"]}},"required":["type"]}}},"name":"Create thread","id":"openai.createthread","example":{},"maxRequests":1,"summary":false}}