Mit der Venue API entwickeln
Venue CMS ist API-first. Alles, was die Administrationsoberfläche lesen kann, steht auch Ihrer Website zur Verfügung: Veranstaltungen und Kalender, Künstlerprofile, Spielorte, Seiten, Mitgliedschaften, Produkte und mehr. Wir bieten eine REST-API und zwei TypeScript-SDKs. Sie brauchen unsere Vorlage nicht, um unser Backend zu nutzen — sie ist als Ausgangspunkt gedacht.
Schnellstart
Installieren Sie @venuecms/sdk-next, hinterlegen Sie Site-Key und API-Key in der Umgebung und rufen Sie veröffentlichte Inhalte ab:
VENUE_SITE_KEY=your-site-key
VENUE_API_KEY=your-api-keyimport { getEvents } from "@venuecms/sdk-next";
const { data } = await getEvents({ upcoming: true, dir: "asc" });
for (const event of data?.records ?? []) {
console.log(event.slug, event.startDate, event.location?.city);
}OpenAPI-Spezifikation
Die vollständige API-Spezifikation. Generieren Sie daraus einen typisierten Client in jeder Sprache oder nutzen Sie unser SDK, das darauf optimiert ist.
Öffentliche Endpunkte
Die schreibgeschützte Schnittstelle, aus der eine öffentliche Website aufgebaut wird. Jeder Endpunkt wird mit einem API-Token authentifiziert, wobei der Site-Key Ihre Organisation identifiziert.
- Referenz
- REST-API-Dokumentation
- Authentifizierung
Authorization: Bearer <api-key>
| Endpunkt | Liefert | SDK |
|---|---|---|
GET /site | Site settings, locales and theme | getSite() |
GET /events | Published events, paginated | getEvents() |
GET /events/dates | Years and dates that have events, for calendar UI | getEventDates() |
GET /events/{slug} | A single event | getEvent() |
GET /news | News and blog posts | getNews() |
GET /news/dates | Years and dates that have news posts, for archive UI | getNewsDates() |
GET /news/{slug} | A single news post | getNewsArticle() |
GET /pages | Published pages | getPages() |
GET /pages/{slug} | A single page with its content tree | getPage() |
GET /profiles | Artist and staff profiles | getProfiles() |
GET /profiles/{slug} | A single profile | getProfile() |
GET /profiles/{slug}/events | Events for one artist | getProfileEvents() |
GET /profiles/{slug}/products | Merchandise and releases for one artist | getProfileProducts() |
GET /products | Merchandise and releases | getProducts() |
GET /products/{slug} | A single product | getProduct() |
GET /search | Full-text search | searchSite() |
GET /tags | Tag taxonomy | getTags() |
SDKs
Zwei veröffentlichte Pakete, die regelmäßig aktualisiert werden. Greifen Sie zur Next.js-SDK-Bibliothek, sofern Sie nicht außerhalb von Next.js entwickeln — sie ist stark optimiert.
@venuecms/sdk-nextA library optimised for Next.js. It bundles @venuecms/sdk, so there is nothing else to install, and adds React server components for rendering Venue content.
npm install @venuecms/sdk-next@venuecms/sdkThe TypeScript client for the Venue API, for builds outside Next.js. Runs in any fetch-capable runtime.
npm install @venuecms/sdk
Starter-Vorlage
template-minimal ist eine funktionsfähige Next.js-Website für eine Spielstätte oder Künstler:in — Veranstaltungen, Künstlerprofile, Seiten und Lokalisierung sind über das SDK angebunden. Ein schneller Ausgangspunkt für ein neues Projekt.
git clone https://github.com/venuecms/template-minimal.gitVollständige Dokumentation
Anleitungen, Referenz und beide SDKs in voller Tiefe. Jede Dokumentationsseite liefert außerdem Markdown aus, wenn Sie .md an ihre URL anhängen, und die gesamte Spezifikation ist in einer einzigen Anfrage verfügbar, damit Agenten damit bauen können.
llms.txt — diese Plattform als maschinenlesbares Verzeichnis