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
[]