---
title: "Update a form submission by token"
method: PATCH
path: "/api/forms/{formId}/submissions/by-token/{submissionToken}"
tags: ["Forms"]
---

# Update a form submission by token

`PATCH /api/forms/{formId}/submissions/by-token/{submissionToken}`

Updates a form submission for a given form by token.

## Path parameters

- `formId` integer, required
- `submissionToken` string, required

## Request body

- PartialUpdateSubmissionByTokenRequest — Request model for partial update of a form submission by token.
  - `isComplete` boolean, nullable — Boolean flag to indicate if a submission is complete. Optional
  - `currentPage` integer, nullable — Current page if the form has multiple pages. Optional
  - `jsonData` string, nullable — Stringified form submission data
  - `metadata` string, nullable — Stringified metadata related to the form submission
  - `reCaptchaToken` string, nullable — reCAPTCHA v3 token for bot protection

## Response `200`

The form submission was updated successfully.

- PartialUpdateSubmissionByTokenResponse — Response model for partially updating a form submission by token.
  - `id` string
  - `isComplete` boolean
  - `jsonData` string
  - `formId` string
  - `formDefinitionId` string
  - `currentPage` integer, nullable
  - `metadata` string, nullable
  - `token` string, nullable
  - `completedAt` string, date-time, nullable
  - `createdAt` string, date-time
  - `modifiedAt` string, date-time, nullable
  - `status` string
  - `submittedBy` string, nullable

## Other responses

- `400` — Bad request
- `404` — Form submission not found or invalid token

## Changes

- **2026-02-06** `a99906323223` — 1 breaking, 1 warning
  - added `#/components/schemas/BasePublicSubmissionRequest` to the request body `allOf` list
  - removed `#/components/schemas/BaseSubmissionRequest` from the request body `allOf` list
- **2025-11-21** `50eff5014b78` — 3 breaking, 7 warning, 6 info
  - added `#/components/schemas/BaseSubmissionRequest, subschema #2` to the request body `allOf` list
  - the request's body type/format changed from `object`/`` to ``/``
  - media type `application/problem+json` was changed to a more general media type `application/json` for the response status `400`
  - removed the request property `currentPage`
  - …12 more
- **2025-03-24** `fbc3fe6ecbf1` — 1 breaking, 7 warning, 8 info
  - the request's body type/format changed from ``/`` to `object`/``
  - removed `#/components/schemas/BasePublicSubmissionRequest, subschema #2` from the request body `allOf` list
  - removed the optional property `allOf[#/components/schemas/SubmissionModel]/submittedBy` from the response with the `200` status
  - removed the optional property `detail` from the response with the `400` status
  - …12 more

[Change history](https://skmtc.dev/endatix/apis/endatix-platform-rest-api/changes/api/forms/:formId/submissions/by-token/:submissionToken/patch.md)

---

[API](https://skmtc.dev/endatix/apis/endatix-platform-rest-api.md) · [All operations](https://skmtc.dev/endatix/apis/endatix-platform-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/endatix/endatix-platform-rest-api/revisions/01bd299fd100/schema)
