Skip to content

Messages

List messages
Deprecated
GET/threads/{thread_id}/messages
Create message
Deprecated
POST/threads/{thread_id}/messages
Modify message
Deprecated
POST/threads/{thread_id}/messages/{message_id}
Retrieve message
Deprecated
GET/threads/{thread_id}/messages/{message_id}
Delete message
Deprecated
DELETE/threads/{thread_id}/messages/{message_id}
ModelsExpand Collapse
FileCitationAnnotation = object { end_index, file_citation, start_index, 2 more }

A citation within the message that points to a specific quote from a specific File associated with the assistant or the message. Generated when the assistant uses the "file_search" tool to search files.

end_index: number
minimum0
file_citation: object { file_id }
file_id: string

The ID of the specific File the citation is from.

start_index: number
minimum0
text: string

The text in the message content that needs to be replaced.

type: "file_citation"

Always file_citation.

FileCitationDeltaAnnotation = object { index, type, end_index, 3 more }

A citation within the message that points to a specific quote from a specific File associated with the assistant or the message. Generated when the assistant uses the "file_search" tool to search files.

index: number

The index of the annotation in the text content part.

type: "file_citation"

Always file_citation.

end_index: optional number
minimum0
file_citation: optional object { file_id, quote }
file_id: optional string

The ID of the specific File the citation is from.

quote: optional string

The specific quote in the file.

start_index: optional number
minimum0
text: optional string

The text in the message content that needs to be replaced.

FilePathAnnotation = object { end_index, file_path, start_index, 2 more }

A URL for the file that's generated when the assistant used the code_interpreter tool to generate a file.

end_index: number
minimum0
file_path: object { file_id }
file_id: string

The ID of the file that was generated.

start_index: number
minimum0
text: string

The text in the message content that needs to be replaced.

type: "file_path"

Always file_path.

FilePathDeltaAnnotation = object { index, type, end_index, 3 more }

A URL for the file that's generated when the assistant used the code_interpreter tool to generate a file.

index: number

The index of the annotation in the text content part.

type: "file_path"

Always file_path.

end_index: optional number
minimum0
file_path: optional object { file_id }
file_id: optional string

The ID of the file that was generated.

start_index: optional number
minimum0
text: optional string

The text in the message content that needs to be replaced.

ImageFile = object { file_id, detail }
file_id: string

The File ID of the image in the message content. Set purpose="vision" when uploading the File if you need to later display the file content.

detail: optional "auto" or "low" or "high"

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.

Accepts one of the following:
"auto"
"low"
"high"
ImageFileContentBlock = object { image_file, type }

References an image File in the content of a message.

image_file: ImageFile { file_id, detail }
type: "image_file"

Always image_file.

ImageFileDelta = object { detail, file_id }
detail: optional "auto" or "low" or "high"

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.

Accepts one of the following:
"auto"
"low"
"high"
file_id: optional string

The File ID of the image in the message content. Set purpose="vision" when uploading the File if you need to later display the file content.

ImageFileDeltaBlock = object { index, type, image_file }

References an image File in the content of a message.

index: number

The index of the content part in the message.

type: "image_file"

Always image_file.

image_file: optional ImageFileDelta { detail, file_id }
ImageURL = object { url, detail }
url: string

The external URL of the image, must be a supported image types: jpeg, jpg, png, gif, webp.

formaturi
detail: optional "auto" or "low" or "high"

Specifies the detail level of the image. low uses fewer tokens, you can opt in to high resolution using high. Default value is auto

Accepts one of the following:
"auto"
"low"
"high"
ImageURLContentBlock = object { image_url, type }

References an image URL in the content of a message.

image_url: ImageURL { url, detail }
type: "image_url"

The type of the content part.

ImageURLDelta = object { detail, url }
detail: optional "auto" or "low" or "high"

Specifies the detail level of the image. low uses fewer tokens, you can opt in to high resolution using high.

