Skip to main content

Overview

The AXP Render API queues asynchronous render jobs for paths on a registered AXP site. Each job fetches the live page from your origin, strips noise (scripts, styles, inline event handlers, base64 images), and persists the cleaned HTML as an optimized page that you can then edit, version, and deploy from the Scrunch dashboard. Use it to seed an AXP site with content programmatically — for example, after a sitemap import or when onboarding a new domain — without clicking through Add Content for each path. Renders run in the background. The endpoint responds as soon as jobs are queued; you can correlate the returned job_id with the page that appears in the AXP content list once the job completes.

When to use the AXP Render API

Use this API when you need to:
  • Bulk-seed an AXP site with optimized pages for a known list of paths.
  • Re-render an archived path to reactivate it as an Active page.
  • Refresh stale renders after a marketing-site redeploy, on a schedule.
For interactive, one-off renders, use Add Content → Render from site in the Scrunch dashboard. For audit-then-optimize-then-deploy workflows, use the Optimize and Deploy API instead.

Endpoint

The endpoint requires a bearer token with the configure scope. See Authentication.

Request

Path normalization and deduplication

Before queueing, the API normalizes each path:
  • Surrounding whitespace is stripped.
  • A leading / is added when missing.
  • Duplicates after normalization are dropped, preserving input order.
So ["/blog", "blog", " /blog "] queues a single job for /blog.

Coalescing in-flight jobs

If a path already has a pending or running job on the same site, the request returns the existing job_id instead of queueing a new one. This makes the endpoint safe to retry with the same batch — you won’t end up with duplicate renders or duplicate optimized pages.

Response

The response is an array of items, one per unique path: Job status values: pending, running, succeeded, failed, cancelled.

Example: queue renders

Response:
In this response the first two paths were freshly queued, and /blog/launch-announcement coalesced onto an in-flight job (1801) from an earlier call.

Errors


Limits and behavior

  • Maximum 100 paths per request. Split larger batches into multiple calls.
  • Each path must be 1–2048 characters after normalization.
  • The target site must have axp_status set to active and a configured domain.
  • Re-rendering a path that exists as an archived page reactivates it as Active and logs a CONTENT_CREATED event.
  • Pages rendered through this API show up in the AXP content list with the same statuses as renders started from the dashboard.

Best practices

  • Poll the dashboard or correlate job IDs from your logs to confirm completion — succeeded jobs produce an optimized page you can deploy.
  • Retry idempotently. Because in-flight jobs coalesce, the same batch can be sent again after a network error without creating duplicate work.
  • Pair with the Sitemap API to source the path list. Filter by is_priority=true to seed AXP with your most important pages first.