Developers
Build with RTAS Studio AI
Integration notes for operators and engineers — health probes, billing webhooks, and share surfaces. This documents the existing web BFF; it is not a general public generation SDK. Creator workflow docs stay under Documentation and How to use.
Public API endpoints
Safe to call without a user session. Prefer these for monitoring and reading published shares.
GET/api/healthNoneLiveness JSON for the web service (`status`, `service`, `timestamp`). Use for uptime monitors and load balancers. Does not validate databases or GPU workers.
GET/api/readyNone (minimal)Readiness probe for deploy and ops gates. Public response stays minimal; detailed dependency checks require an authorized admin request.
GET/api/share/[videoId]NoneReturns the public share payload for a published video. Responds 404 when the video is not shared. Pair with the public `/share/[videoId]` page for client review.
Authenticated & webhook patterns
Documented for operators integrating checkout and share. Generation, upload, checkout, and account routes under /api/* require a valid NextAuth session (or webhook signature) and are intended for the first-party web app — not for inventing third-party private API clients.
POST/api/share/[videoId]Session requiredPublishes a generation job for public viewing. Validates the video URL against allowed app and media hosts. Rate limited per authenticated user and client IP.
POST/api/webhooks/paddleProvider signaturePaddle Merchant of Record webhooks update subscription state server-side. Configure the published URL in your Paddle dashboard; treat as fail-closed on invalid signatures.
POST/api/webhooks/lemon-squeezyProvider signatureLemon Squeezy webhooks for subscription and order events when that MoR is active. Same fail-closed verification model as Paddle.
Auth and rate limits
Authentication notes
- Browser sessions use NextAuth (email credentials and optional Google OAuth).
- Authenticated BFF routes call session helpers server-side; unauthenticated callers receive standard HTTP error responses.
- Webhooks authenticate via provider signatures — never expose merchant secrets to the client.
- Admin-detailed readiness checks require an authorized admin secret header.
Rate limits (conceptual)
- Sensitive mutations (for example share publish) apply per-user and per-IP windows and return retry-after style responses when exceeded.
- Generation and checkout paths are credit- and session-guarded; treat them as first-party app traffic, not open bulk APIs.
- Health and readiness are safe for frequent polling; keep intervals reasonable for your monitor (typically tens of seconds or more).
- Abusive traffic may be blocked at the edge or application layer without prior notice.
Health & readiness
Monitor liveness via /api/health and readiness via /api/ready. Open live JSON from the Status page for this deployment.
Payments webhooks
Paddle and Lemon Squeezy webhooks update subscription state server-side. Point your merchant dashboard at the published webhook routes.
Share links
Generated videos can be published through the share API and public /share/[videoId] pages for social and client review.
Source & issues
The product monorepo and release notes live on GitHub. Prefer Help Center for account issues; use GitHub for engineering discussion.
Support vs engineering
Account, credits, and download questions go to Help Center. Platform status and API surfaces are documented here for technical teams.