Accepts one of the following:
"auto"
"low"
"high"
url: optional string

The URL of the image, must be a supported image types: jpeg, jpg, png, gif, webp.

ImageURLDeltaBlock = object { index, type, image_url }

References an image URL in the content of a message.

index: number

The index of the content part in the message.

type: "image_url"

Always image_url.

image_url: optional ImageURLDelta { detail, url }
Message = object { id, assistant_id, attachments, 11 more }

Represents a message within a thread.

id: string

The identifier, which can be referenced in API endpoints.

assistant_id: string

If applicable, the ID of the assistant that authored this message.

attachments: array of object { file_id, tools }

A list of files attached to the message, and the tools they were added to.

file_id: optional string

The ID of the file to attach to the message.

tools: optional array of CodeInterpreterTool { type } or object { type }

The tools to add this file to.

Accepts one of the following:
CodeInterpreterTool = object { type }
type: "code_interpreter"

The type of tool being defined: code_interpreter

FileSearchTool = object { type }
type: "file_search"

The type of tool being defined: file_search

completed_at: number

The Unix timestamp (in seconds) for when the message was completed.

content: array of ImageFileContentBlock { image_file, type } or ImageURLContentBlock { image_url, type } or TextContentBlock { text, type } or RefusalContentBlock { refusal, type }

The content of the message in array of text and/or images.

Accepts one of the following:
ImageFileContentBlock = object { image_file, type }

References an image File in the content of a message.

image_file: ImageFile { file_id, detail }
type: "image_file"

Always image_file.

ImageURLContentBlock = object { image_url, type }

References an image URL in the content of a message.

image_url: ImageURL { url, detail }
type: "image_url"

The type of the content part.

TextContentBlock = object { text, type }

The text content that is part of a message.

text: Text { annotations, value }
type: "text"

Always text.

RefusalContentBlock = object { refusal, type }

The refusal content generated by the assistant.

refusal: string
type: "refusal"

Always refusal.

created_at: number

The Unix timestamp (in seconds) for when the message was created.

incomplete_at: number

The Unix timestamp (in seconds) for when the message was marked as incomplete.

incomplete_details: object { reason }

On an incomplete message, details about why the message is incomplete.

reason: "content_filter" or "max_tokens" or "run_cancelled" or 2 more

The reason the message is incomplete.

Accepts one of the following:
"content_filter"
"max_tokens"
"run_cancelled"
"run_expired"
"run_failed"
metadata: Metadata

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, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

object: "thread.message"

The object type, which is always thread.message.

role: "user" or "assistant"

The entity that produced the message. One of user or assistant.

Accepts one of the following:
"user"
"assistant"
run_id: string

The ID of the run associated with the creation of this message. Value is null when messages are created manually using the create message or create thread endpoints.

status: "in_progress" or "incomplete" or "completed"

The status of the message, which can be either in_progress, incomplete, or completed.

Accepts one of the following:
"in_progress"
"incomplete"
"completed"
thread_id: string

The thread ID that this message belongs to.

MessageDeleted = object { id, deleted, object }
id: string
deleted: boolean
object: "thread.message.deleted"
MessageDelta = object { content, role }

The delta containing the fields that have changed on the Message.

content: optional array of ImageFileDeltaBlock { index, type, image_file } or TextDeltaBlock { index, type, text } or RefusalDeltaBlock { index, type, refusal } or ImageURLDeltaBlock { index, type, image_url }

The content of the message in array of text and/or images.

Accepts one of the following:
ImageFileDeltaBlock = object { index, type, image_file }

References an image File in the content of a message.

index: number

The index of the content part in the message.

type: "image_file"

Always image_file.

image_file: optional ImageFileDelta { detail, file_id }
TextDeltaBlock = object { index, type, text }

The text content that is part of a message.

index: number

The index of the content part in the message.

type: "text"

Always text.

text: optional TextDelta { annotations, value }
RefusalDeltaBlock = object { index, type, refusal }

