Skip to content

Slug Rules

Every deployment gets a slug that becomes its subdomain: {slug}.based.page.

Format

  • Lowercase letters, numbers, and hyphens only
  • 1–64 characters
  • Must start and end with a letter or number (no leading/trailing hyphens)
  • Must contain at least one hyphen. All single-word slugs (e.g. mysite, acme, launch) are reserved and cannot be used. Always use a hyphenated slug like my-site or acme-launch.

Valid examples: my-site, acme-launch, q1-report-2026, a1

Invalid examples: MyApp (uppercase), -my-site (leading hyphen), mysite (single word), acme (single word), api (reserved)

Uniqueness

Slugs are globally unique across all Based Page deployments. If a slug is already taken, the deploy fails with a 409 conflict error:

json
{ "error": "slug \"my-site\" is already taken" }

Choose a different slug or omit it to get an auto-generated one.

Auto-generated Slugs

If you omit the slug field, Based Page generates one automatically:

bright-forest-x7k2.based.page

Auto-generated slugs are always unique and always contain a hyphen.

Renaming a Slug

The slug cannot be changed via the update MCP tool or CLI. To rename a deployment, use the API:

bash
curl -X PATCH https://api.based.page/deploy/{id}/slug \
  -H "Authorization: Bearer bp_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "slug": "new-slug" }'

The URL changes immediately. The old slug becomes available for reuse.

Notes

  • Slugs are permanent for the life of a deployment unless explicitly renamed via the API.
  • Tearing down a deployment frees its slug - it becomes available again immediately.
  • Custom domains bypass slug routing entirely and are configured separately.

Reserved Slugs

All single-word slugs are reserved. The following slugs are also blocked regardless of context:

api, www, docs, mail, smtp, imap, pop, ftp, cdn, ns1, ns2, ns3, auth, login, logout, signup, register, account, dashboard, admin, root, system, privacy, privacy-policy, terms, terms-of-service, tos, legal, dmca, abuse, security, based, based-page, app, blog, help, support, status, billing, settings, index

Attempting to deploy with a reserved slug returns a 400 error.

Deploy apps from conversation.