Deployments
A PAL has a deployment as soon as it is being used somewhere. Any of these count:- A landing page, embed, or widget created in PAL Maker.
- A Google Meet or Zoom meeting identity (
layers.conferencing). - A conversation created through the API with Create Conversation.
Editing via the API
The API always writes to the live PAL:- If PAL Maker has no draft, Patch PAL updates the live PAL and returns
200. - If PAL Maker has a draft, the write is rejected with
409and"conflict": "maker_changes"so an API update does not silently overwrite someone’s in-progress Maker work.
?force=true to update the live PAL anyway and discard the Maker draft. The response then includes "discarded_maker_changes": true.
Use force=true when the API is the source of truth for the field. Leave it off when a person might be mid-edit in Maker — the 409 is telling you their changes would be lost.
layers.conferencing is the exception: meeting settings apply immediately in both surfaces and a conferencing-only patch is never rejected with 409. It must be sent separately from other field edits.

