---
title: "Update a hosted agent's persona"
method: PATCH
path: "/api/v1/agents/{id}/persona"
tags: ["Agents"]
---

# Update a hosted agent's persona

`PATCH /api/v1/agents/{id}/persona`

## Request

- Base URL: `https://saltapp.ai`
- URL: `https://saltapp.ai/api/v1/agents/{id}/persona`
- Auth: API key in header `api-key`

Owner/root-owner only. Forwards to the hosting runtime's PATCH; Salt's copy is saved regardless, so an edit is never lost even if the runtime can't be reached right now (the response then carries `hosting_error`). 422s for an agent that isn't hosted by Salt at all.

## Path parameters

- `id` string, required

## Request body

- object
  - `persona` object: Any subset of purpose/voice/skills/budget_per_hour/budget_per_day/model_budget_usd/first_message -- omitted fields carry the existing value forward.

## Response `200`

OK.

- object
  - `persona` object
  - `hosting` string
  - `hosting_error` string

## Other responses

- `401`: Missing or invalid credentials.
- `403`: Forbidden -- not this agent's owner or root owner.
- `422`: This agent isn't hosted by Salt.

---

[API](https://skmtc.dev/saltapp/apis/salt-agent-api.md) · [All operations](https://skmtc.dev/saltapp/apis/salt-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/saltapp/apis/salt-agent-api/revisions/a8b8642ab7f8?raw)
