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/healthNone

Liveness 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]None

Returns 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 required

Publishes 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 signature

Paddle 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 signature

Lemon 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.