The refusal content that is part of a message.

index: number

The index of the refusal part in the message.

type: "refusal"

Always refusal.

refusal: optional string
ImageURLDeltaBlock = object { index, type, image_url }

References an image URL in the content of a message.

index: number

The index of the content part in the message.

type: "image_url"

Always image_url.

image_url: optional ImageURLDelta { detail, url }
role: optional "user" or "assistant"

The entity that produced the message. One of user or assistant.

Accepts one of the following:
"user"
"assistant"
MessageDeltaEvent = object { id, delta, object }

Represents a message delta i.e. any changed fields on a message during streaming.

id: string

The identifier of the message, which can be referenced in API endpoints.

delta: MessageDelta { content, role }

The delta containing the fields that have changed on the Message.

object: "thread.message.delta"

The object type, which is always thread.message.delta.

RefusalContentBlock = object { refusal, type }

The refusal content generated by the assistant.

refusal: string
type: "refusal"

Always refusal.

RefusalDeltaBlock = object { index, type, refusal }

The refusal content that is part of a message.

index: number

The index of the refusal part in the message.

type: "refusal"

Always refusal.

refusal: optional string
Text = object { annotations, value }
annotations: array of FileCitationAnnotation { end_index, file_citation, start_index, 2 more } or FilePathAnnotation { end_index, file_path, start_index, 2 more }
Accepts one of the following:
FileCitationAnnotation = object { end_index, file_citation, start_index, 2 more }

A citation within the message that points to a specific quote from a specific File associated with the assistant or the message. Generated when the assistant uses the "file_search" tool to search files.

end_index: number
minimum0
file_citation: object { file_id }
file_id: string

The ID of the specific File the citation is from.

start_index: number
minimum0
text: string

The text in the message content that needs to be replaced.

type: "file_citation"

Always file_citation.

FilePathAnnotation = object { end_index, file_path, start_index, 2 more }

A URL for the file that's generated when the assistant used the code_interpreter tool to generate a file.

end_index: number
minimum0
file_path: object { file_id }
file_id: string

The ID of the file that was generated.

start_index: number
minimum0
text: string

The text in the message content that needs to be replaced.

type: "file_path"

Always file_path.

value: string

The data that makes up the text.

TextContentBlock = object { text, type }

The text content that is part of a message.

text: Text { annotations, value }
type: "text"

Always text.

TextContentBlockParam = object { text, type }

The text content that is part of a message.

text: string

Text content to be sent to the model

type: "text"

Always text.

TextDelta = object { annotations, value }
annotations: optional array of FileCitationDeltaAnnotation { index, type, end_index, 3 more } or FilePathDeltaAnnotation { index, type, end_index, 3 more }
Accepts one of the following:
FileCitationDeltaAnnotation = object { index, type, end_index, 3 more }

A citation within the message that points to a specific quote from a specific File associated with the assistant or the message. Generated when the assistant uses the "file_search" tool to search files.

index: number

The index of the annotation in the text content part.

type: "file_citation"

Always file_citation.

end_index: optional number
minimum0
file_citation: optional object { file_id, quote }
file_id: optional string

The ID of the specific File the citation is from.

quote: optional string

The specific quote in the file.

start_index: optional number
minimum0
text: optional string

The text in the message content that needs to be replaced.

FilePathDeltaAnnotation = object { index, type, end_index, 3 more }

A URL for the file that's generated when the assistant used the code_interpreter tool to generate a file.

index: number

The index of the annotation in the text content part.

type: "file_path"

Always file_path.

end_index: optional number
minimum0
file_path: optional object { file_id }
file_id: optional string

The ID of the file that was generated.

start_index: optional number
minimum0
text: optional string

The text in the message content that needs to be replaced.

value: optional string

The data that makes up the text.

TextDeltaBlock = object { index, type, text }

The text content that is part of a message.

index: number

The index of the content part in the message.

type: "text"

Always text.

text: optional TextDelta { annotations, value }