Logo
Search
Docs

Update agent

PATCH https://app.sulus.ai/api/v1/agents/{agent_id}

Update an agent (PUT also accepted)

Authentication

Send a bearer token created on your dashboard's Developer page:

Authorization: Bearer <YOUR_API_KEY>

Path parameters

agent_id string Required

The agent id (UUID).

Validation: uuid (route-constrained)
Stored in ai_projects.uid

Request body

name string Optional

New name. When present it must not be empty.

Validation: sometimes|required|string|max:255
Stored in ai_projects.name
description string Optional Nullable

New description; null clears it.

Validation: sometimes|nullable|string|max:5000
Stored in ai_projects.description
instructions string Optional Nullable

New instructions; null clears them.

Validation: sometimes|nullable|string|max:10000
Stored in ai_projects.instructions

Errors

StatusMeaningBody
404 Agent not found, or you do not have access to it
422 Validation failed {"message":"…","errors":{"field":["…"]}}
401 Missing or invalid bearer token
403 Feature ai_chat not enabled for the account

Notes

  • Requires edit access.
  • memory is read-only: a memory field in the request body is ignored.
curl --request PATCH \
  --url https://app.sulus.ai/api/v1/agents/{agent_id} \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Support Agent",
  "description": "Handles pre-sales questions too.",
  "instructions": "Be concise, friendly, and offer to connect the caller with a specialist for pricing."
}'
import requests

url = "https://app.sulus.ai/api/v1/agents/{agent_id}"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}
payload = {
  "name": "Support Agent",
  "description": "Handles pre-sales questions too.",
  "instructions": "Be concise, friendly, and offer to connect the caller with a specialist for pricing."
}

response = requests.patch(url, json=payload, headers=headers)
print(response.json())
package main

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

func main() {
	url := "https://app.sulus.ai/api/v1/agents/{agent_id}"
	payload := strings.NewReader(`{
  "name": "Support Agent",
  "description": "Handles pre-sales questions too.",
  "instructions": "Be concise, friendly, and offer to connect the caller with a specialist for pricing."
}`)
	req, _ := http.NewRequest("PATCH", url, payload)
	req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
	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))
}
Response 200
{
    "object": "agent",
    "data": {
        "id": "a1b2c3d4-0000-4000-8000-000000000001",
        "object": "agent",
        "name": "Support Agent",
        "description": "Handles pre-sales questions too.",
        "instructions": "Be concise, friendly, and offer to connect the caller with a specialist for pricing.",
        "memory": "The customer prefers email follow-ups over phone calls.",
        "created_at": "2026-06-01T14:32:07.000000Z",
        "last_activity_at": "2026-07-29T09:15:44.000000Z"
    }
}