Skip to main content
PUT
/
v1
/
projects
/
{projectId}
/
agent
Update agent
curl --request PUT \
  --url https://api.pathors.com/v1/projects/{projectId}/agent \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "globalPrompt": "<string>",
  "timezone": "<string>",
  "memoryEnabled": true,
  "searchKnowledgeBaseEnabled": true,
  "promptModules": [
    {
      "name": "<string>",
      "description": "<string>",
      "content": "<string>",
      "enabled": true
    }
  ],
  "beforeStartConfig": {
    "enabled": true,
    "mode": "<string>",
    "toolTemplates": [
      {
        "toolName": "<string>",
        "toolId": "<string>",
        "parameters": {}
      }
    ]
  },
  "postSessionWebhook": {
    "url": "<string>",
    "headers": [
      {
        "key": "<string>",
        "value": "<string>"
      }
    ],
    "events": []
  },
  "postSessionVariableKeys": [
    "<string>"
  ],
  "postEvaluationConfig": {
    "enabled": true,
    "prompt": "<string>",
    "enumOptions": [
      "<string>"
    ],
    "numberConfig": {
      "min": 123,
      "max": 123
    }
  },
  "placeholderMessages": {
    "messages": {},
    "defaultLanguage": "<string>"
  },
  "variableConfigs": [
    {
      "key": "<string>",
      "type": "string",
      "description": "<string>"
    }
  ],
  "voiceIntelligence": {
    "ageEnabled": true,
    "genderEnabled": true,
    "voicemailDetectionEnabled": true,
    "languageDetectionEnabled": true
  }
}
'
import requests

url = "https://api.pathors.com/v1/projects/{projectId}/agent"

payload = {
    "name": "<string>",
    "globalPrompt": "<string>",
    "timezone": "<string>",
    "memoryEnabled": True,
    "searchKnowledgeBaseEnabled": True,
    "promptModules": [
        {
            "name": "<string>",
            "description": "<string>",
            "content": "<string>",
            "enabled": True
        }
    ],
    "beforeStartConfig": {
        "enabled": True,
        "mode": "<string>",
        "toolTemplates": [
            {
                "toolName": "<string>",
                "toolId": "<string>",
                "parameters": {}
            }
        ]
    },
    "postSessionWebhook": {
        "url": "<string>",
        "headers": [
            {
                "key": "<string>",
                "value": "<string>"
            }
        ],
        "events": []
    },
    "postSessionVariableKeys": ["<string>"],
    "postEvaluationConfig": {
        "enabled": True,
        "prompt": "<string>",
        "enumOptions": ["<string>"],
        "numberConfig": {
            "min": 123,
            "max": 123
        }
    },
    "placeholderMessages": {
        "messages": {},
        "defaultLanguage": "<string>"
    },
    "variableConfigs": [
        {
            "key": "<string>",
            "type": "string",
            "description": "<string>"
        }
    ],
    "voiceIntelligence": {
        "ageEnabled": True,
        "genderEnabled": True,
        "voicemailDetectionEnabled": True,
        "languageDetectionEnabled": True
    }
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'PUT',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    name: '<string>',
    globalPrompt: '<string>',
    timezone: '<string>',
    memoryEnabled: true,
    searchKnowledgeBaseEnabled: true,
    promptModules: [
      {name: '<string>', description: '<string>', content: '<string>', enabled: true}
    ],
    beforeStartConfig: {
      enabled: true,
      mode: '<string>',
      toolTemplates: [{toolName: '<string>', toolId: '<string>', parameters: {}}]
    },
    postSessionWebhook: {url: '<string>', headers: [{key: '<string>', value: '<string>'}], events: []},
    postSessionVariableKeys: ['<string>'],
    postEvaluationConfig: {
      enabled: true,
      prompt: '<string>',
      enumOptions: ['<string>'],
      numberConfig: {min: 123, max: 123}
    },
    placeholderMessages: {messages: {}, defaultLanguage: '<string>'},
    variableConfigs: [{key: '<string>', type: 'string', description: '<string>'}],
    voiceIntelligence: {
      ageEnabled: true,
      genderEnabled: true,
      voicemailDetectionEnabled: true,
      languageDetectionEnabled: true
    }
  })
};

