---
title: "questionnaire_deleted"
method: POST
path: "questionnaire_deleted"
tags: ["Webhooks"]
---

# questionnaire_deleted

`POST questionnaire_deleted` (webhook)

A questionnaire was deleted. Same payload as `questionnaire_updated`, with `changes` always empty. Always delivered as JSON.

## Payload

- QuestionnaireWebhookPayload
  - `id` integer
  - `questionnaire_name` string, nullable
  - `tax_year` integer, nullable
  - `external_entity_id` string, nullable
  - `entity_id` integer
  - `entity_tags` EntityTag[]: Tags as objects.
    - `id` integer
    - `name` string
  - `client_email` string, nullable
  - `client_name` string, nullable
  - `entity_name` string, nullable
  - `entity_type` string, nullable
  - `client_phone` string, nullable
  - `client_timezone` string, nullable
  - `firm_role_summary` string: A formatted, human-readable summary of who holds which role on the entity, not structured data. Empty when no roles are assigned. Use `GET /entities/{entity_id}/firm_role_assignments` if you need the underlying ids.
  - `link` string, uri, nullable
  - `completed` boolean, nullable
  - `locked` boolean, nullable
  - `due_date` string, date, nullable
  - `updated_at` string, date-time, nullable
  - `current_section_name` string, nullable
  - `changes` object: Only the fields that changed, each mapped to `{from, to}`. Watched keys: `completed`, `locked`, `due_date`, `updated_at_by_client`, `opened_timestamp`, and `status` (whose values are section names). Empty on `questionnaire_deleted`.

## Acknowledgement `200`

Return any 2xx to acknowledge. Returning `410 Gone` deletes the subscription.

---

[API](https://skmtc.dev/soraban/apis/soraban-private-api.md) - [All operations](https://skmtc.dev/soraban/apis/soraban-private-api/llms.txt) - [OpenAPI document](https://skmtc.dev/soraban/apis/soraban-private-api/revisions/1c230fa547ad?raw)
