---
title: "DEPRECATED - Advance a thread (non-streaming)"
method: POST
path: "/threads/{id}/advance"
tags: ["threads"]
deprecated: true
---

# DEPRECATED - Advance a thread (non-streaming)

`POST /threads/{id}/advance`

> **Deprecated.**

This endpoint has been deprecated. Use POST /:id/advancestream instead.

## Path parameters

- `id` string, required

## Request body

- AdvanceThread
  - `contextKey` string — Unique user identifier for the thread
  - `toolCallCounts` object — Tool call counts
  - `initialMessages` MessageRequest[] — Initial messages to include when creating a new thread
    - `reasoning` string[] — Reasoning text from the LLM, if the model supports it.
    - `reasoningDurationMS` number — Duration of reasoning in milliseconds
    - `metadata` object
    - `actionType` 'tool_call' | 'tool_response' — No longer used - instead set role and the tool call information
    - `error` string
    - `isCancelled` boolean — Whether the message has been cancelled
    - `toolResponse` object — @deprecated Put the response in the content instead
    - `componentState` object — The initial state of the component
    - `additionalContext` object — Additional context to provide to the AI beyond the user query, such as the info about the current page the user is visiting.
    - `role` 'user' | 'assistant' | 'system' | 'tool', required
    - `content` ChatCompletionContentPart[], required
      - `type` 'text' | 'image_url' | 'input_audio' | 'resource', required — The type of content part
      - `text` string — Text content (when type is 'text')
      - `image_url` ImageUrl
        - `url` string, required
        - `detail` 'auto' | 'high' | 'low'
      - `input_audio` InputAudio
        - `data` string, required
        - `format` 'wav' | 'mp3', required
      - `resource` Resource
        - `uri` string — URI identifying the resource (e.g., file://, https://, s3://)
        - `name` string — Human-readable name for the resource
        - `description` string — Optional description of the resource
        - `mimeType` string — MIME type of the resource
        - `text` string — Inline text content (alternative to uri)
        - `blob` string — Base64-encoded blob data (alternative to uri or text)
        - `annotations` ResourceAnnotations
          - `audience` string[] — Target audience for this resource
          - `priority` number — Priority level for this resource
    - `component` ComponentDecisionV2
      - `props` object, required
      - `componentState` object, nullable, required
      - `toolCallRequest` ToolCallRequest
        - `tool_call_id` string — The unique id of the tool call, no longer used.
        - `parameters` ToolParameter[], required — The parameters of the function to call.
          - `parameterName` string, required
          - `parameterValue` object, required
        - `toolName` string, required — The name of the function to call.
      - `toolCallId` string — The unique id of the tool call. This is filled in whether the tool call is a server-side or client-side tool call.
      - `componentName` string, nullable, required
      - `message` string, required
      - `statusMessage` string
      - `completionStatusMessage` string
    - `toolCallRequest` ToolCallRequest
      - `tool_call_id` string — The unique id of the tool call, no longer used.
      - `parameters` ToolParameter[], required — The parameters of the function to call.
        - `parameterName` string, required
        - `parameterValue` object, required
      - `toolName` string, required — The name of the function to call.
    - `tool_call_id` string
  - `messageToAppend` MessageRequest, required
    - `reasoning` string[] — Reasoning text from the LLM, if the model supports it.
    - `reasoningDurationMS` number — Duration of reasoning in milliseconds
    - `metadata` object
    - `actionType` 'tool_call' | 'tool_response' — No longer used - instead set role and the tool call information
    - `error` string
    - `isCancelled` boolean — Whether the message has been cancelled
    - `toolResponse` object — @deprecated Put the response in the content instead
    - `componentState` object — The initial state of the component
    - `additionalContext` object — Additional context to provide to the AI beyond the user query, such as the info about the current page the user is visiting.
    - `role` 'user' | 'assistant' | 'system' | 'tool', required
    - `content` ChatCompletionContentPart[], required
      - `type` 'text' | 'image_url' | 'input_audio' | 'resource', required — The type of content part
      - `text` string — Text content (when type is 'text')
      - `image_url` ImageUrl
        - `url` string, required
        - `detail` 'auto' | 'high' | 'low'
      - `input_audio` InputAudio
        - `data` string, required
        - `format` 'wav' | 'mp3', required
      - `resource` Resource
        - `uri` string — URI identifying the resource (e.g., file://, https://, s3://)
        - `name` string — Human-readable name for the resource
        - `description` string — Optional description of the resource
        - `mimeType` string — MIME type of the resource
        - `text` string — Inline text content (alternative to uri)
        - `blob` string — Base64-encoded blob data (alternative to uri or text)
        - `annotations` ResourceAnnotations
          - `audience` string[] — Target audience for this resource
          - `priority` number — Priority level for this resource
    - `component` ComponentDecisionV2
      - `props` object, required
      - `componentState` object, nullable, required
      - `toolCallRequest` ToolCallRequest
        - `tool_call_id` string — The unique id of the tool call, no longer used.
        - `parameters` ToolParameter[], required — The parameters of the function to call.
          - `parameterName` string, required
          - `parameterValue` object, required
        - `toolName` string, required — The name of the function to call.
      - `toolCallId` string — The unique id of the tool call. This is filled in whether the tool call is a server-side or client-side tool call.
      - `componentName` string, nullable, required
      - `message` string, required
      - `statusMessage` string
      - `completionStatusMessage` string
    - `toolCallRequest` ToolCallRequest
      - `tool_call_id` string — The unique id of the tool call, no longer used.
      - `parameters` ToolParameter[], required — The parameters of the function to call.
        - `parameterName` string, required
        - `parameterValue` object, required
      - `toolName` string, required — The name of the function to call.
    - `tool_call_id` string
  - `availableComponents` AvailableComponent[]
    - `props` object, required — JSON Schema for the component's props
    - `name` string, required
    - `description` string, required
    - `contextTools` ComponentContextToolMetadata[], required
      - `maxCalls` number — Maximum number of times this tool can be called in a single thread execution.Overrides project-level maxToolCalls setting for this specific tool.
      - `name` string, required
      - `description` string, required
      - `parameters` ToolParameters[], required
        - `name` string, required
        - `type` string, required
        - `description` string, required
        - `isRequired` boolean, required
        - `items` object
          - `type` string, required
        - `enumValues` string[]
        - `schema` object
  - `clientTools` ComponentContextToolMetadata[]
    - `maxCalls` number — Maximum number of times this tool can be called in a single thread execution.Overrides project-level maxToolCalls setting for this specific tool.
    - `name` string, required
    - `description` string, required
    - `parameters` ToolParameters[], required
      - `name` string, required
      - `type` string, required
      - `description` string, required
      - `isRequired` boolean, required
      - `items` object
        - `type` string, required
      - `enumValues` string[]
      - `schema` object
  - `forceToolChoice` string

## Response `201`

- AdvanceThreadResponse
  - `responseMessageDto` ThreadMessage, required
    - `parentMessageId` string — The id of the parent message, if the message was created during the generation of another message, such as during an agent call, MCP Elicitation, or MCP Sample
    - `metadata` object
    - `reasoning` string[] — Reasoning text from the LLM, if the model supports it.
    - `reasoningDurationMS` number — Duration of reasoning in milliseconds
    - `componentState` object, required
    - `toolCallRequest` ToolCallRequest
      - `tool_call_id` string — The unique id of the tool call, no longer used.
      - `parameters` ToolParameter[], required — The parameters of the function to call.
        - `parameterName` string, required
        - `parameterValue` object, required
      - `toolName` string, required — The name of the function to call.
    - `tool_call_id` string — The unique id of the tool call. This is filled in only if the tool call is a client-side tool call.
    - `actionType` 'tool_call' | 'tool_response' — Deprecated: use the role and the presence of tool calls to determine the action type
    - `error` string
    - `isCancelled` boolean — Whether the message has been cancelled
    - `additionalContext` object — Additional context to provide to the AI beyond the user query, such as the info about the current page the user is visiting.
    - `id` string, required
    - `threadId` string, required
    - `role` 'user' | 'assistant' | 'system' | 'tool', required
    - `content` ChatCompletionContentPart[], required
      - `type` 'text' | 'image_url' | 'input_audio' | 'resource', required — The type of content part
      - `text` string — Text content (when type is 'text')
      - `image_url` ImageUrl
        - `url` string, required
        - `detail` 'auto' | 'high' | 'low'
      - `input_audio` InputAudio
        - `data` string, required
        - `format` 'wav' | 'mp3', required
      - `resource` Resource
        - `uri` string — URI identifying the resource (e.g., file://, https://, s3://)
        - `name` string — Human-readable name for the resource
        - `description` string — Optional description of the resource
        - `mimeType` string — MIME type of the resource
        - `text` string — Inline text content (alternative to uri)
        - `blob` string — Base64-encoded blob data (alternative to uri or text)
        - `annotations` ResourceAnnotations
          - `audience` string[] — Target audience for this resource
          - `priority` number — Priority level for this resource
    - `component` ComponentDecisionV2
      - `props` object, required
      - `componentState` object, nullable, required
      - `toolCallRequest` ToolCallRequest
        - `tool_call_id` string — The unique id of the tool call, no longer used.
        - `parameters` ToolParameter[], required — The parameters of the function to call.
          - `parameterName` string, required
          - `parameterValue` object, required
        - `toolName` string, required — The name of the function to call.
      - `toolCallId` string — The unique id of the tool call. This is filled in whether the tool call is a server-side or client-side tool call.
      - `componentName` string, nullable, required
      - `message` string, required
      - `statusMessage` string
      - `completionStatusMessage` string
    - `tool_calls` object[]
    - `createdAt` string, date-time, required
  - `statusMessage` string — Status message for the generation stage
  - `mcpAccessToken` string — MCP access token to be used as bearer token when talking to the Tambo MCP server. Only included when MCP servers are configured for the project.
  - `generationStage` 'IDLE' | 'CHOOSING_COMPONENT' | 'FETCHING_CONTEXT' | 'HYDRATING_COMPONENT' | 'STREAMING_RESPONSE' | 'COMPLETE' | 'ERROR' | 'CANCELLED', required

## Other responses

- `410` — This endpoint is deprecated

---

[API](https://skmtc.net/tambo-ai/apis/tambo-api.md) · [All operations](https://skmtc.net/tambo-ai/apis/tambo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tambo-ai/tambo-api/versions/312691b28f1c/schema)
