ChatGPT · Schema
ChatCompletionMessage
AgentsAIChatGPTEmbeddingsFine-TuningGPT-4GPT-5Language ModelOpenAIRealtime
Properties
| Name | Type | Description |
|---|---|---|
| role | string | The role of the message author. |
| content | object | The contents of the message. Can be a string for text content or an array of content parts for multimodal input. |
| name | string | An optional name for the participant. Provides the model information to differentiate between participants of the same role. |
| tool_calls | array | The tool calls generated by the model, such as function calls. Present on assistant messages when the model calls tools. |
| tool_call_id | string | Tool call that this message is responding to. Required for tool role messages. |
| refusal | string | The refusal message generated by the model. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ChatCompletionMessage",
"title": "ChatCompletionMessage",
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"description": "The role of the message author.",
"enum": [
"system",
"user",
"assistant",
"tool"
],
"example": "system"
},
"content": {
"description": "The contents of the message. Can be a string for text content\nor an array of content parts for multimodal input.\n",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ChatCompletionContentPart"
}
}
],
"nullable": true,
"example": "example_value"
},
"name": {
"type": "string",
"description": "An optional name for the participant. Provides the model\ninformation to differentiate between participants of the\nsame role.\n",
"example": "Example Title"
},
"tool_calls": {
"type": "array",
"description": "The tool calls generated by the model, such as function calls.\nPresent on assistant messages when the model calls tools.\n",
"items": {
"$ref": "#/components/schemas/ChatCompletionToolCall"
},
"example": []
},
"tool_call_id": {
"type": "string",
"description": "Tool call that this message is responding to. Required for\ntool role messages.\n",
"example": "500123"
},
"refusal": {
"type": "string",
"description": "The refusal message generated by the model.",
"nullable": true,
"example": "example_value"
}
}
}