Static export is in private beta and requires an enterprise agreement. Please contact sales@mintlify.com to inquire further.
Page URLs in static bundles
Static exports use.html URLs that match the files in the bundle. For example, /guides/getting-started becomes /guides/getting-started.html. This happens automatically and requires no configuration.
Canonical and sitemap URLs remain extensionless. CloudFront resolves these URLs automatically, but other static hosts may require rewrite rules.
How static export works
A static export runs as an asynchronous job. You start the job for a project, then poll for its status until the bundle is ready to download.1
Start a static export job
Call Start static export job with your project ID. The API queues the job and returns a
jobId.A deployment can have only one active job at a time. If a job is already queued or running for the deployment, the endpoint returns 409. The endpoint is rate-limited to 10 job starts per organization per hour.2
Poll the job and download the bundle
Poll Get static export job status with the
jobId until status is completed. The completed response includes bundleUrl, a time-limited presigned S3 link to the bundle, along with sizeBytes and an expiresAt timestamp.Download the bundle before expiresAt. After it expires, call the status endpoint again to get a fresh bundleUrl. The underlying export files remain reusable. Only the link is time-limited.Feature support by deployment
Which features are available depends on how you host your deployment. Air-gapped deployments have no outbound network access, so anything that relies on Mintlify’s cloud services is unavailable. Features labeled Configurable have different availability depending on your environment’s setup.Endpoints
- Start static export job: Queue a static export job for a project.
- Get static export job status: Poll job state and, once complete, retrieve a presigned bundle download link.
Authentication
Authenticate requests with your admin API key. Generate an admin API key on the API keys page in your dashboard. Admin API keys begin with themint_ prefix and are server-side secrets—do not expose them in client-side code.
Copy your project ID from the same page and use it as the projectId path parameter.
Deploy the bundle to your Enterprise Helm chart
Self-hosted Mintlify deploys with the Helm chart in themintlify/enterprise repository. Once a static export job completes, you point the chart at the bundleUrl and the deployment serves it from your own infrastructure.
1
Add the bundle reference to your values
Set the static export fields in your
values.yaml to the bundleUrl returned by Get static export job status. The chart fetches the bundle on startup and serves it as the active version.values.yaml
2
Roll out the chart
Apply the updated values with a
helm upgrade. The deployment downloads the bundle, swaps it in as the live site, and serves it from your cluster.Automate with a GitHub Action
The following template workflow runs the full export loop on a schedule or on demand. It starts a job, polls until the export completes, then rolls the newbundleUrl into the Helm chart.
.github/workflows/static-export.yml
MINTLIFY_ADMIN_KEY repository secret and set PROJECT_ID to your project’s ID. Before deploying, configure cluster credentials, for example with azure/setup-helm and your Kubernetes configuration file (kubeconfig).