> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vouchmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit embed session

> Submit a completed widget session for processing.

<Note>
  This is an embed runtime endpoint. It is called by the embedded Vouchmark widget in the applicant's browser, not by your backend. It uses the widget's `token` and does **not** take a `Bearer` token.
</Note>

Submits an in-progress session. This creates the applicant from the collected answers, runs the widget's enabled modules in order, and produces a decision. Returns the session view with its status moved to `submitted` and the assigned `referenceId`.

## Path parameters

<ParamField path="sessionId" type="string" required>
  The session ID (starts with `wses_`).
</ParamField>

## Body

<ParamField body="token" type="string" required>
  The widget's embed link token (`embedLinkToken`, starts with `elt_`).
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.vouchmark.com/v1/widget/embed/sessions/wses_.../submit \
    -H "Content-Type: application/json" \
    -d '{
      "token": "elt_..."
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": {
      "sessionId": "wses_...",
      "widgetId": "wgt_aBcD...",
      "status": "submitted",
      "currentModuleId": null,
      "answers": {
        "business_profile": { "legalName": "Acme Trading Ltd", "registrationNumber": "RC123456" }
      },
      "attachments": {},
      "referenceId": "ref_..."
    }
  }
  ```
</ResponseExample>

Rate limited to 120 requests per minute.
