choose_products #

View this page as Markdown

Generated automatically from the published contract sources.

A script calls this action over HTTPS at POST https://turnzero.ai/api/v1/actions/choose_products, with a bearer credential and the action's payload as the JSON body.

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.

Contract description #

Choose which of your account's products this connection's tools reach. Name every product to have on: the call replaces the connection's choice, so a product you leave out is turned off and its tools leave the list.

Only a person's sign-in can call it, including an AI tool under that sign-in, and the choice lasts until that sign-in ends. If the new tools don't show up: on claude.ai, choose Refresh tools list in the connector's menu; on ChatGPT, press the connector's Refresh, then open a new chat; elsewhere, start a new session or restart your AI tool.

Access and action metadata #

{
  "name": "choose_products",
  "resource": "connection",
  "tier": "reversible",
  "admits": [
    "device_sign_in"
  ],
  "summary": "Choose which of the account's products this connection reaches: the call lists the products to have on and replaces the connection's choice, under the connection's own sign-in alone.",
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "openWorldHint": false,
    "idempotentHint": true
  }
}

MCP catalog entry #

{
  "name": "choose_products",
  "title": "Choose this connection's products",
  "tier": "reversible",
  "summary": "Choose which of your account's products this connection's tools reach. Name every product to have on: the call replaces the connection's choice, so a product you leave out is turned off and its tools leave the list.\n\nOnly a person's sign-in can call it, including an AI tool under that sign-in, and the choice lasts until that sign-in ends. If the new tools don't show up: on claude.ai, choose Refresh tools list in the connector's menu; on ChatGPT, press the connector's Refresh, then open a new chat; elsewhere, start a new session or restart your AI tool.",
  "scenario": "API-L0-21",
  "owners": [
    "API-L0-21",
    "MAPI-19",
    "MCP-01",
    "MCP-08"
  ]
}

request #

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["products"]
/properties/products The products to have on for this connection, each named once. The call replaces the connection's choice, so a product you leave out is turned off. A product your account does not hold is refused.

Type: array
Minimum items: 1
Maximum items: 3
uniqueItems: true
/properties/products/items Allowed values: ["tzcloud","tztrack","tzmesh"]

response #

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["contract_version","on","off","detail"]
Additional properties: false
/properties/contract_version Required value: 1
/properties/on The products now on for this connection, by the words this call takes.

Type: array
/properties/on/items Type: string
/properties/off Each product your account holds that is now off for this connection.

Type: array
/properties/off/items Type: string
/properties/detail Type: string

Complete payload contract #

{
  "request": {
    "type": "object",
    "required": [
      "products"
    ],
    "properties": {
      "products": {
        "type": "array",
        "minItems": 1,
        "maxItems": 3,
        "uniqueItems": true,
        "items": {
          "enum": [
            "tzcloud",
            "tztrack",
            "tzmesh"
          ]
        },
        "description": "The products to have on for this connection, each named once. The call replaces the connection's choice, so a product you leave out is turned off. A product your account does not hold is refused."
      }
    }
  },
  "response": {
    "type": "object",
    "required": [
      "contract_version",
      "on",
      "off",
      "detail"
    ],
    "properties": {
      "contract_version": {
        "const": 1
      },
      "on": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "The products now on for this connection, by the words this call takes."
      },
      "off": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Each product your account holds that is now off for this connection."
      },
      "detail": {
        "type": "string"
      }
    },
    "additionalProperties": false
  }
}

Shared contracts #