Skip to content

Delete an app API Reference

DELETE
/tenants/{tenant}/apps/{app}
curl --request DELETE \
--url https://api.kupe.cloud/api/v1/tenants/example/apps/example \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "confirm": "example", "environments": [ "example" ] }'

Delete the app and its environments, including their namespaces and everything in them. Vault entries and clusters remain. Turn off protection on the app and all environments first. Independent secret deliveries or service bindings into its environments’ namespaces must be removed first. Repeat the app name in confirm and send the environment names you reviewed in environments. Only environments named in the review are deleted. Any other environment is kept. If the app has already gone, an administrator must remove that environment. Deletion is asynchronous.

tenant
required
string

Tenant name

app
required
string

App name

If-Match
string

ETag from the app or environment read

Request

Media type application/json
object
confirm

Repeat the app name, or the environment name for an environment delete.

string
environments

App deletion only: the exact environment names reviewed, when supplied.

Array<string>
Example generated
{
"confirm": "example",
"environments": [
"example"
]
}

Accepted

Media type application/json
object
name
string
status
object
phase

Always “Terminating” on acceptance; GET /tenants/{tenant} reports the same phase until the tenant is gone (then 404).

string
Example
{
"name": "acme",
"status": {
"phase": "Terminating"
}
}

Bad Request

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Unauthorized

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Forbidden

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Not Found

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Conflict

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Precondition Failed

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Too Many Requests

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}
Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}