list_submissions
Retrieve a paginated list of form submissions processed through your Checkout Page account. Pass livemode: false to read test-mode records.
This tool is useful for customer-support and operations questions about what a person submitted on a form, which page a submission came from, and when it was captured.
Example uses:
"Show me recent submissions"
"Find submissions from jane@example.com"
"Find submissions for customer 6812fe6e9f39b6760576f01c"
"Show submissions for form X"
"Show submissions for the Lead Capture Form"
"Show failed submissions"
"How many submissions did I get this week?" — apply a date range and read
total
Example support uses:
Customer says they filled in a form but is unsure it went through — search by email and check whether a matching submission exists and whether
statusissucceededorfailed.Merchant wants all submissions for a specific person — use
searchwith email or name, orcustomerIdwhen known.Merchant wants submissions from a specific form — use
pageIdwhen you know the page ID, orsearchwith the form title.Merchant wants the full payload for one result — first call
list_submissions, then pass a returnedidintoget_submission.
Data limitations:
No tool in the MCP can edit or delete submissions.
Submission records show what was captured, but not downstream fulfillment or email delivery status.
Date filters: Always use UTC timestamps with the Z suffix (e.g. 2026-03-01T00:00:00Z). Never use local timezone offsets — dates are stored and compared in UTC.
Submissions are returned sorted newest-first. Use cursor-based pagination (starting_after / ending_before) to page through large result sets. starting_after and ending_before cannot be used simultaneously. Max limit is 100, default is 10.
This tool is read-only. You cannot modify or delete submissions through MCP. For those actions, explain what is on file and direct the merchant to the Checkout Page dashboard.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of records per page (integer, max 100, default 10). | |
| pageId | No | Filter by the form page ID that received the submission. | |
| search | No | Search by `customerEmail`, `customerName`, and `formTitle`. Contains match (for example, 'jane' matches 'jane@example.com' and 'Jane Smith', while 'lead' matches 'Lead Capture Form'). | |
| status | No | Filter by submission status. Valid values: succeeded, failed. | |
| livemode | No | Set to false to read test-mode records (created while a page was in test mode). Defaults to live records. | |
| customerId | No | Filter by the associated customer ID. | |
| createdAfter | No | Filter by lower bound of createdAt. Use a UTC ISO 8601 timestamp with a `Z` suffix. | |
| createdBefore | No | Filter by upper bound of createdAt. Use a UTC ISO 8601 timestamp with a `Z` suffix. | |
| ending_before | No | Cursor-based pagination. Pass a record `id` to return results before it. Cannot be used with `starting_after`. | |
| starting_after | No | Cursor-based pagination. Pass a record `id` to return results after it. Cannot be used with `ending_before`. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| total | Yes | Total number of records matching the query across all pages. | |
| has_more | Yes | Whether more records exist beyond the current page. |