curl --request PATCH \
--url https://tavusapi.com/v2/pals/{pal_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
[
{
"op": "replace",
"path": "/system_prompt",
"value": "As a Life Coach, you are a dedicated professional who specializes in..."
}
]
'{
"pal_id": "pcb7a34da5fe",
"discarded_maker_changes": true
}{
"message": "No changes were made to the PAL"
}{
"error": "layers.conferencing must be patched separately from authored persona fields"
}{
"error": "This PAL has changes in PAL Maker. Retry with force=true to update live and discard those Maker changes.",
"live_pal_id": "pcb7a34da5fe",
"conflict": "maker_changes"
}{
"message": "Invalid JSON patch format"
}PAL
Patch PAL
Update specific fields of a PAL using JSON Patch operations.
PATCH
/
v2
/
pals
/
{pal_id}
curl --request PATCH \
--url https://tavusapi.com/v2/pals/{pal_id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
[
{
"op": "replace",
"path": "/system_prompt",
"value": "As a Life Coach, you are a dedicated professional who specializes in..."
}
]
'{
"pal_id": "pcb7a34da5fe",
"discarded_maker_changes": true
}{
"message": "No changes were made to the PAL"
}{
"error": "layers.conferencing must be patched separately from authored persona fields"
}{
"error": "This PAL has changes in PAL Maker. Retry with force=true to update live and discard those Maker changes.",
"live_pal_id": "pcb7a34da5fe",
"conflict": "maker_changes"
}{
"message": "Invalid JSON patch format"
}For AI agents, use
https://docs.tavus.io/openapi.yaml for the full HTTP API contract.The patch applies to the live PAL. If the PAL has unapplied changes in PAL Maker, the write is rejected with
409 ("conflict": "maker_changes") so it cannot silently overwrite in-progress Maker work. Retry with ?force=true to update the live PAL and discard those Maker changes. See PAL editing lifecycle.layers.conferencing is patched separately. layers.conferencing (the Google Meet / Zoom / Teams integration) controls how people reach the PAL, so it always applies immediately: a single request cannot mix conferencing ops with edits to other fields — split the request in two.Authorizations
Path Parameters
The unique identifier of the PAL.
Example:
"pcb7a34da5fe"
Query Parameters
Only relevant when the PAL has unapplied changes in PAL Maker, which makes a normal patch return 409 with "conflict": "maker_changes". Pass force=true to update the live PAL anyway and discard those Maker changes. The response then includes discarded_maker_changes: true.
Body
application/json
The operation to perform. Must be one of: add, remove, replace, copy, move, test
Available options:
add, remove, replace, copy, move, test Example:
"add"
The value to be used within the operation. This field is not required for the remove operation.
Example:
"tavus-llama-4"

