> ## 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.

# Save session answers

> Save a module's answers into an in-progress session.

<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>

Saves the answers for one module into a session. The session must be `in_progress`, and the module must be enabled on the widget. Returns the updated session view.

## 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>

<ParamField body="moduleId" type="string" required>
  The module these answers belong to (e.g. `business_profile`). Must be enabled on the widget.
</ParamField>

<ParamField body="answers" type="object" required>
  A map of field name to value for the module.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PATCH https://api.vouchmark.com/v1/widget/embed/sessions/wses_.../answers \
    -H "Content-Type: application/json" \
    -d '{
      "token": "elt_...",
      "moduleId": "business_profile",
      "answers": {
        "legalName": "Acme Trading Ltd",
        "registrationNumber": "RC123456",
        "contactEmail": "admin@acme.com"
      }
    }'
  ```
</RequestExample>

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

Rate limited to 120 requests per minute.
