messagesarray<object>RequiredOrdered turns, oldest first. Content is a string, or an array of text, image_url and video_url parts. Video is sent as an uploaded file, and the video in one request can total 14 MB. Put the task rules and the tool contract in the system message and append one turn at a time.
- Default
- Not specified
- Constraints
- minItems:1
messages[].rolestringRequired within objectRole of the message author.
- Default
- Not specified
- Allowed values
"system""developer""user""assistant""tool"
messages[].namestringOptionalOptional name identifying the speaker within its role.
- Default
- Not specified
messages[].contentstring | array | nullOptionalMessage content, either plain text or a list of content parts.
- Default
- Not specified
{
"type": [
"string",
"array",
"null"
],
"items": {
"oneOf": [
{
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"const": "text"
}
}
},
{
"type": "object",
"required": [
"type",
"image_url"
],
"properties": {
"type": {
"const": "image_url"
},
"image_url": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"video_url"
],
"properties": {
"type": {
"const": "video_url"
},
"video_url": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
}
]
},
"description": "Message content, either plain text or a list of content parts."
}messages[].tool_callsarray<object>OptionalTool calls the assistant requested in this message.
- Default
- Not specified
messages[].tool_call_idstringOptionalIdentifier of the tool call this message answers. Required on tool messages.
- Default
- Not specified
messages[].reasoning_contentstringOptionalReasoning text from a previous assistant reply, preserved when continuing a tool conversation.
- Default
- Not specified
{
"type": "array",
"x-ui": {
"order": 100,
"widget": "chat-messages",
"primary": true
},
"items": {
"type": "object",
"allOf": [
{
"if": {
"required": [
"reasoning_content"
]
},
"then": {
"properties": {
"role": {
"const": "assistant"
}
}
}
}
],
"required": [
"role"
],
"properties": {
"name": {
"type": "string",
"description": "Optional name identifying the speaker within its role."
},
"role": {
"enum": [
"system",
"developer",
"user",
"assistant",
"tool"
],
"type": "string",
"description": "Role of the message author."
},
"content": {
"type": [
"string",
"array",
"null"
],
"items": {
"oneOf": [
{
"type": "object",
"required": [
"type",
"text"
],
"properties": {
"text": {
"type": "string"
},
"type": {
"const": "text"
}
}
},
{
"type": "object",
"required": [
"type",
"image_url"
],
"properties": {
"type": {
"const": "image_url"
},
"image_url": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
},
{
"type": "object",
"required": [
"type",
"video_url"
],
"properties": {
"type": {
"const": "video_url"
},
"video_url": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
}
}
}
]
},
"description": "Message content, either plain text or a list of content parts."
},
"tool_calls": {
"type": "array",
"items": {
"type": "object"
},
"description": "Tool calls the assistant requested in this message."
},
"tool_call_id": {
"type": "string",
"description": "Identifier of the tool call this message answers. Required on tool messages."
},
"reasoning_content": {
"type": "string",
"description": "Reasoning text from a previous assistant reply, preserved when continuing a tool conversation."
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Ordered conversation turns. Text content only on this endpoint."
}