Agents Platform

Preview Rebased Configuration

Changed on

Returns the result of pulling changes from a source branch (defaults to main) into the given branch without performing it, preserving the given branch's own changes. Useful for showing an accurate diff before confirming.

get/v1/convai/agents/{agent_id}/branches/{branch_id}/rebase-preview

Request

  • Base URL
    https://api.elevenlabs.io (the document declares no server; this is the origin it was published from)
  • URL
    https://api.elevenlabs.io/v1/convai/agents/{agent_id}/branches/{branch_id}/rebase-preview
  • Auth
    none declared

Path parameters

agent_idstring required

The id of an agent. This is returned on agent creation.

Example:agent_3701k3ttaq12ewp8b7qv5rfyszkz
branch_idstring required

Unique identifier for the source branch to merge from.

Example:agtbrch_8901k4t9z5defmb8vh3e9361y7nj

Query parameters

source_branch_idstring nullable

The ID of the branch to pull changes from. Defaults to the agent's main branch.

Example:agtbrch_8901k4t9z5defmb8vh3e9361y7nj
include_procedure_generated_workflow_elementsboolean

Whether to include the workflow nodes and edges generated from structured procedures. When false, the workflow contains only authored elements.

Headers

xi-api-keystring nullable

Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

Response

Successful Response

agent_idstring required

The ID of the agent

namestring required

The name of the agent

tagsstring[]

Agent tags used to categorize the agent

version_idstring nullable

The ID of the version the agent is on

branch_idstring nullable

The ID of the branch the agent is on

main_branch_idstring nullable

The ID of the main branch for this agent

proceduresobject

Procedures keyed by procedure_id.

default_hold_audio_urlstring

URL of the default hold tone played to queued callers when no custom hold audio is uploaded, so the dashboard can preview it.

overridden_fieldsstring[]

Dot-paths of config fields where both branches modified the same field relative to their common ancestor (conflicts). Present regardless of which side wins the conflict.

source_identical_to_targetboolean

True when the merge/rebase would be a no-op, i.e. the merged result is identical to the source branch tip. The rebase endpoint rejects in this case.

Example response

