Get a form submission
Reads one submission with its frozen template snapshot and answers.
Reads one submission with its frozen template snapshot and answers.
The per-tenant API key, copied from Settings → API & integrations.
Sent as the x-api-key request header. The key is tenant-scoped and acts
with Admin-equivalent, tenant-wide access.
In: header
Path Parameters
Resource id.
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/form-submissions/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d", "templateName": "string", "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8", "projectName": "string", "projectArchived": true, "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b", "submitterName": "string", "submittedAt": "2019-08-24T14:15:22Z", "snapshot": [ { "id": "string", "kind": "heading", "label": "string", "required": true, "options": [ "string" ], "items": [ "string" ], "lockToToday": true } ], "answers": { "property1": "string", "property2": "string" }}{ "error": { "code": "unauthorized", "message": "Missing or invalid API key." }}{ "error": { "code": "not_found", "message": "Not found." }}Request a presigned document upload URL POST
**Step 1 of the two-step presigned document upload.** Validates the declared file (PDF/JPG/PNG, ≤25 MB intent) and returns a short-lived, single-use **signed PUT URL** (`uploadUrl`), the computed `storagePath`, and an opaque `uploadRef`. **The binary bytes never travel through this API call.** After this returns, the caller PUTs the raw file bytes directly to `uploadUrl` (a plain HTTP `PUT` with the file as the request body and the matching `Content-Type`) — out of band — then calls `POST /projects/{id}/documents` with the `uploadRef` to register the document (step 2). This is how binary upload is supported via the API/MCP without bytes passing through the JSON request (ADR 0001 §5). Admin or the project's Site Manager; blocked on read-only/archived projects. `audience` applies to Project Information (`kind: info`) only.
List form submissions GET
Lists submissions, most-recent-first, paginated, with filters.