fetch('https://api.pathors.com/v1/projects/{projectId}/agent', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.pathors.com/v1/projects/{projectId}/agent",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => json_encode([
    'name' => '<string>',
    'globalPrompt' => '<string>',
    'timezone' => '<string>',
    'memoryEnabled' => true,
    'searchKnowledgeBaseEnabled' => true,
    'promptModules' => [
        [
                'name' => '<string>',
                'description' => '<string>',
                'content' => '<string>',
                'enabled' => true
        ]
    ],
    'beforeStartConfig' => [
        'enabled' => true,
        'mode' => '<string>',
        'toolTemplates' => [
                [
                                'toolName' => '<string>',
                                'toolId' => '<string>',
                                'parameters' => [
                                                                
                                ]
                ]
        ]
    ],
    'postSessionWebhook' => [
        'url' => '<string>',
        'headers' => [
                [
                                'key' => '<string>',
                                'value' => '<string>'
                ]
        ],
        'events' => [
                
        ]
    ],
    'postSessionVariableKeys' => [
        '<string>'
    ],
    'postEvaluationConfig' => [
        'enabled' => true,
        'prompt' => '<string>',
        'enumOptions' => [
                '<string>'
        ],
        'numberConfig' => [
                'min' => 123,
                'max' => 123
        ]
    ],
    'placeholderMessages' => [
        'messages' => [
                
        ],
        'defaultLanguage' => '<string>'
    ],
    'variableConfigs' => [
        [
                'key' => '<string>',
                'type' => 'string',
                'description' => '<string>'
        ]
    ],
    'voiceIntelligence' => [
        'ageEnabled' => true,
        'genderEnabled' => true,
        'voicemailDetectionEnabled' => true,
        'languageDetectionEnabled' => true
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.pathors.com/v1/projects/{projectId}/agent"

	payload := strings.NewReader("{\n  \"name\": \"<string>\",\n  \"globalPrompt\": \"<string>\",\n  \"timezone\": \"<string>\",\n  \"memoryEnabled\": true,\n  \"searchKnowledgeBaseEnabled\": true,\n  \"promptModules\": [\n    {\n      \"name\": \"<string>\",\n      \"description\": \"<string>\",\n      \"content\": \"<string>\",\n      \"enabled\": true\n    }\n  ],\n  \"beforeStartConfig\": {\n    \"enabled\": true,\n    \"mode\": \"<string>\",\n    \"toolTemplates\": [\n      {\n        \"toolName\": \"<string>\",\n        \"toolId\": \"<string>\",\n        \"parameters\": {}\n      }\n    ]\n  },\n  \"postSessionWebhook\": {\n    \"url\": \"<string>\",\n    \"headers\": [\n      {\n        \"key\": \"<string>\",\n        \"value\": \"<string>\"\n      }\n    ],\n    \"events\": []\n  },\n  \"postSessionVariableKeys\": [\n    \"<string>\"\n  ],\n  \"postEvaluationConfig\": {\n    \"enabled\": true,\n    \"prompt\": \"<string>\",\n    \"enumOptions\": [\n      \"<string>\"\n    ],\n    \"numberConfig\": {\n      \"min\": 123,\n      \"max\": 123\n    }\n  },\n  \"placeholderMessages\": {\n    \"messages\": {},\n    \"defaultLanguage\": \"<string>\"\n  },\n  \"variableConfigs\": [\n    {\n      \"key\": \"<string>\",\n      \"type\": \"string\",\n      \"description\": \"<string>\"\n    }\n  ],\n  \"voiceIntelligence\": {\n    \"ageEnabled\": true,\n    \"genderEnabled\": true,\n    \"voicemailDetectionEnabled\": true,\n    \"languageDetectionEnabled\": true\n  }\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.put("https://api.pathors.com/v1/projects/{projectId}/agent")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"<string>\",\n  \"globalPrompt\": \"<string>\",\n  \"timezone\": \"<string>\",\n  \"memoryEnabled\": true,\n  \"searchKnowledgeBaseEnabled\": true,\n  \"promptModules\": [\n    {\n      \"name\": \"<string>\",\n      \"description\": \"<string>\",\n      \"content\": \"<string>\",\n      \"enabled\": true\n    }\n  ],\n  \"beforeStartConfig\": {\n    \"enabled\": true,\n    \"mode\": \"<string>\",\n    \"toolTemplates\": [\n      {\n        \"toolName\": \"<string>\",\n        \"toolId\": \"<string>\",\n        \"parameters\": {}\n      }\n    ]\n  },\n  \"postSessionWebhook\": {\n    \"url\": \"<string>\",\n    \"headers\": [\n      {\n        \"key\": \"<string>\",\n        \"value\": \"<string>\"\n      }\n    ],\n    \"events\": []\n  },\n  \"postSessionVariableKeys\": [\n    \"<string>\"\n  ],\n  \"postEvaluationConfig\": {\n    \"enabled\": true,\n    \"prompt\": \"<string>\",\n    \"enumOptions\": [\n      \"<string>\"\n    ],\n    \"numberConfig\": {\n      \"min\": 123,\n      \"max\": 123\n    }\n  },\n  \"placeholderMessages\": {\n    \"messages\": {},\n    \"defaultLanguage\": \"<string>\"\n  },\n  \"variableConfigs\": [\n    {\n      \"key\": \"<string>\",\n      \"type\": \"string\",\n      \"description\": \"<string>\"\n    }\n  ],\n  \"voiceIntelligence\": {\n    \"ageEnabled\": true,\n    \"genderEnabled\": true,\n    \"voicemailDetectionEnabled\": true,\n    \"languageDetectionEnabled\": true\n  }\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.pathors.com/v1/projects/{projectId}/agent")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"<string>\",\n  \"globalPrompt\": \"<string>\",\n  \"timezone\": \"<string>\",\n  \"memoryEnabled\": true,\n  \"searchKnowledgeBaseEnabled\": true,\n  \"promptModules\": [\n    {\n      \"name\": \"<string>\",\n      \"description\": \"<string>\",\n      \"content\": \"<string>\",\n      \"enabled\": true\n    }\n  ],\n  \"beforeStartConfig\": {\n    \"enabled\": true,\n    \"mode\": \"<string>\",\n    \"toolTemplates\": [\n      {\n        \"toolName\": \"<string>\",\n        \"toolId\": \"<string>\",\n        \"parameters\": {}\n      }\n    ]\n  },\n  \"postSessionWebhook\": {\n    \"url\": \"<string>\",\n    \"headers\": [\n      {\n        \"key\": \"<string>\",\n        \"value\": \"<string>\"\n      }\n    ],\n    \"events\": []\n  },\n  \"postSessionVariableKeys\": [\n    \"<string>\"\n  ],\n  \"postEvaluationConfig\": {\n    \"enabled\": true,\n    \"prompt\": \"<string>\",\n    \"enumOptions\": [\n      \"<string>\"\n    ],\n    \"numberConfig\": {\n      \"min\": 123,\n      \"max\": 123\n    }\n  },\n  \"placeholderMessages\": {\n    \"messages\": {},\n    \"defaultLanguage\": \"<string>\"\n  },\n  \"variableConfigs\": [\n    {\n      \"key\": \"<string>\",\n      \"type\": \"string\",\n      \"description\": \"<string>\"\n    }\n  ],\n  \"voiceIntelligence\": {\n    \"ageEnabled\": true,\n    \"genderEnabled\": true,\n    \"voicemailDetectionEnabled\": true,\n    \"languageDetectionEnabled\": true\n  }\n}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "name": "<string>",
    "type": "<string>",
    "status": "<string>"
  }
}
{
  "error": "<string>"
}
{
  "error": "<string>"
}

Authorizations

Authorization
string
header
required

Developer key created from the dashboard (Settings → Developer Keys)

Path Parameters

projectId
string
required

The ID of your project

Body

application/json
name
string
Required string length: 1 - 16
type
enum<string>
Available options:
monolithic,
skill
status
enum<string>
Available options:
draft,
published
globalPrompt
string
executionMode
enum<string>
Available options:
smart,
economic,
on_premises,
realtime
timezone
string | null
memoryEnabled
boolean
searchKnowledgeBaseEnabled
boolean
promptModules
object[] | null
beforeStartConfig
object | null
postSessionWebhook
object | null
postSessionVariableKeys
string[] | null
postEvaluationConfig
object | null
placeholderMessages
object | null
variableConfigs
object[] | null
voiceIntelligence
object

Response

OK

data
object
required