---
title: "Publish PAL"
method: POST
path: "/v2/pals/{pal_id}/publish"
tags: ["PALs"]
---

# Publish PAL

`POST /v2/pals/{pal_id}/publish`

Publishes the PAL Builder draft associated with this `pal_id`, making its content the live version used by new conversations, deployments, and public reads.

Call this after a draft-routed [Patch PAL](/api-reference/pals/patch-pal) response. That response includes a `publish_url` you can use directly. Publishing preserves the live `layers.conferencing` configuration and keeps the draft row available for future Builder edits.

If the PAL has no Builder draft, the call is idempotent: Tavus returns the current live PAL. You can pass either the stable live PAL id or its underlying draft id, although integrations should normally keep and publish the stable live `pal_id`.

## Response `200`

The published live PAL. `status` is `success`.

- object
  - `status` 'success'
  - `pal_id` string — The stable id of the live PAL that now contains the published draft content.
  - `pal_name` string — The published PAL name.
  - `system_prompt` string — The published system prompt.
  - `updated_at` string — The date and time when the live PAL was updated.

## Other responses

- `400` — Bad Request - the PAL does not exist or is not editable by the authenticated account.
- `401` — UNAUTHORIZED

---

[API](https://skmtc.net/tavus/apis/tavus-developer-api-collection.md) · [All operations](https://skmtc.net/tavus/apis/tavus-developer-api-collection/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tavus/tavus-developer-api-collection/versions/c878e2f6508d/schema)
