Mobile API
Mobile booking API: OpenAPI for native apps
Ranovu mobile booking API documented in docs/openapi/public-api.json with 283 paths covering public booking and provider ops. Bearer JWT auth, Zod schema CI gates, contract tests, and codegen. Native app rollout aligned with FEATURE_OPENAPI_NATIVE_MOBILE_PLAN.
Key features
OpenAPI 3.1 catalog
283 paths: /api/public/* availability, checkout, services.
Bearer auth
Provider routes accept Authorization Bearer; cookies for web.
Zod contract CI
docs:openapi + validate:openapi block schema drift.
Rate limits
Public IP buckets; provider 300/min global Redis.
Why API for mobile?
Web /randevu works in browser; native apps want push and shell.
Same backend via documented REST.
Public endpoints
GET /api/public/availability, POST appointments, checkout, services.
Turnstile and limits apply to mobile too.
Provider endpoints
/api/provider/* for mobile dashboard parity.
Bearer token from Supabase session.
Codegen
npm run codegen:openapi emits TypeScript types.
Contract tests
139 integration tests assertOpenApiResponseData parity.
Out of scope
Webhooks, Inngest, PayTR HTML callback not in OpenAPI.
See ROUTE_COVERAGE.md.
Start with API
Download public-api.json. Run codegen.
Probe public availability with test provider.
Easy setup steps
From the free plan to a live booking page-often done within about an hour.
Free signup
Create your account with no credit card and open the dashboard.
Roon AI setup
Generate profession-fit site copy and section structure.
Services and availability
Set pricing, duration, and weekly availability templates.
Publish your site
Go live on your subdomain with a working booking page.
Share the booking link
Post it on Instagram, WhatsApp, or your existing website.
Approve the first booking
Confirm from the panel and test WhatsApp confirmation and reminders.
Vs scraping web
HTML scrape breaks on deploy. OpenAPI stable contract.
Frequently asked questions
- Official app?
- Native app planned; API production-ready.
- API key public?
- Public routes IP rate limited; no API key.
- OAuth server?
- Supabase JWT; no separate OAuth2.
- Webhooks mobile?
- HMAC provider webhooks separate from push.
- Sandbox?
- Staging shares DB; test carefully.
- GraphQL?
- REST/OpenAPI only.
Get started with Ranovu
Create a free account and publish your booking site in minutes.