List form submissions
List a form's submissions, newest first.
GET
https://api.centerfy.ai/webhooks/inbound/forms/:id/submissions Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The form id. |
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
limit | integer | No | 50 | Page size; minimum 1, maximum 100 (larger values are rejected with 400). |
offset | integer | No | 0 | Number of records to skip for paging; minimum 0. |
Example
curl -X GET "https://api.centerfy.ai/webhooks/inbound/forms/{id}/submissions?limit=50&offset=0" \
-H "x-api-key: $CENTERFY_API_KEY" import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.forms.listSubmissions("<formId>", {
"limit": 50,
"offset": 0
});
console.log(result); centerfy forms submissions <formId> '{"limit":50,"offset":0}' MCP tool: centerfy_forms_list_submissions (see MCP server)
Response
{
"status": "success",
"total": 1,
"limit": 50,
"offset": 0,
"has_more": false,
"submissions": [
{
"id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"form_id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
"data": {
"Full name": "Jane Doe",
"Email": "[email protected]",
"Phone": "+14155550123"
},
"metadata": {
"ip": "",
"userAgent": "curl/8.0",
"referrerUrl": "",
"pageUrl": "",
"submittedAt": "2026-10-05T15:00:00.000Z",
"via": "public_api"
},
"status": "complete",
"source": "platform",
"created_at": "2026-10-05T15:00:00.000Z"
}
]
}Errors
404— if the form is not in this sub-account.
Notes
data is keyed by field label. contact_id is null when the submission had no email or phone.