Overview
The AXP Unpublish API takes a list of paths off the edge for a registered AXP site and retires their optimized-page rows in a way that no automated writer will undo. It is designed for compliance-driven takedowns that must land faster than the weekly optimization cadence. Each request runs immediately: for every path, the deterministic edge key is deleted and the row is marked as archived with a terminalapi_takedown reason. Once a row is in that state, a re-stage, a redeploy of an older version, a rollback, or a render job will leave it retired — the page’s content is preserved, but nothing brings it back live automatically.
Bringing a taken-down page back live still works from the Scrunch dashboard. The terminal state only binds automated writers; a human with brand:update can re-activate the page through Optimized pages → Edit, which clears the removal reason.
When to use the AXP Unpublish API
Use this API when you need to:- Remove a curated page from the edge immediately, for example after pulling a regulated page from your origin.
- Guarantee a removal survives your normal optimization and deploy cycles without a human watching for silent resurrection.
- Wire a delete surface from a notify or content-management integration through one shared front door.
Scope is curated (Adaptive) pages only. Universal Optimization has its own removal path and is not affected by this endpoint.
Endpoint
The endpoint requires a bearer token with the
configure scope. See Authentication.
Engine version requirement
The endpoint requires the target site to be on AXP engine version 2.1.0 or later. On 2.1.0+, a page is served if and only if its deterministic edge key exists, so deleting the key is the unpublish. On earlier engines a page stops being served only when the next version deploy rebuilds the routing manifest without its path. A request against a site below 2.1.0 is refused with a409 before any row is touched. This is deliberate: retiring the row anyway would return success for a takedown whose serving half lands at an unknown later time.
Request
Path normalization and deduplication
Before processing, the API normalizes each path:- Surrounding whitespace is stripped.
- A leading
/is added when missing. - Duplicates after normalization are dropped, preserving input order.
/Home and /home are two separate rows and are processed separately.
Response
The response is an object with aresults array holding one entry per requested path, in the order the paths were sent.
Outcome values
The request itself succeeds — HTTP
200 — as long as it was well-formed and the site is eligible. Failures on individual paths surface as failed outcomes in the body so a caller with a 100-path list is not blocked by one bad entry.
Example: unpublish curated pages
Errors
Limits and behavior
- Maximum 100 paths per request. Split larger batches into multiple calls. The endpoint is idempotent, so re-sending overlapping batches is harmless.
- Each path must be 1–2048 characters after normalization.
- The row is committed as retired before the edge delete is issued. If the process crashes between the two, the reconcile sweep converges the state by finishing the edge delete on its next run.
- A page that was previously archived from the dashboard is upgraded to a terminal takedown on the first
unpublishedoutcome. From then on, automated writers stop being able to bring it back. - Lifting a takedown is a human action: edit the page in the Scrunch dashboard and set its status back to Active. That clears the terminal state and re-enables the normal reversible archive semantics.
Best practices
- Retry idempotently. The endpoint is safe to retry after network errors or partial failures; already-taken-down paths report
already_unpublishedand are counted as success. - Act on
failedandskippedresults. These are the only outcomes a caller usually needs to do something about — retryfailedafter the reconcile sweep has run, and resolve the key collision behindskippedbefore retrying. - Confirm engine eligibility before wiring a compliance flow. If your sites are still on AXP 2.0.0, this endpoint will 409 uniformly. Contact your Customer Success representative to migrate a site to 2.1.0.
- Audit through activity log. Each successful takedown records a
CONTENT_TAKEN_DOWNactivity entry tagged with the API key, so removals can be traced back to the caller.