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.
View JSON Schema on GitHub

JSON Schema

chatgpt-chatcompletionmessage-schema.json Raw ↑
{
  "$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"
    }
  }
}