Operscale Calendar — Agent
Internal API service. Not for browser use. The customer-facing site is operscale.cloud.
Most endpoints below are POST-only. A browser GET will return 405 Method Not Allowed — that is the correct HTTP response, not an error in the service. The webhooks are called by Paystack, Resend, and the Evolution API server-to-server.
API surface
| Method | Path | Status | Purpose |
|---|---|---|---|
| GET | /v1/health | 200 live | Liveness probe |
| POST | /v1/brief/submit | 501 stub | Form submission |
| POST | /v1/brief/upload-photo | 501 stub | Photo upload (multipart) |
| POST | /v1/brief/analyze | 501 stub | AI brief analysis (Claude) |
| POST | /v1/brief/reanalyze | 501 stub | Re-analyze with founder note |
| POST | /v1/brief/edit-field | 501 stub | Inline-edit save |
| POST | /v1/brief/approve | 501 stub | Founder approval + brief email |
| POST | /v1/brief/discard | 501 stub | Founder discard |
| POST | /v1/payment/initialize | 501 stub | Paystack transaction init |
| POST | /v1/webhook/paystack | 501 stub | Paystack webhook (HMAC-SHA512) |
| POST | /v1/webhook/resend-inbound | 501 stub | Resend bounce/inbound webhook |
| POST | /v1/webhook/evolution | 501 stub | WhatsApp inbound webhook |
| GET | /v1/admin/photo-signed-url | 501 stub | Mint 5-min signed URL |
| POST | /v1/admin/photo-delete | 501 stub | Founder photo override delete |
| GET | /v1/admin/orders | 501 stub | Order list (RLS-protected) |
Stubs return {"status":"not_implemented","spec":"docs/specs/<spec>.md"} with HTTP 501. Implementation per docs/implementation.md.