purge_development_applications #
Generated automatically from the published contract sources.
Build metadata: Registered in this build. Registration describes the default dispatcher in this build. It does not guarantee that a caller has the required credential or grant, that a tool is listed for that connection, or that the required service is configured.
A script calls this action over HTTPS at POST https://turnzero.ai/api/v1/actions/purge_development_applications, with a bearer credential and the action's payload as the JSON body.
Contract description #
Delete your own account's applications you list on the development estate, with no pending action and no browser approval: the bake start's step for the operator's standing applications. Super-admin (platform operator) only; a session calls it at the operator's word. Returns 202 at once with each id's state, `walking` or `not_held`, the second for an id your account does not hold; the walks then run detached, and `read_platform_usage` shows each application gone. A listed application whose deletion is already in flight refuses the whole call `deletion_in_progress`; finish it through `delete_application` and its approval. Production and every other estate refuse the call `development_estate_required`.
Access and action metadata #
{
"name": "purge_development_applications",
"resource": "account",
"tier": "reversible",
"grant": "super_admin",
"summary": "Super-admin: delete your own account's applications you list, on the development estate alone, with no pending action and no browser approval. The call returns 202 at once with each id's state: `walking`, its deletion walk started in list order, or `not_held`, an id your account does not hold, unknown or another account's alike, left untouched. The walks then run detached, one application after another, and `read_platform_usage` shows each application gone. A failed walk leaves the application's deletion marker and its row listed, recorded under a reference. Where one of your listed applications already carries a deletion marker, the whole call is refused 409 `deletion_in_progress` and nothing starts; finish that deletion through `delete_application` and its approval. Every estate but development refuses the call 409 `development_estate_required` before it reads anything.",
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"openWorldHint": true
}
}
MCP catalog entry #
{
"name": "purge_development_applications",
"title": "Purge development applications",
"tier": "reversible",
"scenario": "API-L0-12",
"summary": "Delete your own account's applications you list on the development estate, with no pending action and no browser approval: the bake start's step for the operator's standing applications. Super-admin (platform operator) only; a session calls it at the operator's word. Returns 202 at once with each id's state, `walking` or `not_held`, the second for an id your account does not hold; the walks then run detached, and `read_platform_usage` shows each application gone. A listed application whose deletion is already in flight refuses the whole call `deletion_in_progress`; finish it through `delete_application` and its approval. Production and every other estate refuse the call `development_estate_required`.",
"owners": [
"MAPI-27",
"MAPI-04",
"MAPI-06"
]
}
request #
| JSON pointer | Description and constraints |
|---|---|
| "" (root) | Type: object Required fields: ["applications"] Additional properties: false |
| / |
The ids of your own account's applications to delete, from `list_applications`: one or more. An id your account does not hold, unknown or another account's, gets the state `not_held` and is left as it is. Type: array Minimum items: 1 |
| / |
Type: string Minimum length: 1 |
response #
| JSON pointer | Description and constraints |
|---|---|
| "" (root) | Returns 202 at once; the walks run after the answer, one application after another. Type: object Required fields: ["contract_version","applications"] Additional properties: false |
| / |
Required value: 1 |
| / |
One entry per distinct id you list, in the order you list them. Type: array |
| / |
Type: object Required fields: ["application","state"] Additional properties: false |
| / |
Type: string |
| / |
`walking`: your account's own application, its deletion walk started in list order; `read_platform_usage` shows it gone once the walk ends. `not_held`: your account holds no application under the id, unknown or another account's alike, and nothing was touched. Allowed values: ["walking","not_held"] |
Complete payload contract #
{
"request": {
"type": "object",
"required": [
"applications"
],
"properties": {
"applications": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
},
"description": "The ids of your own account's applications to delete, from `list_applications`: one or more. An id your account does not hold, unknown or another account's, gets the state `not_held` and is left as it is."
}
},
"additionalProperties": false
},
"response": {
"type": "object",
"required": [
"contract_version",
"applications"
],
"properties": {
"contract_version": {
"const": 1
},
"applications": {
"type": "array",
"description": "One entry per distinct id you list, in the order you list them.",
"items": {
"type": "object",
"required": [
"application",
"state"
],
"properties": {
"application": {
"type": "string"
},
"state": {
"enum": [
"walking",
"not_held"
],
"description": "`walking`: your account's own application, its deletion walk started in list order; `read_platform_usage` shows it gone once the walk ends. `not_held`: your account holds no application under the id, unknown or another account's alike, and nothing was touched."
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false,
"description": "Returns 202 at once; the walks run after the answer, one application after another."
}
}
Shared contracts #
- Refusals: every refusal, by surface, with its cause and its remedy
- schemas/wire_error.schema.json
- schemas/wire_errors.json
- schemas/action_payloads.json (includes shared shapes)
- management_api_contract.md