Submissions API
A submission is a lead captured through the bot — either a widget-executed contact_form action, or a server-captured contact_team capability call where the chat model routed a visitor to a support handoff. This endpoint powers the Submissions tab in the dashboard and is how you'd wire leads into your own CRM or inbox via a polling integration. Every submission is stored as a row on action_executions; the response below flattens that shape into the submission fields most integrations care about.
Endpoints
The submission object
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Execution id. |
botId | string (uuid) | Owning bot. |
actionId | string | null | The contact_form action that ran, or null for server-captured contact_team calls. |
conversationId | string | null | The chat conversation id. |
visitorId | string | Per-browser visitor identifier. |
params | object | Captured form fields (e.g. { "email": "...", "message": "..." }). |
result | "pending" | "success" | "failure" | "cancelled" | Final state of the submission. |
contactMetadata | object | null | Delivery diagnostics — present on both widget and server-captured rows when available. |
createdAt | string | ISO 8601. |
completedAt | string | null | ISO 8601 of final state, or null if still pending. |
contactMetadata
| Field | Type |
|---|---|
deliveryStatus | "delivered" | "captured" | "deeplink_opened" | "optimistic" | "failed" |
deliveryMethod | "same_page" | "hidden_iframe" | "deep_link" | "server_capture" |
signalSource | string |
networkStatus | number (optional) |
submitToSignalMs | number (optional) |
List submissions
GET /api/bots/{botId}/submissions
Returns up to the 200 most recent submissions for a bot, ordered by createdAt descending. The server joins across both submission sources (widget-executed contact_form actions and server-captured contact_team calls) transparently.
Request
curl https://api.mimicbot.app/api/bots/$BOT_ID/submissions \
-H "Authorization: Bearer $MIMICBOT_TOKEN"
Response 200
{
"items": [
{
"id": "...",
"botId": "...",
"actionId": "...",
"conversationId": "...",
"visitorId": "visitor_abc",
"params": { "email": "lead@example.com", "message": "Interested in pricing" },
"result": "success",
"contactMetadata": {
"deliveryStatus": "delivered",
"deliveryMethod": "hidden_iframe",
"signalSource": "iframe-load"
},
"createdAt": "2026-04-13T10:00:00.000Z",
"completedAt": "2026-04-13T10:00:02.000Z"
}
]
}
Errors: 401 UNAUTHENTICATED, 403 FORBIDDEN, 403 NO_AGENCY, 404 NOT_FOUND, 429 RATE_LIMITED (see Rate limits). See Errors.