Delete an app environment API Reference
DELETE
/tenants/{tenant}/apps/{app}/environments/{env}
const url = 'https://api.kupe.cloud/api/v1/tenants/example/apps/example/environments/example';const options = { method: 'DELETE', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"confirm":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://api.kupe.cloud/api/v1/tenants/example/apps/example/environments/example \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "confirm": "example" }'Delete the environment, its namespace and everything in it after repeating the environment name in confirm. Turn off its deletion protection first. Independent secret deliveries or service bindings into the namespace must be removed first. Deletion is asynchronous. Vault entries and the cluster remain. Available while apps are switched off.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ” tenant
required
string
Tenant name
app
required
string
App name
env
required
string
Environment name
Header Parameters
Section titled “ Header Parameters ” If-Match
string
ETag from the app or environment read
Request Body
Section titled “ Request Body ”Request
Media type application/json
object
confirm
string
Example generated
{ "confirm": "example"}Responses
Section titled “ Responses ”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"}