undeclare_storage_area

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/undeclare_storage_area, with a bearer credential and the action's payload as the JSON body.

Contract description

Undeclare a file-storage area that holds no file in either environment partition, freeing its name; a later declaration under the name is a new area, so it may carry different values. An area holding a file is refused (area_not_empty): delete its files first through the storage routes, in both environments' partitions, or keep the area. A name that is not declared answers unchanged.

Access and action metadata

{
  "name": "undeclare_storage_area",
  "resource": "area",
  "tier": "reversible",
  "summary": "Undeclare a storage area that holds no file in either environment partition, freeing its name; a later declaration under the name is a new area. An area holding a file refuses area_not_empty; an absent name answers unchanged.",
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "openWorldHint": false,
    "idempotentHint": true
  }
}

MCP catalog entry

{
  "name": "undeclare_storage_area",
  "tier": "reversible",
  "scenario": "OST-L0-01",
  "summary": "Undeclare a file-storage area that holds no file in either environment partition, freeing its name; a later declaration under the name is a new area, so it may carry different values. An area holding a file is refused (area_not_empty): delete its files first through the storage routes, in both environments' partitions, or keep the area. A name that is not declared answers unchanged.",
  "owners": [
    "OST-L0-01"
  ]
}

request

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["name"]
/properties/name The name of the area to undeclare. The area must hold no file in either environment partition; afterwards the name is free, and a later declaration under it is a new area.

Type: string
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$

response

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["contract_version","area","outcome"]
/properties/contract_version Required value: 1
/properties/reference The short reference the platform recorded this call under, ten lowercase hexadecimal characters, the value the call’s record row carries; quote it when reporting the call.

Type: string
Pattern: ^[0-9a-f]{10}$
/properties/area The declaration removed, as it stood; null where no area by the name was declared.

Type: ["object","null"]
/properties/outcome `removed` where the declaration was removed and the name freed; `unchanged` where no area by the name was declared, so a second call answers the same state.

Type: string
Pattern: ^(removed|unchanged)$
/properties/detail Type: string

Complete payload contract

{
  "request": {
    "type": "object",
    "required": [
      "name"
    ],
    "properties": {
      "name": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$",
        "description": "The name of the area to undeclare. The area must hold no file in either environment partition; afterwards the name is free, and a later declaration under it is a new area."
      }
    }
  },
  "response": {
    "type": "object",
    "required": [
      "contract_version",
      "area",
      "outcome"
    ],
    "properties": {
      "contract_version": {
        "const": 1
      },
      "reference": {
        "type": "string",
        "pattern": "^[0-9a-f]{10}$",
        "description": "The short reference the platform recorded this call under, ten lowercase hexadecimal characters, the value the call’s record row carries; quote it when reporting the call."
      },
      "area": {
        "type": [
          "object",
          "null"
        ],
        "description": "The declaration removed, as it stood; null where no area by the name was declared."
      },
      "outcome": {
        "type": "string",
        "pattern": "^(removed|unchanged)$",
        "description": "`removed` where the declaration was removed and the name freed; `unchanged` where no area by the name was declared, so a second call answers the same state."
      },
      "detail": {
        "type": "string"
      }
    }
  }
}

Shared contracts