revoke_product

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

Contract description

Remove one product profile from an account — `blueprint`, Turn Zero Blueprint access — so what it opened is closed to the account from its next request; `cloud` is the account's own and is refused. Super-admin (platform operator) only. A new invitation naming the product restores it.

Access and action metadata

{
  "name": "revoke_product",
  "resource": "account",
  "tier": "reversible",
  "grant": "super_admin",
  "summary": "Remove one product profile from an account — `blueprint`, Turn Zero Blueprint access, at this revision — so what the profile opened is closed to the account from its next request; `cloud` is the account's own and is refused; a new invitation naming the product is the way back.",
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": true,
    "openWorldHint": false
  }
}

MCP catalog entry

{
  "name": "revoke_product",
  "tier": "reversible",
  "scenario": "API-L0-12",
  "summary": "Remove one product profile from an account — `blueprint`, Turn Zero Blueprint access — so what it opened is closed to the account from its next request; `cloud` is the account's own and is refused. Super-admin (platform operator) only. A new invitation naming the product restores it.",
  "owners": [
    "ACB-L0-76"
  ]
}

request

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["subject_account","product"]
Additional properties: false
/properties/subject_account The account id, from `list_accounts`.

Type: string
/properties/product The product profile to remove, as `read_account` names it under `profiles[].product`: `blueprint` at this revision. `cloud` is the account's own and is refused `invalid_request`.

Allowed values: ["cloud","blueprint"]

response

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["contract_version","account","product","removed"]
Additional properties: false
/properties/contract_version Required value: 1
/properties/account Type: object
Required fields: ["id","created_at","standing","synthetic"]
Additional properties: false
/properties/account/properties/id Type: string
/properties/account/properties/created_at Type: string
/properties/account/properties/standing Allowed values: ["active","suspended"]
/properties/account/properties/synthetic Type: boolean
/properties/product The profile name the call named.

Type: string
/properties/removed true where the account held the profile and it is removed; false where it held none, nothing changed, and a repeat answers the same.

Type: boolean
/properties/detail Type: string

Complete payload contract

{
  "request": {
    "type": "object",
    "required": [
      "subject_account",
      "product"
    ],
    "properties": {
      "subject_account": {
        "type": "string",
        "description": "The account id, from `list_accounts`."
      },
      "product": {
        "enum": [
          "cloud",
          "blueprint"
        ],
        "description": "The product profile to remove, as `read_account` names it under `profiles[].product`: `blueprint` at this revision. `cloud` is the account's own and is refused `invalid_request`."
      }
    },
    "additionalProperties": false
  },
  "response": {
    "type": "object",
    "required": [
      "contract_version",
      "account",
      "product",
      "removed"
    ],
    "properties": {
      "contract_version": {
        "const": 1
      },
      "account": {
        "type": "object",
        "required": [
          "id",
          "created_at",
          "standing",
          "synthetic"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "standing": {
            "enum": [
              "active",
              "suspended"
            ]
          },
          "synthetic": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "product": {
        "type": "string",
        "description": "The profile name the call named."
      },
      "removed": {
        "type": "boolean",
        "description": "true where the account held the profile and it is removed; false where it held none, nothing changed, and a repeat answers the same."
      },
      "detail": {
        "type": "string"
      }
    },
    "additionalProperties": false
  }
}

Shared contracts