---
title: "Update Expert Soul"
method: PATCH
path: "/api/experts/{expert_id}/soul"
tags: ["v2", "experts", "experts", "private"]
---

# Update Expert Soul

`PATCH /api/experts/{expert_id}/soul`

## Path parameters

- `expert_id` string, required

## Request body

- ExpertSoulUpdate
  - `name` string, required
  - `identity` string, required
  - `voice_preferences` string, required
  - `boundaries` string, required

## Response `200`

Successful Response

- Expert
  - `id` string, required
  - `name` string, required
  - `avatar_url` string, nullable, required
  - `color` string
  - `role` string, required
  - `tagline` string, nullable, required
  - `bio` string, nullable, required
  - `skills` string[], required
  - `categories` string[]
  - `identity` string, required
  - `voice_preferences` string, required
  - `voice_samples` VoiceSample[]
    - `label` string, required
    - `text` string, required
  - `day_one` ExpertDayOneItem[]
    - `title` string, required
    - `description` string
    - `timing` string
  - `boundaries` string, required
  - `protected_soul_rules` string[], required
  - `is_template` boolean, required
  - `source_template_id` string, nullable, required
  - `is_archived` boolean, required
  - `workflows` ExpertWorkflowRef[], required
    - `id` string, required
    - `store_listing_version_id` string, nullable, required
    - `library_agent_id` string, nullable, required
    - `graph_id` string, nullable, required
    - `name` string, nullable, required
    - `description` string, nullable, required
    - `schedule_cron` string, nullable
    - `schedule_id` string, nullable
    - `chain` ExpertWorkflowChainItem[]
      - `kind` 'integration' | 'input' | 'output' | 'trigger' | 'agent' | 'ai' | 'mcp' | 'human', required
      - `provider` string, nullable
    - `integration_providers` string[]
  - `credential_count` integer
  - `credential_providers` string[]
  - `last_run_at` string, date-time, nullable
  - `last_run_status` string, nullable
  - `weekly_budget` integer, nullable
  - `weekly_spend` integer
  - `schedules_paused_at` string, date-time, nullable
  - `pod_id` string, nullable

## Other responses

- `401` — Authentication required
- `404` — Expert not found
- `422` — Validation Error

## Changes

- **2026-09-11** `505bcf724618` — 1 info
  - added the optional property `categories` to the response with the `200` status
- **2026-09-11** `d0ab5162cf6e` — 1 info
  - added the optional property `day_one` to the response with the `200` status
- **2026-09-11** `55ff31eb7c7f` — 1 info
  - added the optional property `workflows/items/integration_providers` to the response with the `200` status
- **2026-09-11** `df48f75f9e8b` — 1 info
  - added the optional property `credential_providers` to the response with the `200` status
- **2026-09-07** `d3946c727d24` — 2 info
  - added the optional property `credential_count` to the response with the `200` status
  - added the optional property `workflows/items/chain` to the response with the `200` status

[Full history](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/changes/api/experts/:expert_id/soul/patch.md)

---

[API](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server.md) · [All operations](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/llms.txt) · [OpenAPI document](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/revisions/5f27fa9d6c03?raw)
