Skip to content

Shut down an app

POST
/api/apps/{id}/shutdown
curl --request POST \
--url https://opfield.example.com/api/apps/550e8400-e29b-41d4-a716-446655440000/shutdown \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "environmentIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'

Stops what can be stopped in each environment: running containers, deployments and Compose projects stop, managed databases and storage pause, and the routes of the environment and of its Pages projects show the maintenance page (team access works). What ran is recorded, so Start brings back exactly that. While shut down, members can be changed freely: edits, deletes, unbinding, renames, migration, Compose down, Availability and moves between environments all work. An environment isolated by the kill switch is not shut down (409 APP_ISOLATED): turn the kill switch off first. Runs in the background: the incidents come back with state applying and their items. environmentIds limits it to those environments (apps:operate on each); null or omitted means every environment (apps:operate on the app).

id
required
string
>= 1 characters
Example
550e8400-e29b-41d4-a716-446655440000

JSON request body

Media typeapplication/json
object
environmentIds
Array<string> | null
>= 1 items
Examplegenerated
{
"environmentIds": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
]
}

Successful response

Media typeapplication/json
object
data
required

Resource object. Exact fields depend on the endpoint.

object
id
string
name
string
key
additional properties
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example resource",
"createdAt": "2024-01-01T12:00:00.000Z",
"updatedAt": "2024-01-01T12:30:00.000Z"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}