All MCP tools

identity_part_promote_to_brand

Save identity object variant to Brand Studio

App-only explicit promotion for an already-inserted opener/outro object. Reads the addressed Program occurrence, promotes its preset params and gain to the project Brand Studio default opener/outro slot or to that role's alternates through the same identity_apply_to_project path, writes a promotion receipt, and affects future reels only. It does not mutate this or any other composition, and it never changes the pack enabled state.

Surface: App-only

Product release 1dce717408a55fac1047e7d779177fa3ef8ede51
Public contract commit 1ce47f7857ae3d9b6933fe83d5c33de3ae5efc64
Public contract SHA-256 241d47d25e4b4c1dae9d2263793874d06fc4ba7bc3c78d4cf2bc63fbb32ed7dc
Captured 2026-09-24T16:39:30.100Z. Review or improve this contract on GitHub.

These blocks show the complete MCP descriptors captured from serving Rails. Security schemes and resource URIs can differ by connected host.

App descriptor

{
  "name": "identity_part_promote_to_brand",
  "title": "Save identity object variant to Brand Studio",
  "description": "App-only explicit promotion for an already-inserted opener/outro object. Reads the addressed Program occurrence, promotes its preset params and gain to the project Brand Studio default opener/outro slot or to that role's alternates through the same identity_apply_to_project path, writes a promotion receipt, and affects future reels only. It does not mutate this or any other composition, and it never changes the pack enabled state.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "episode_id": {
        "type": "string",
        "description": "Composition/episode public ID containing the identity object."
      },
      "project_id": {
        "type": "string",
        "description": "Optional project public ID; must match the episode project when supplied."
      },
      "part_id": {
        "type": "string",
        "description": "Identity part segment id."
      },
      "segment_id": {
        "type": "string",
        "description": "Alias for part_id."
      },
      "identity_layer_instance_key": {
        "type": "string",
        "description": "Stable identity layer instance key stamped on the segment."
      },
      "role": {
        "type": "string",
        "enum": [
          "opener",
          "outro"
        ],
        "description": "Allowed only when exactly one matching identity object exists."
      },
      "promote_as": {
        "type": "string",
        "enum": [
          "default",
          "alternate"
        ],
        "description": "Where to save the object variant. Defaults to default; alternate adds it to the role's bounded alternates list."
      },
      "prewarm": {
        "type": "boolean",
        "description": "Whether to enqueue opener/outro source-backed prewarm. Defaults true."
      }
    },
    "required": [
      "episode_id"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ],
    "ui": {
      "visibility": [
        "app"
      ]
    },
    "openai/widgetAccessible": true,
    "openai/visibility": "private"
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "promoted": {
        "type": "boolean"
      },
      "promoted_slot": {
        "type": "string"
      },
      "promoted_as": {
        "type": "string"
      },
      "brand_identity": {
        "type": "object"
      },
      "receipt": {
        "type": "object"
      },
      "promotion_receipt": {
        "type": "object"
      },
      "blockers": {
        "type": "array",
        "items": {
          "type": "object"
        }
      }
    },
    "required": [],
    "additionalProperties": false
  }
}

Errors

[
  "composition_not_found",
  "project_not_found",
  "part_not_found",
  "invalid_input"
]

Examples

[]