Assistants

Get all versions of an assistant

Changed on

Retrieves all versions of a specific assistant with complete configuration and metadata. An assistant keeps at most 10 versions, including the main version. When an update takes it past that limit, the oldest versions are permanently deleted. The main version and any version referenced by a traffic distribution rule are never deleted this way.

get/ai/assistants/{assistant_id}/versions

Request

  • Base URL: https://api.telnyx.com/v2
  • URL: https://api.telnyx.com/v2/ai/assistants/{assistant_id}/versions
  • Auth: HTTP bearer

Path parameters

assistant_idstring required

Unique identifier of the assistant.

Response

Returns list of assistant versions ordered by creation date (newest first)

Example response

{
  "data": [
    {
      "tools": [
        {
          "webhook": {
            "url": "https://example.com/api/v1/function",
            "body_parameters": {
              "properties": {
                "age": {
                  "description": "The age of the customer.",
                  "type": "integer"
                },
                "location": {
                  "description": "The location of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "age",
                "location"
              ],
              "type": "object"
            },
            "path_parameters": {
              "properties": {
                "id": {
                  "description": "The id of the customer.",
                  "type": "string"
                }
              },
              "required": [
                "id"
              ],
              "type": "object"
            },
            "query_parameters": {
              "properties": {
                "page": {
                  "description": "The page number.",
                  "type": "integer"
                }
              },
              "required": [
                "page"
              ],
              "type": "object"
            },
            "preset_body_fields": {
              "account_id": "{{customer_id}}",
              "source": "telnyx-assistant"
            },
            "preset_query_params": {
              "caller": "{{telnyx_end_user_target}}",
              "channel": "voice"
            },
            "messages": [
              {
                "type": "request_start",
                "content": "Let me look that up for you."
              },
              {
                "type": "request_response_delayed",
                "content": "Still working on that.",
                "timing_ms": 5000
              }
            ]
          }
        }
      ],
      "a2a_agents": [
        {
          "name": "billing_agent",
          "url": "https://agents.example.com",
          "headers": [
            {
              "name": "X-Api-Key",
              "value": "{{#integration_secret}}my_agent_api_key{{/integration_secret}}"
            }
          ],
          "timeout_ms": 30000,
          "poll_interval_ms": 500
        }
      ],
      "avatar_settings": {
        "provider": "telnyx",
        "avatar_id": "elena",
        "background_id": "office",
        "model": "foxtrot-1"
      },
      "transcription": {
        "fallback_models": [
          {
            "model": "deepgram/nova-3",
            "language": "en"
          },
          {
            "model": "soniox/stt-rt-v5",
            "settings": {
              "context": "Telnyx,VoIP,SIP"
            }
          }
        ],
        "challenger": {
          "model": "deepgram/nova-3",
          "language": "en",
          "rule": "best_turn"
        }
      },
      "insight_settings": {
        "model": "zai-org/GLM-5.3-Flash"
      },
      "conversation_flow": {
        "edges": [
          {
            "condition": {
              "prompt": "The caller is asking about a bill or charge.",
              "type": "llm"
            },
            "id": "e_intake_to_billing",
            "start_node_id": "n_intake",
            "target": {
              "node_id": "n_billing",
              "type": "node"
            }
          },
          {
            "condition": {
              "prompt": "The caller has explicitly asked for a human.",
              "type": "llm"
            },
            "id": "e_intake_to_escalation_assistant",
            "start_node_id": "n_intake",
            "target": {
              "assistant_id": "assistant-human-handoff",
              "position": {
                "x": 600,
                "y": 80
              },
              "type": "assistant",
              "voice_mode": "distinct"
            }
          }
        ],
        "nodes": [
          {
            "type": "prompt",
            "id": "n_intake",
            "instructions": "Greet the caller and ask what they're calling about.",
            "name": "Intake",
            "position": {
              "x": 120,
              "y": 80
            },
            "shared_tool_ids": [
              "tool-faq-kb"
            ]
          },
          {
            "type": "prompt",
            "id": "n_billing",
            "instructions": "Focus on billing questions. Look up the caller's latest invoice with the billing tool before answering.",
            "instructions_mode": "append",
            "model": "moonshotai/Kimi-K2.6",
            "name": "Billing",
            "position": {
              "x": 420,
              "y": 80
            },
            "shared_tool_ids": [
              "tool-billing-lookup"
            ],
            "tools_mode": "append"
          }
        ],
        "start_node_id": "n_intake"
      }
    }
  ]
}

Changes

    • info

      added the optional property /// to the response with the status

    • warning

      added the new speechmatics/linden-1 enum value to the /////// response property for the response status

    • warning

      added the new speechmatics/linden-1 enum value to the /// response property for the response status

    • warning

      added the new speechmatics/standard enum value to the /////// response property for the response status

    • warning

      added the new speechmatics/standard enum value to the /// response property for the response status

    • info

      added the optional property /////////// to the response with the status

    • info

      added the optional property /////////// to the response with the status

    • info

      added the optional property //////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property //// to the response with the status