Skip to main content

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

FieldTypeDescription
idstring (uuid)Execution id.
botIdstring (uuid)Owning bot.
actionIdstring | nullThe contact_form action that ran, or null for server-captured contact_team calls.
conversationIdstring | nullThe chat conversation id.
visitorIdstringPer-browser visitor identifier.
paramsobjectCaptured form fields (e.g. { "email": "...", "message": "..." }).
result"pending" | "success" | "failure" | "cancelled"Final state of the submission.
contactMetadataobject | nullDelivery diagnostics — present on both widget and server-captured rows when available.
createdAtstringISO 8601.
completedAtstring | nullISO 8601 of final state, or null if still pending.

contactMetadata

FieldType
deliveryStatus"delivered" | "captured" | "deeplink_opened" | "optimistic" | "failed"
deliveryMethod"same_page" | "hidden_iframe" | "deep_link" | "server_capture"
signalSourcestring
networkStatusnumber (optional)
submitToSignalMsnumber (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.