Get Procedure
GET https://api.elevenlabs.io/v1/convai/agents//branches//procedures/
Retrieve a procedure at a specific version or the current branch HEAD.
Reference: https://elevenlabs.io/docs/api-reference/agents/procedures/get
Servers
Section titled “Servers”https://api.elevenlabs.io(Production, default)https://api.us.elevenlabs.io(Production US)https://api.eu.residency.elevenlabs.io(Production EU)https://api.in.residency.elevenlabs.io(Production India)https://api.sg.residency.elevenlabs.io(Production Singapore)
Request
Section titled “Request”Path parameters
Section titled “Path parameters”agent_id(string, required) — Agent ID to get the procedure draft frombranch_id(string, required) — Branch ID to get the procedure draft fromprocedure_id(string, required) — The procedure ID
Query parameters
Section titled “Query parameters”version_id(string, optional, nullable) — The version ID to retrieve. If omitted, returns the version at branch HEAD.agent_version_id(string, optional, nullable) — The agent version ID to retrieve the procedure for.
Response
Section titled “Response”Successful Response
procedure_id(string, required) — Procedure IDname(string, required) — Procedure namecontent(string, required) — Procedure contentversion_id(string, optional, nullable) — Version ID of a version of the procedure. None for a procedure never versioned.type(enum, optional, default: free_form) — Procedure type- Allowed values:
free_form,deterministic,folder
- Allowed values:
trigger(string, optional, default: ) — When the agent should use this procedure. Empty string means this is a sub-procedure that should only start when another procedure references it.folder_parent_id(string, optional, nullable) — Procedure ID of the folder this procedure is placed in. None means root.
Errors
Section titled “Errors”422 Unprocessable Entity Error
Section titled “422 Unprocessable Entity Error”Validation Error
detail(list of ValidationError, optional)
ValidationError
Section titled “ValidationError”loc(list of ValidationErrorLocItems, required)msg(string, required)type(string, required)
ValidationErrorLocItems
Section titled “ValidationErrorLocItems”Examples
Section titled “Examples”Response
{
"procedure_id": "agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3",
"name": "Customer Support Procedure",
"content": "# Customer Support Procedure\n\n1. Greet the customer...",
"version_id": "agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4",
"type": "free_form",
"trigger": "When the customer asks for support"
}SDK Code
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
async function main() {
const client = new ElevenLabsClient();
await client.conversationalAi.agents.procedures.get("agent_3701k3ttaq12ewp8b7qv5rfyszkz", "agtbranch_0901k4aafjxxfxt93gd841r7tv5t", "agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3", {
agentVersionId: "agtvrsn_8901k4t9z5defmb8vh3e9361y7nj",
versionId: "agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4",
});
}
main();
from elevenlabs import ElevenLabs
client = ElevenLabs()
client.conversational_ai.agents.procedures.get(
agent_id="agent_3701k3ttaq12ewp8b7qv5rfyszkz",
branch_id="agtbranch_0901k4aafjxxfxt93gd841r7tv5t",
procedure_id="agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3",
agent_version_id="agtvrsn_8901k4t9z5defmb8vh3e9361y7nj",
version_id="agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4",
)
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3?agent_version_id=agtvrsn_8901k4t9z5defmb8vh3e9361y7nj&version_id=agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3?agent_version_id=agtvrsn_8901k4t9z5defmb8vh3e9361y7nj&version_id=agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_bodyimport com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
HttpResponse<String> response = Unirest.get("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3?agent_version_id=agtvrsn_8901k4t9z5defmb8vh3e9361y7nj&version_id=agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4")
.asString();<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3?agent_version_id=agtvrsn_8901k4t9z5defmb8vh3e9361y7nj&version_id=agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4');
echo $response->getBody();using RestSharp;
var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3?agent_version_id=agtvrsn_8901k4t9z5defmb8vh3e9361y7nj&version_id=agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3?agent_version_id=agtvrsn_8901k4t9z5defmb8vh3e9361y7nj&version_id=agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()