Skip to navigation

Delete a project

View as MarkdownOpen in Claude

Deletes a project.

With a project API token, only subprojects can be deleted; targeting the root project returns 422 only_subprojects_can_be_deleted. With a Personal access token, a root project can be deleted as well.

In both cases the project must be empty first: remove its subprojects (subprojects_must_be_removed) and its phone numbers (phone_numbers_must_be_removed). The last remaining project in a space cannot be deleted (last_project_cannot_be_deleted).

On a successful subproject delete, the subproject’s registry brands and campaigns are migrated up to the parent project.

Use this operation only for a project that is ready to retire. The Compatibility API cannot close an account; its Update account operation only renames one, so deleting the project here is the API path for retiring it.

Permissions

With a project API token, the token must have the following scope(s) enabled to make a successful request: Management.

With a Personal access token there are no scopes. The token holder must be an owner or admin of the space, and the request reaches only the projects the holder is enabled for, plus their subprojects.

Learn more about API scopes.

Authentication

AuthorizationBasic

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)
OR
AuthorizationBasic

Personal access token authentication for space-wide administration.

Send HTTP Basic auth with an empty username and the Personal access token as the password. A Personal access token carries your own authority rather than a project's: it is created from your user menu in the Dashboard, is prefixed pat_, and has no scopes. The holder must be an owner or admin of the space named by the subdomain, and the token acts only on that space.

Example:

Authorization: Basic base64(:pat_...)

Path parameters

idstringRequiredformat: "uuid"
The unique identifier of the project or subproject.

Response

There is no content to send for this request, but the headers may be useful.

Errors

401
Unauthorized Error
404
Not Found Error
422
Unprocessable Entity Error
500
Internal Server Error