Skip to main content
A PAL is live from the moment you create it. Edits from PAL Maker and the API both apply to that live PAL directly, until the PAL has a deployment.

Deployments

A PAL has a deployment as soon as it is being used somewhere. Any of these count: Once a PAL has a deployment, further edits in PAL Maker create a draft. The draft is private to Maker and does not affect the live PAL until you press Update to push it. Updating publishes the draft to every deployment at once. Drafts only exist in PAL Maker. The API does not have a draft concept.

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 409 and "conflict": "maker_changes" so an API update does not silently overwrite someone’s in-progress Maker work.
Retry the same PATCH with ?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.

Reads

Get PAL always returns the live PAL. Maker drafts are private and are never returned.