Baseten · Schema

ChatCompletionMessage

A message in the conversation. Supports roles: `system`, `user`, `assistant`, and `tool`.

Artificial IntelligenceMLInferenceDeploymentMLOpsOpenAI-CompatibleAnthropic CompatibleTruss

Properties

Name Type Description
role string The role of the message author: `system` (instructions), `user` (input), `assistant` (model response), or `tool` (tool result).
content object The message content. Can be a string or an array of content parts (text, image, audio) for multimodal inputs.
name string An optional name for the participant. Useful for distinguishing between multiple users or assistants.
tool_calls array Tool calls generated by the model (for assistant messages).
tool_call_id string The ID of the tool call this message responds to (required for tool messages).
View JSON Schema on GitHub

JSON Schema

baseten-chatcompletionmessage-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ChatCompletionMessage",
  "title": "ChatCompletionMessage",
  "type": "object",
  "required": [
    "role"
  ],
  "description": "A message in the conversation. Supports roles: `system`, `user`, `assistant`, and `tool`.",
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "system",
        "user",
        "assistant",
        "tool"
      ],
      "description": "The role of the message author: `system` (instructions), `user` (input), `assistant` (model response), or `tool` (tool result)."
    },
    "content": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
              },
              {
                "$ref": "#/components/schemas/ChatCompletionContentPartImageParam"
              },
              {
                "$ref": "#/components/schemas/ChatCompletionContentPartInputAudioParam"
              }
            ]
          }
        }
      ],
      "description": "The message content. Can be a string or an array of content parts (text, image, audio) for multimodal inputs."
    },
    "name": {
      "type": "string",
      "description": "An optional name for the participant. Useful for distinguishing between multiple users or assistants."
    },
    "tool_calls": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ChatCompletionMessageToolCallParam"
      },
      "description": "Tool calls generated by the model (for assistant messages)."
    },
    "tool_call_id": {
      "type": "string",
      "description": "The ID of the tool call this message responds to (required for tool messages)."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/baseten-chatcompletionmessage"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.