Authentication & scopes
Authorization: Bearer rk_live_..., same key format as everywhere else. Every route additionally requires a scope on that specific key:
A key created with only
submit scope (the default for a key meant to authenticate submissions) is rejected by every Server Data API route — read access has to be explicitly granted when you create the key.
Endpoints
List forms
GET /api/v1/server/forms — supports page, limit, search, sortBy.
Get a form
GET /api/v1/server/forms/:public_id
List submissions
GET /api/v1/server/forms/:public_id/submissions — supports page, limit, status, search, range (all | 7d | 30d | 90d).
object
Submitted field values, keyed the same way they were submitted.
string
completed, spam, or suspicious, decided server-side by Raykoi’s spam-scoring pipeline (honeypot, CAPTCHA, rate limiting, and repeated-failure signals).id is always the submission’s public ID.
Get a submission
GET /api/v1/server/forms/:public_id/submissions/:submission_id
Delete submissions
DELETE /api/v1/server/forms/:public_id/submissions — requires admin scope. Up to 500 IDs per call.
Get analytics
GET /api/v1/server/forms/:public_id/analytics — views, starts, submissions, and completion rate, honoring your plan’s analytics retention window.
Get a file’s download URL
GET /api/v1/server/forms/:public_id/files/download — returns a short-lived signed URL, same model as the upload side. See File Uploads.