---
title: "Deleting a Form"
method: DELETE
path: "/v1/projects/{projectId}/forms/{xmlFormId}"
tags: ["Individual Form"]
---

# Deleting a Form

`DELETE /v1/projects/{projectId}/forms/{xmlFormId}`

When a Form is deleted, it goes into the Trash section, but it
can now be restored from the Trash. After 30 days in the Trash, the Form and
all of its resources and submissions will be automatically purged. If your
goal is to prevent it from showing up on survey clients like ODK Collect,
consider setting its `state` to `closing` or `closed` instead (see [Modifying
a Form](/central-api-form-management/#modifying-a-form) just above for
more details).

The API usually identifies forms by their `projectId` and `xmlFormId`, but if a Form
is deleted, the same `xmlFormId` can be reused. To [restore](/central-api-form-management/#restoring-a-form) a deleted Form, use its
_numeric ID_, which can be retrieved by [listing Forms with `?deleted=true`](/central-api-form-management/#list-all-forms).

## Path parameters

- `xmlFormId` string, required
- `projectId` number, required

## Response `200`

OK

- Success
  - `success` boolean, required

## Changes

- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `Deleting a Form` removed and replaced with `deleteForm`
- **2025-10-27** `b11b54eea487` — 1 info
  - removed the non-success response with the status `403`
- **2025-03-13** `e8c2858fd4eb` — 2 info
  - api operation id `deleteForm` removed and replaced with `Deleting a Form`
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/forms/:xmlFormId/delete.md)

---

[API](https://skmtc.dev/getodk/apis/odk-central-api.md) · [All operations](https://skmtc.dev/getodk/apis/odk-central-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getodk/odk-central-api/revisions/d4f5ba77f644/schema)
