Reference

REST API

Use your app's backend from any client.

Every app exposes a JSON REST API — the same one the web SDK and Flutter apps use.

Base URL: https://maker77.com/api/runtime/<PROJECT_ID>

Find your project ID in the builder URL (/build/<PROJECT_ID>). CORS is enabled for all origins.

Authentication

Optional. Sign in to get a token and send it as Authorization: Bearer <token>.

MethodPathBodyReturns
POST/auth/signup{ email, password, name }{ token, user }
POST/auth/signin{ email, password }{ token, user }
GET/auth/me—{ user }

Database

MethodPathNotes
GET/db/<collection>Query: where (URL-encoded JSON), sort, limit, offset, mine=1 → { items }
GET/db/<collection>/_count→ { count }
GET/db/<collection>/<id>→ record or 404
POST/db/<collection>Body { data: {...} } → record
PATCH/db/<collection>/<id>Body { data: {...} } (merge) → record
PUT/db/<collection>/<id>Body { data: {...} } (replace) → record
DELETE/db/<collection>/<id>→ { ok: true }

AI, storage, email

MethodPathBody
POST/ai{ messages: [{role, content}], system?, json? } → { text, data? }
POST/storage/uploadmultipart/form-data with file → { id, url, name, size }
POST/email/send{ to, subject, html } → { ok }
POST/payments/checkout{ items: [{name, amount, quantity}], currency?, returnUrl, metadata? } → { url, sessionId }
GET/payments/verify?session_id=→ { paid, payment }

Example

curl "https://maker77.com/api/runtime/PROJECT_ID/db/tasks?sort=-createdAt&limit=10"

curl -X POST "https://maker77.com/api/runtime/PROJECT_ID/db/tasks" \
  -H "Content-Type: application/json" \
  -d '{"data": {"title": "From the API", "done": false}}'

Errors

Errors return JSON { "error": "message" } with a 4xx/5xx status. 429 means you hit a rate limit; 402 means the app owner is out of integration credits.