Skip to main content
POST
/
v1
/
embed
/
form-submit
/
{sessionId}
Submit an embed form
curl --request POST \
  --url https://api.craftkit.dev/v1/embed/form-submit/{sessionId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "data": {
    "customer.name": "Acme Corp"
  }
}
'
{ "id": "3f2a1b4c-5d6e-7f80-9a1b-2c3d4e5f6071", "status": "queued", "pollUrl": "https://api.craftkit.dev/v1/embed/renders/3f2a1b4c-5d6e-7f80-9a1b-2c3d4e5f6071", "downloadUrl": null, "errorMessage": null, "createdAt": "2026-06-21T10:00:00.000Z" }

Authorizations

Authorization
string
header
required

Short-lived embed session JWT minted by POST /v1/embed/sessions. Used by the iframe form-submit / upload-image endpoints and accepted (alongside a partner key) by builder template creation.

Path Parameters

sessionId
string<uuid>
required

The embed session id (must match the JWT subject).

Body

application/json
data
object
required

Flat dot-keyed or nested variable values.

datasetSelection
object

Response

Render queued.

Render shape returned by render/idempotent-replay and embed form-submit.

id
string<uuid>
required
status
enum<string>
required
Available options:
queued,
rendering,
succeeded,
failed,
cancelled
pollUrl
string<uri>
required
downloadUrl
string<uri> | null
required
errorMessage
string | null
required
createdAt
string<date-time>
required