{
  "agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
  "name": "My Agent",
  "workflow": {
    "edges": {
      "entry_to_tool_a": {
        "forward_condition": {
          "condition": "Tool A condition",
          "type": "llm"
        },
        "source": "entry_node",
        "target": "tool_node_a"
      },
      "start_to_entry": {
        "forward_condition": {
          "type": "unconditional"
        },
        "source": "start_node",
        "target": "entry_node"
      },
      "tool_a_to_failure": {
        "forward_condition": {
          "successful": false,
          "type": "result"
        },
        "source": "tool_node_a",
        "target": "failure_node"
      },
      "tool_a_to_tool_b": {
        "forward_condition": {
          "successful": true,
          "type": "result"
        },
        "source": "tool_node_a",
        "target": "tool_node_b"
      },
      "tool_b_to_agent_transfer": {
        "forward_condition": {
          "type": "unconditional"
        },
        "source": "tool_node_b",
        "target": "success_transfer"
      },
      "tool_b_to_conversation": {
        "forward_condition": {
          "condition": "Conversation condition",
          "type": "llm"
        },
        "source": "tool_node_b",
        "target": "success_conversation"
      },
      "tool_b_to_end": {
        "forward_condition": {
          "condition": "End condition",
          "type": "llm"
        },
        "source": "tool_node_b",
        "target": "success_end"
      },
      "tool_b_to_phone": {
        "forward_condition": {
          "expression": {
            "children": [
              {
                "name": "force_phone_transfer",
                "type": "dynamic_variable"
              },
              {
                "prompt": "Phone condition",
                "type": "llm",
                "value_schema": {
                  "description": "Phone condition",
                  "type": "boolean"
                }
              },
              {
                "left": {
                  "name": "mode",
                  "type": "dynamic_variable"
                },
                "right": {
                  "type": "string_literal",
                  "value": "dev"
                },
                "type": "eq_operator"
              }
            ],
            "type": "or_operator"
          },
          "type": "expression"
        },
        "source": "tool_node_b",
        "target": "success_phone"
      }
    },
    "nodes": {
      "entry_node": {
        "additional_knowledge_base": [],
        "additional_prompt": "",
        "additional_tool_ids": [],
        "conversation_config": {},
        "edge_order": [
          "entry_to_tool_a"
        ],
        "entry_behavior": "auto",
        "label": "Entry",
        "position": {
          "x": 0,
          "y": 0
        },
        "type": "override_agent"
      },
      "failure_node": {
        "additional_knowledge_base": [],
        "additional_prompt": "",
        "additional_tool_ids": [],
        "conversation_config": {},
        "edge_order": [],
        "entry_behavior": "auto",
        "label": "Failure",
        "position": {
          "x": 0,
          "y": 0
        },
        "type": "override_agent"
      },
      "start_node": {
        "edge_order": [
          "start_to_entry"
        ],
        "position": {
          "x": 0,
          "y": 0
        },
        "type": "start"
      },
      "success_conversation": {
        "additional_knowledge_base": [],
        "additional_prompt": "",
        "additional_tool_ids": [],
        "conversation_config": {},
        "edge_order": [],
        "entry_behavior": "auto",
        "label": "Success A",
        "position": {
          "x": 0,
          "y": 0
        },
        "type": "override_agent"
      },
      "success_end": {
        "edge_order": [],
        "outcome": "success",
        "position": {
          "x": 0,
          "y": 0
        },
        "type": "end"
      },
      "success_phone": {
        "custom_sip_headers": [],
        "edge_order": [],
        "position": {
          "x": 0,
          "y": 0
        },
        "require_acceptance": false,
        "sip_refer_play_dialtone": true,
        "transfer_destination": {
          "phone_number": "+1234567890",
          "type": "phone"
        },
        "transfer_type": "conference",
        "type": "phone_number"
      },
      "success_transfer": {
        "agent_id": "success_transfer_agent",
        "delay_ms": 0,
        "drop_history": false,
        "edge_order": [],
        "enable_transferred_agent_first_message": false,
        "isolate_history": false,
        "position": {
          "x": 0,
          "y": 0
        },
        "preserve_client_tts_overrides": false,
        "preserve_voice_settings": false,
        "type": "standalone_agent"
      },
      "tool_node_a": {
        "edge_order": [
          "tool_a_to_failure",
          "tool_a_to_tool_b"
        ],
        "position": {
          "x": 0,
          "y": 0
        },
        "tools": [
          {
            "tool_id": "tool_a"
          },
          {
            "tool_id": "tool_b"
          }
        ],
        "type": "tool"
      },
      "tool_node_b": {
        "edge_order": [
          "tool_b_to_conversation",
          "tool_b_to_end",
          "tool_b_to_phone",
          "tool_b_to_agent_transfer"
        ],
        "position": {
          "x": 0,
          "y": 0
        },
        "tools": [
          {
            "tool_id": "tool_a"
          }
        ],
        "type": "tool"
      }
    },
    "prevent_subagent_loops": false,
    "subgraphs": {}
  }
}

Changes

    • warning

      added the new gpt-6.1-terra enum value to the ////// response property for the response status

    • warning

      added the new gpt-6.1-terra enum value to the /// response property for the response status

    • warning

      added the new gpt-6.1-terra enum value to the ///////// response property for the response status

    • warning

      added the new gpt-6.1-terra enum value to the / response property for the response status

    • warning

      added the new gpt-6.1-terra enum value to the //// response property for the response status

    • warning

      added the new gpt-6.1-terra enum value to the ///// response property for the response status

    • warning

      added the new gpt-6.1-terra enum value to the //////////// response property for the response status

    • warning

      added the new gpt-6.1-terra enum value to the ////////// response property for the response status

    • warning

      added the new gpt-6.1-terra 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