Silicon ZombiesSILICON ZOMBIESDEVELOPER DOCSOpen preview

Reference

API reference

A human-readable map of the v1 REST contract. Use the OpenAPI document for generated clients, schema tooling, and complete operation metadata.

API reference

All application endpoints use https://zombies.necodex.dev/api/v1. Requests and ordinary responses are JSON. Webhooks acknowledge with 204, while the authorized audio stream redirects to a temporary media URL.

Response contract

// Success
{ "data": { /* resource */ }, "requestId": "optional-id" }

// Error
{ "error": { "code": "SAFE_CODE", "message": "Safe message", "details": {}, "requestId": "…" } }
Authorization is server-side.

Use the bearerAuth security scheme for session-protected routes. A resource card can be rendered as locked for upsell, but its stream, RSVP, post, chat, and admin actions must receive server authorization.

Auth

GET/api/v1/healthService health
POST/api/v1/auth/loginCreate an opaque session from email and password
POST/api/v1/auth/registerCreate a Human account and opaque session
POST/api/v1/vip/applySubmit a Zombie VIP application

Home

GET/api/v1/homePublic home composition; optional bearer token personalizes locks and RSVP state

Content

GET/api/v1/contentList published content; access is the entitlement source of truth and tags are descriptive metadata
GET/api/v1/preview/audioShared-preview generated audio fixture. It exists only when PREVIEW_MODE=true and is the redirect target of an authorized stream request.

Events

GET/api/v1/eventsList events with optional tier-aware booking availability
GET/api/v1/preview/luma/eventsGet secret-free normalized Luma preview sync data

Community

GET/api/v1/spacesList community spaces, including VIP locks

Live

GET/api/v1/liveGet current live-stream state with optional VIP lock metadata

Podcast

GET/api/v1/podcastGet local Spotify-shaped preview show metadata; replace with a provider adapter when configured

Billing

GET/api/v1/billing/statusGet server-authoritative subscription status
POST/api/v1/billing/checkoutCreate a hosted Stripe Checkout session after VIP approval
POST/api/v1/billing/mobile-payment-sheetCreate an Android or eligible iOS PaymentSheet subscription flow
POST/api/v1/billing/portalCreate a Stripe customer-portal session

Admin

POST/api/v1/admin/contentCreate or update content
GET/api/v1/admin/applicationsList VIP applications
POST/api/v1/admin/applications/{id}/approveApprove an application and create Stripe Checkout
POST/api/v1/admin/applications/{id}/rejectReject an application
POST/api/v1/admin/events/{id}/checkinCheck in an attendee or promote a waitlisted RSVP
DELETE/api/v1/admin/messages/{id}Remove a message
PATCH/api/v1/admin/messages/{id}Pin or unpin a message
GET/api/v1/admin/reportsList moderation reports
PATCH/api/v1/admin/reportsResolve a report
POST/api/v1/admin/live/startMark a YouTube stream live
POST/api/v1/admin/live/endEnd a live stream
POST/api/v1/admin/live/{id}/syncSynchronize live status and viewers from YouTube
GET/api/v1/admin/metricsGet revenue, subscription, and retention metrics
GET/api/v1/admin/integrationsGet secret-free external integration readiness

Webhooks

POST/api/v1/webhooks/stripeReceive verified Stripe events
POST/api/v1/webhooks/lumaReceive Luma events after configured signature verification