Overview
Read-only JSON endpoints served from your Basker site for use in themes and embedded widgets
The FrontStage API is the read-only JSON surface served from your Basker site. Themes use it to power calendars, search-as-you-type, and any widget that needs live data fetched from the browser. Every endpoint is same-origin, unauthenticated for public content, and can be served from the edge cache.
When to use it
- Live data inside a theme — a calendar widget that paginates by month, an event search box, an "upcoming events" feed that updates without a redeploy.
- Embedded widgets on another site — anything that runs in a browser and can fetch from your Basker domain.
- Lightweight integrations where the Partners API is overkill — no API key, no cross-origin setup, no custom infrastructure.
For server-to-server integrations, large data syncs, or anything that mutates content, use the Partners API instead.
How it differs from the Partners API
| FrontStage API | Partners API | |
|---|---|---|
| Host | Your Basker site ({your-domain}/api/...) | https://api.basker.app/partners/... |
| Auth | None — public content only | API key required |
| Methods | GET only | Full REST (GET, POST, PATCH, DELETE) |
| Tenant context | Inferred from the requested domain | Explicit in the URL path |
| Caching | Can be served from the edge cache | Per-request, not edge-cached |
| Scope | Published content visible to site visitors | Drafts, archives, and editor-only fields too |
Conventions
- Base URL. Replace
{your-domain}in examples with your Basker site's primary domain — for example,https://royal-opera-house.basker.appor your custom domain. .jsonsuffix. Endpoints accept the.jsonsuffix and the bare path interchangeably (/api/event-instances.jsonand/api/event-instances).- Response shape. List endpoints return paginated JSON: a
docsarray plus pagination metadata (totalDocs,page,limit,totalPages,hasNextPage,hasPrevPage,nextPage,prevPage,pagingCounter). - Pagination. Use
?page=and?limit=query parameters. Defaults vary by endpoint. - Field selection. Most endpoints accept
?select=to return a narrowed subset of fields. - Relationship expansion. Endpoints that accept
?depth=can expand related records inline. Custom data settings can keep selected relationships as summaries or IDs. - Locale. Translated fields come back in your site's configured language automatically — there's no locale parameter to set on these endpoints.
Reference
- Content endpoints — list and fetch any content type: events, pages, posts, blogs, people, venues, organizations, seasons, series, works, and smart collections.
- Event instances — list and fetch upcoming or past performances, with date filtering and ticketing data.
- Search — full-text query across all your published content at once.
- Custom objects — read your site's custom object definitions and their instances.
Every endpoint follows the conventions above: a same-origin GET, the optional .json suffix, a paginated docs envelope on list endpoints, and optional edge caching.
What's coming
The FrontStage API will eventually serve rendered HTML for individual blocks and snippets, similar to Shopify's section rendering API — fetch a fragment of your theme rendered against live data and swap it into the page without a full reload. That work is in progress; this page will document it once it ships.