---
title: "Lock a questionnaire"
method: PUT
path: "/api/v1/questionnaires/{id}/mark_as_complete"
tags: ["Questionnaires"]
---

# Lock a questionnaire

`PUT /api/v1/questionnaires/{id}/mark_as_complete`

## Request

- Base URL: `https://api.checkcherry.com`
- URL: `https://api.checkcherry.com/api/v1/questionnaires/{id}/mark_as_complete`
- Auth: none declared. Required headers: `Api-Key`

Marks the questionnaire complete. Customers can no longer change their answers, and any "Questionnaire Submitted" automated messages and staff push notifications fire.

This is how an external questionnaire gets closed out — Check Cherry cannot see whether the guest finished a form hosted elsewhere, so your integration should call this once it knows they have.

**Required permission:** `assigned_event_read` or `unassigned_event_read`. Fails if the questionnaire is already complete.

## Path parameters

- `id` integer, required

## Headers

- `Api-Key` string, required

## Response `200`

questionnaire locked

---

[API](https://skmtc.dev/checkcherry/apis/check-cherry-business-api.md) · [All operations](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/revisions/84a9aabdf519?raw)
