> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superlaunch.pro/llms.txt
> Use this file to discover all available pages before exploring further.

# Launcher library tools

> Manage media, creative versions, approvals, collections, and templates.

Library objects belong to the authorized workspace. Save content edits as new versions, then approve the exact version. Media IDs, creative family IDs, creative version IDs, and template version IDs refer to different objects.

The tables list arguments and common nested fields. Expand **Full input schema** for all fields and allowed values. Workspace and account permissions apply to every tool.

<span id="launcher-discover" />

## launcher\_discover

Check available Launcher tools, permissions, limits, and upload instructions.

**Access:** `mcp:read`.

**Arguments:** none.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {},
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creatives-list" />

## launcher\_creatives\_list

List or search active creatives in the workspace library.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `limit` | integer | `50` | minimum: `1`. maximum: `100`. |
| `after_id` | uuid or null | `null` | Pagination cursor from the preceding result. |
| `query` | string or null | `null` | |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "limit": {
        "default": 50,
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "after_id": {
        "anyOf": [
          {
            "format": "uuid",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "query": {
        "anyOf": [
          {
            "maxLength": 200,
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creatives-usage" />

## launcher\_creatives\_usage

Find where a creative has been selected or used in an account. To confirm which Meta objects were created, inspect the related run operations.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `ad_account_id` | uuid | Required | Superlaunch account UUID from `ad_accounts_list`. |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |
| `limit` | integer | `50` | minimum: `1`. maximum: `100`. |
| `after_id` | uuid or null | `null` | Pagination cursor from the preceding result. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "ad_account_id": {
        "format": "uuid",
        "type": "string"
      },
      "creative_id": {
        "format": "uuid",
        "type": "string"
      },
      "limit": {
        "default": 50,
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "after_id": {
        "anyOf": [
          {
            "format": "uuid",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "ad_account_id",
      "creative_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creatives-get" />

## launcher\_creatives\_get

Read a creative and its saved version summaries.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "creative_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "creative_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creative-versions-get" />

## launcher\_creative\_versions\_get

Read the copy and media for one saved version. To change content, save a new version.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |
| `version_id` | uuid | Required | Saved creative version UUID. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "creative_id": {
        "format": "uuid",
        "type": "string"
      },
      "version_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "creative_id",
      "version_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creatives-create" />

## launcher\_creatives\_create

Create a library creative with its first draft version. Approve the version before selecting it for a launch.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `family` | object | Required | Editable family metadata separate from immutable content. |
| `content` | object | Required | Content edits always create a draft and never accept approval inputs. |

### family fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `name` | string | Required | minLength: `1`. maxLength: `300`. |
| `concept` | string or null | `null` | Creative concept used to organize the library. |
| `tags` | array of string | `[]` | maxItems: `100`. |
| `source_group` | string or null | `null` | |

### content fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `format` | single\_image, single\_video, carousel, collection, flexible, existing\_post, catalog | Required | Creative content format; expand the schema for allowed values. |
| `language_mode` | single, multilingual | `"single"` | How the creative uses language variants. |
| `default_locale` | string | Required | Default language for the creative content. |
| `cta` | string or null | `null` | Call-to-action setting for the ad. |
| `source_spec` | object | Optional | Content origin references; credentials and ad codes are excluded. |
| `variants` | array of object | Required | minItems: `1`. maxItems: `50`. |
| `media` | array of object | `[]` | maxItems: `100`. |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "CreativeContentWrite": {
        "additionalProperties": false,
        "description": "Content edits always create a draft and never accept approval inputs.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "format": {
            "enum": [
              "single_image",
              "single_video",
              "carousel",
              "collection",
              "flexible",
              "existing_post",
              "catalog"
            ],
            "type": "string"
          },
          "language_mode": {
            "default": "single",
            "enum": [
              "single",
              "multilingual"
            ],
            "type": "string"
          },
          "default_locale": {
            "type": "string"
          },
          "cta": {
            "anyOf": [
              {
                "maxLength": 64,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "source_spec": {
            "$ref": "#/$defs/CreativeSource"
          },
          "variants": {
            "items": {
              "$ref": "#/$defs/CreativeVariant"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "media": {
            "default": [],
            "items": {
              "$ref": "#/$defs/CreativeMediaBinding"
            },
            "maxItems": 100,
            "type": "array"
          }
        },
        "required": [
          "format",
          "default_locale",
          "variants"
        ],
        "type": "object"
      },
      "CreativeFamilyWrite": {
        "additionalProperties": false,
        "description": "Editable family metadata separate from immutable content.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "name": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "concept": {
            "anyOf": [
              {
                "maxLength": 200,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "tags": {
            "default": [],
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          },
          "source_group": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreativeIdentity": {
        "additionalProperties": false,
        "description": "Nonsecret provider identity requirements.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "page_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "instagram_actor_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "CreativeMediaBinding": {
        "additionalProperties": false,
        "description": "Exact immutable media assignment within one content version.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "media_asset_id": {
            "format": "uuid",
            "type": "string"
          },
          "slot_key": {
            "maxLength": 160,
            "minLength": 1,
            "type": "string"
          },
          "placement_key": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "position": {
            "default": 0,
            "minimum": 0,
            "type": "integer"
          },
          "variant_key": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "asset_metadata": {
            "$ref": "#/$defs/MediaMetadata"
          }
        },
        "required": [
          "media_asset_id",
          "slot_key"
        ],
        "type": "object"
      },
      "CreativeSource": {
        "additionalProperties": false,
        "description": "Content origin references; credentials and ad codes are excluded.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "kind": {
            "default": "new_story",
            "enum": [
              "new_story",
              "existing_post",
              "catalog",
              "flexible"
            ],
            "type": "string"
          },
          "identity": {
            "anyOf": [
              {
                "$ref": "#/$defs/CreativeIdentity"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "post_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "catalog_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "product_set_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "instant_experience_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "partnership_identity_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "partnership_permission_ref": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "CreativeVariant": {
        "additionalProperties": false,
        "description": "A locale member identified independently of list order.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "variant_key": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "locale": {
            "pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$",
            "type": "string"
          },
          "headline": {
            "maxLength": 1000,
            "type": "string"
          },
          "primary_text": {
            "maxLength": 10000,
            "type": "string"
          },
          "description": {
            "default": "",
            "maxLength": 1000,
            "type": "string"
          },
          "destination_url": {
            "anyOf": [
              {
                "maxLength": 2048,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "deep_link": {
            "anyOf": [
              {
                "maxLength": 2048,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "variant_key",
          "locale",
          "headline",
          "primary_text"
        ],
        "type": "object"
      },
      "MediaMetadata": {
        "additionalProperties": false,
        "description": "Bounded nonsecret placement hints, not raw provider payloads.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "width_px": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "height_px": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "duration_ms": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "aspect_ratio": {
            "anyOf": [
              {
                "maxLength": 32,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "family": {
        "$ref": "#/$defs/CreativeFamilyWrite",
        "type": "object"
      },
      "content": {
        "$ref": "#/$defs/CreativeContentWrite"
      }
    },
    "required": [
      "family",
      "content"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creatives-update" />

## launcher\_creatives\_update

Edit a creative's name, concept, or tags using its current lock version. Content changes require a new version.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |
| `family` | object | Required | Editable family metadata separate from immutable content. |
| `expected_version` | integer | Required | minimum: `1`. |

### family fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `name` | string | Required | minLength: `1`. maxLength: `300`. |
| `concept` | string or null | `null` | Creative concept used to organize the library. |
| `tags` | array of string | `[]` | maxItems: `100`. |
| `source_group` | string or null | `null` | |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "CreativeFamilyWrite": {
        "additionalProperties": false,
        "description": "Editable family metadata separate from immutable content.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "name": {
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          },
          "concept": {
            "anyOf": [
              {
                "maxLength": 200,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "tags": {
            "default": [],
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          },
          "source_group": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "creative_id": {
        "format": "uuid",
        "type": "string"
      },
      "family": {
        "$ref": "#/$defs/CreativeFamilyWrite",
        "type": "object"
      },
      "expected_version": {
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "creative_id",
      "family",
      "expected_version"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creatives-archive" />

## launcher\_creatives\_archive

Archive a creative while retaining its content versions and launch history.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |
| `expected_version` | integer | Required | minimum: `1`. |

**Retries:** read the current state after a timeout. If the change has already applied, do not submit it again with an old version.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "creative_id": {
        "format": "uuid",
        "type": "string"
      },
      "expected_version": {
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "creative_id",
      "expected_version"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creative-versions-create" />

## launcher\_creative\_versions\_create

Save new content as a draft version. Earlier versions and launches keep their original content.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |
| `content` | object | Required | Content edits always create a draft and never accept approval inputs. |
| `expected_version` | integer | Required | minimum: `1`. |

### content fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `format` | single\_image, single\_video, carousel, collection, flexible, existing\_post, catalog | Required | Creative content format; expand the schema for allowed values. |
| `language_mode` | single, multilingual | `"single"` | How the creative uses language variants. |
| `default_locale` | string | Required | Default language for the creative content. |
| `cta` | string or null | `null` | Call-to-action setting for the ad. |
| `source_spec` | object | Optional | Content origin references; credentials and ad codes are excluded. |
| `variants` | array of object | Required | minItems: `1`. maxItems: `50`. |
| `media` | array of object | `[]` | maxItems: `100`. |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "CreativeContentWrite": {
        "additionalProperties": false,
        "description": "Content edits always create a draft and never accept approval inputs.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "format": {
            "enum": [
              "single_image",
              "single_video",
              "carousel",
              "collection",
              "flexible",
              "existing_post",
              "catalog"
            ],
            "type": "string"
          },
          "language_mode": {
            "default": "single",
            "enum": [
              "single",
              "multilingual"
            ],
            "type": "string"
          },
          "default_locale": {
            "type": "string"
          },
          "cta": {
            "anyOf": [
              {
                "maxLength": 64,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "source_spec": {
            "$ref": "#/$defs/CreativeSource"
          },
          "variants": {
            "items": {
              "$ref": "#/$defs/CreativeVariant"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "media": {
            "default": [],
            "items": {
              "$ref": "#/$defs/CreativeMediaBinding"
            },
            "maxItems": 100,
            "type": "array"
          }
        },
        "required": [
          "format",
          "default_locale",
          "variants"
        ],
        "type": "object"
      },
      "CreativeIdentity": {
        "additionalProperties": false,
        "description": "Nonsecret provider identity requirements.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "page_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "instagram_actor_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "CreativeMediaBinding": {
        "additionalProperties": false,
        "description": "Exact immutable media assignment within one content version.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "media_asset_id": {
            "format": "uuid",
            "type": "string"
          },
          "slot_key": {
            "maxLength": 160,
            "minLength": 1,
            "type": "string"
          },
          "placement_key": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "position": {
            "default": 0,
            "minimum": 0,
            "type": "integer"
          },
          "variant_key": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "asset_metadata": {
            "$ref": "#/$defs/MediaMetadata"
          }
        },
        "required": [
          "media_asset_id",
          "slot_key"
        ],
        "type": "object"
      },
      "CreativeSource": {
        "additionalProperties": false,
        "description": "Content origin references; credentials and ad codes are excluded.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "kind": {
            "default": "new_story",
            "enum": [
              "new_story",
              "existing_post",
              "catalog",
              "flexible"
            ],
            "type": "string"
          },
          "identity": {
            "anyOf": [
              {
                "$ref": "#/$defs/CreativeIdentity"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "post_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "catalog_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "product_set_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "instant_experience_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "partnership_identity_id": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "partnership_permission_ref": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "CreativeVariant": {
        "additionalProperties": false,
        "description": "A locale member identified independently of list order.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "variant_key": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "locale": {
            "pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$",
            "type": "string"
          },
          "headline": {
            "maxLength": 1000,
            "type": "string"
          },
          "primary_text": {
            "maxLength": 10000,
            "type": "string"
          },
          "description": {
            "default": "",
            "maxLength": 1000,
            "type": "string"
          },
          "destination_url": {
            "anyOf": [
              {
                "maxLength": 2048,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "deep_link": {
            "anyOf": [
              {
                "maxLength": 2048,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "variant_key",
          "locale",
          "headline",
          "primary_text"
        ],
        "type": "object"
      },
      "MediaMetadata": {
        "additionalProperties": false,
        "description": "Bounded nonsecret placement hints, not raw provider payloads.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "width_px": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "height_px": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "duration_ms": {
            "anyOf": [
              {
                "minimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "aspect_ratio": {
            "anyOf": [
              {
                "maxLength": 32,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "creative_id": {
        "format": "uuid",
        "type": "string"
      },
      "content": {
        "$ref": "#/$defs/CreativeContentWrite",
        "type": "object"
      },
      "expected_version": {
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "creative_id",
      "content",
      "expected_version"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creative-versions-approve" />

## launcher\_creative\_versions\_approve

Approve one complete creative version, including its language variants. Requires approval permission.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |
| `version_id` | uuid | Required | Saved creative version UUID. |

**Retries:** check the current state before repeating the operation.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "creative_id": {
        "format": "uuid",
        "type": "string"
      },
      "version_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "creative_id",
      "version_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-creative-versions-revoke" />

## launcher\_creative\_versions\_revoke

Revoke approval for a complete creative version and record the reason. Earlier launch history remains available.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `creative_id` | uuid | Required | Library creative UUID from `launcher_creatives_list`. |
| `version_id` | uuid | Required | Saved creative version UUID. |
| `reason` | string | Required | minLength: `1`. maxLength: `1000`. |

**Retries:** check the current state before repeating the operation.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "creative_id": {
        "format": "uuid",
        "type": "string"
      },
      "version_id": {
        "format": "uuid",
        "type": "string"
      },
      "reason": {
        "maxLength": 1000,
        "minLength": 1,
        "type": "string"
      }
    },
    "required": [
      "creative_id",
      "version_id",
      "reason"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-collections-list" />

## launcher\_collections\_list

List fixed and smart collections in the workspace.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `limit` | integer | `50` | minimum: `1`. maximum: `100`. |
| `after_id` | uuid or null | `null` | Pagination cursor from the preceding result. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "limit": {
        "default": 50,
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "after_id": {
        "anyOf": [
          {
            "format": "uuid",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-collections-preview" />

## launcher\_collections\_preview

Preview which creatives match an unsaved smart filter. Follow `next_cursor` with the same filters and exclusions for more results. Launch preview checks whether the selected versions are approved.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `filter_spec` | object | Required | Versioned server filter definition. |
| `excluded_ids` | array of uuid | `[]` | maxItems: `1000`. |
| `limit` | integer | `24` | minimum: `1`. maximum: `100`. |
| `cursor` | string or null | `null` | |
| `include_count` | boolean | `true` | |

### filter\_spec fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `conditions` | array of object | `[]` | maxItems: `30`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "FilterCondition": {
        "additionalProperties": false,
        "description": "Conditions combine with AND; their values combine with OR.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "field": {
            "enum": [
              "name",
              "concept",
              "language",
              "format",
              "tags",
              "source",
              "imported_at"
            ],
            "type": "string"
          },
          "operator": {
            "enum": [
              "eq",
              "contains",
              "in",
              "gte",
              "lte"
            ],
            "type": "string"
          },
          "values": {
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "field",
          "operator",
          "values"
        ],
        "type": "object"
      },
      "FilterSpec": {
        "additionalProperties": false,
        "description": "Versioned server filter definition.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "conditions": {
            "default": [],
            "items": {
              "$ref": "#/$defs/FilterCondition"
            },
            "maxItems": 30,
            "type": "array"
          }
        },
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "filter_spec": {
        "$ref": "#/$defs/FilterSpec",
        "type": "object"
      },
      "excluded_ids": {
        "default": [],
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "maxItems": 1000,
        "type": "array"
      },
      "limit": {
        "default": 24,
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "cursor": {
        "anyOf": [
          {
            "maxLength": 4096,
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "include_count": {
        "default": true,
        "type": "boolean"
      }
    },
    "required": [
      "filter_spec"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-collections-get" />

## launcher\_collections\_get

Read a collection and its current revision.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `collection_id` | uuid | Required | Collection UUID from `launcher_collections_list`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "collection_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "collection_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-collections-create" />

## launcher\_collections\_create

Create a fixed selection of creatives or a smart collection with filters and exclusions.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `data` | object | Required | Collection name, kind, selected creatives, or smart filters. |

### data fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `name` | string | Required | minLength: `1`. maxLength: `200`. |
| `kind` | fixed, smart | Required | |
| `filter_spec` | object or null | `null` | Smart collection conditions. |
| `member_ids` | array of uuid | `[]` | maxItems: `100`. |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "CollectionWrite": {
        "additionalProperties": false,
        "description": "Fixed includes or smart exclusions with typed definition.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "kind": {
            "enum": [
              "fixed",
              "smart"
            ],
            "type": "string"
          },
          "filter_spec": {
            "anyOf": [
              {
                "$ref": "#/$defs/FilterSpec"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "member_ids": {
            "default": [],
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          }
        },
        "required": [
          "name",
          "kind"
        ],
        "type": "object"
      },
      "FilterCondition": {
        "additionalProperties": false,
        "description": "Conditions combine with AND; their values combine with OR.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "field": {
            "enum": [
              "name",
              "concept",
              "language",
              "format",
              "tags",
              "source",
              "imported_at"
            ],
            "type": "string"
          },
          "operator": {
            "enum": [
              "eq",
              "contains",
              "in",
              "gte",
              "lte"
            ],
            "type": "string"
          },
          "values": {
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "field",
          "operator",
          "values"
        ],
        "type": "object"
      },
      "FilterSpec": {
        "additionalProperties": false,
        "description": "Versioned server filter definition.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "conditions": {
            "default": [],
            "items": {
              "$ref": "#/$defs/FilterCondition"
            },
            "maxItems": 30,
            "type": "array"
          }
        },
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "data": {
        "$ref": "#/$defs/CollectionWrite"
      }
    },
    "required": [
      "data"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-collections-update" />

## launcher\_collections\_update

Replace a collection definition and its members using the current lock version.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `collection_id` | uuid | Required | Collection UUID from `launcher_collections_list`. |
| `data` | object | Required | Collection name, kind, selected creatives, or smart filters. |
| `expected_version` | integer | Required | minimum: `1`. |

### data fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `name` | string | Required | minLength: `1`. maxLength: `200`. |
| `kind` | fixed, smart | Required | |
| `filter_spec` | object or null | `null` | Smart collection conditions. |
| `member_ids` | array of uuid | `[]` | maxItems: `100`. |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "CollectionWrite": {
        "additionalProperties": false,
        "description": "Fixed includes or smart exclusions with typed definition.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "kind": {
            "enum": [
              "fixed",
              "smart"
            ],
            "type": "string"
          },
          "filter_spec": {
            "anyOf": [
              {
                "$ref": "#/$defs/FilterSpec"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "member_ids": {
            "default": [],
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          }
        },
        "required": [
          "name",
          "kind"
        ],
        "type": "object"
      },
      "FilterCondition": {
        "additionalProperties": false,
        "description": "Conditions combine with AND; their values combine with OR.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "field": {
            "enum": [
              "name",
              "concept",
              "language",
              "format",
              "tags",
              "source",
              "imported_at"
            ],
            "type": "string"
          },
          "operator": {
            "enum": [
              "eq",
              "contains",
              "in",
              "gte",
              "lte"
            ],
            "type": "string"
          },
          "values": {
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "field",
          "operator",
          "values"
        ],
        "type": "object"
      },
      "FilterSpec": {
        "additionalProperties": false,
        "description": "Versioned server filter definition.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "conditions": {
            "default": [],
            "items": {
              "$ref": "#/$defs/FilterCondition"
            },
            "maxItems": 30,
            "type": "array"
          }
        },
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "collection_id": {
        "format": "uuid",
        "type": "string"
      },
      "data": {
        "$ref": "#/$defs/CollectionWrite",
        "type": "object"
      },
      "expected_version": {
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "collection_id",
      "data",
      "expected_version"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-collections-archive" />

## launcher\_collections\_archive

Archive a collection. Existing launches keep their saved selections.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `collection_id` | uuid | Required | Collection UUID from `launcher_collections_list`. |
| `expected_version` | integer | Required | minimum: `1`. |

**Retries:** read the current state after a timeout. If the change has already applied, do not submit it again with an old version.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "collection_id": {
        "format": "uuid",
        "type": "string"
      },
      "expected_version": {
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "collection_id",
      "expected_version"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-collections-resolve" />

## launcher\_collections\_resolve

Select creatives from a collection for launch preparation. A creative must match all filter conditions and can match any value within each condition. Resolution does not reserve the selection.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `collection_id` | uuid | Required | Collection UUID from `launcher_collections_list`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "collection_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "collection_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-templates-list" />

## launcher\_templates\_list

List active templates within the authorized workspace.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `limit` | integer | `50` | minimum: `1`. maximum: `100`. |
| `after_id` | uuid or null | `null` | Pagination cursor from the preceding result. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "limit": {
        "default": 50,
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "after_id": {
        "anyOf": [
          {
            "format": "uuid",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-templates-get" />

## launcher\_templates\_get

Read a template and its saved settings versions. Launch validation checks whether those settings remain valid in Meta.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `template_id` | uuid | Required | Template UUID from `launcher_templates_list`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "template_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "template_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-templates-create" />

## launcher\_templates\_create

Save a template and its first settings version. This does not create objects in Meta.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `data` | object | Required | Named reusable exact template version input. |

### data fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `name` | string | Required | minLength: `1`. maxLength: `200`. |
| `config` | object | Required | Saved campaign, ad-set, budget, delivery, and naming settings. |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "AdSetConfig": {
        "additionalProperties": false,
        "description": "Account-scoped capability validation owns enum compatibility.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "destination": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "optimization_goal": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "billing_event": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "promoted_object": {
            "$ref": "#/$defs/PromotedObject"
          },
          "targeting": {
            "$ref": "#/$defs/TargetingConfig"
          },
          "placements": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "bid": {
            "anyOf": [
              {
                "$ref": "#/$defs/BidConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "delivery": {
            "$ref": "#/$defs/DeliveryPolicy"
          },
          "is_skadnetwork_attribution": {
            "default": false,
            "type": "boolean"
          },
          "attribution": {
            "default": [],
            "items": {
              "$ref": "#/$defs/AttributionWindow"
            },
            "maxItems": 10,
            "type": "array"
          },
          "frequency": {
            "anyOf": [
              {
                "$ref": "#/$defs/FrequencyControl"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "dayparts": {
            "default": [],
            "items": {
              "$ref": "#/$defs/DaypartWindow"
            },
            "maxItems": 100,
            "type": "array"
          },
          "beneficiary": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "payor": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "destination",
          "optimization_goal",
          "billing_event",
          "promoted_object",
          "targeting",
          "delivery"
        ],
        "type": "object"
      },
      "AttributionWindow": {
        "additionalProperties": false,
        "description": "Explicit provider attribution event and bounded integer window.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "event_type": {
            "enum": [
              "CLICK_THROUGH",
              "VIEW_THROUGH",
              "ENGAGED_VIDEO_VIEW"
            ],
            "type": "string"
          },
          "window_days": {
            "maximum": 28,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "event_type",
          "window_days"
        ],
        "type": "object"
      },
      "BidConfig": {
        "additionalProperties": false,
        "description": "Bid values preserve minor units or decimal ROAS text.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "strategy": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "amount_minor": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "min_roas": {
            "anyOf": [
              {
                "maxLength": 100,
                "pattern": "^[0-9]+(?:\\.[0-9]+)?$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "strategy"
        ],
        "type": "object"
      },
      "BudgetConfig": {
        "additionalProperties": false,
        "description": "One budget owner and period using integer currency minor units.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "owner": {
            "enum": [
              "campaign",
              "adset"
            ],
            "type": "string"
          },
          "period": {
            "enum": [
              "daily",
              "lifetime"
            ],
            "type": "string"
          },
          "amount_minor": {
            "exclusiveMinimum": 0,
            "maximum": 9223372036854775807,
            "type": "integer"
          },
          "currency": {
            "pattern": "^[A-Z]{3}$",
            "type": "string"
          }
        },
        "required": [
          "owner",
          "period",
          "amount_minor",
          "currency"
        ],
        "type": "object"
      },
      "CampaignConfig": {
        "additionalProperties": false,
        "description": "Requested campaign declarations without claiming provider support.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "objective": {
            "enum": [
              "OUTCOME_AWARENESS",
              "OUTCOME_TRAFFIC",
              "OUTCOME_ENGAGEMENT",
              "OUTCOME_LEADS",
              "OUTCOME_APP_PROMOTION",
              "OUTCOME_SALES"
            ],
            "type": "string"
          },
          "buying_type": {
            "default": "AUCTION",
            "enum": [
              "AUCTION",
              "RESERVED"
            ],
            "type": "string"
          },
          "special_categories": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "category_countries": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "objective"
        ],
        "type": "object"
      },
      "CreativePolicy": {
        "additionalProperties": false,
        "description": "Whole-version language and partnership requirements.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "allowed_formats": {
            "items": {
              "enum": [
                "single_image",
                "single_video",
                "carousel",
                "collection",
                "flexible",
                "existing_post",
                "catalog"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "language_mode": {
            "default": "single",
            "enum": [
              "single",
              "multilingual"
            ],
            "type": "string"
          },
          "missing_variant_policy": {
            "const": "block",
            "default": "block",
            "type": "string"
          },
          "partnership_required": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "allowed_formats"
        ],
        "type": "object"
      },
      "DaypartWindow": {
        "additionalProperties": false,
        "description": "Ordered provider delivery interval without a general scheduler language.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "days": {
            "items": {
              "type": "integer"
            },
            "maxItems": 7,
            "minItems": 1,
            "type": "array"
          },
          "start_minute": {
            "exclusiveMaximum": 1440,
            "minimum": 0,
            "type": "integer"
          },
          "end_minute": {
            "exclusiveMinimum": 0,
            "maximum": 1440,
            "type": "integer"
          },
          "timezone_type": {
            "default": "ADVERTISER",
            "enum": [
              "ADVERTISER",
              "USER"
            ],
            "type": "string"
          }
        },
        "required": [
          "days",
          "start_minute",
          "end_minute"
        ],
        "type": "object"
      },
      "DeliveryPolicy": {
        "additionalProperties": false,
        "description": "Deterministic schedule policy without automatic catch-up.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "timezone": {
            "type": "string"
          },
          "dst_gap": {
            "const": "skip",
            "default": "skip",
            "type": "string"
          },
          "dst_repeat": {
            "const": "second",
            "default": "second",
            "type": "string"
          },
          "missed_run": {
            "const": "skip",
            "default": "skip",
            "type": "string"
          },
          "start_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "end_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "start_offset_seconds": {
            "anyOf": [
              {
                "maximum": 31536000,
                "minimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "duration_seconds": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "maximum": 31536000,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "timezone"
        ],
        "type": "object"
      },
      "FrequencyControl": {
        "additionalProperties": false,
        "description": "Awareness frequency request; account eligibility is checked externally.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "impressions": {
            "exclusiveMinimum": 0,
            "maximum": 1000,
            "type": "integer"
          },
          "days": {
            "exclusiveMinimum": 0,
            "maximum": 90,
            "type": "integer"
          }
        },
        "required": [
          "impressions",
          "days"
        ],
        "type": "object"
      },
      "NamingConfig": {
        "additionalProperties": false,
        "description": "Patterns are expanded and collision-checked before admission.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "campaign": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "adset": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "ad": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "campaign",
          "adset",
          "ad"
        ],
        "type": "object"
      },
      "PromotedObject": {
        "additionalProperties": false,
        "description": "Explicit destination references validated further by capabilities.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "kind": {
            "enum": [
              "website",
              "app",
              "web_app",
              "form",
              "messaging",
              "calls",
              "catalog",
              "event",
              "profile",
              "omnichannel"
            ],
            "type": "string"
          },
          "dataset_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "event": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "custom_conversion_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "application_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "store_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "os": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "page_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "form_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "identity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "flow_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "availability": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "catalog_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "product_set_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "location_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "ProviderLocation": {
        "additionalProperties": false,
        "description": "Exact location-search reference with optional city radius.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "kind": {
            "enum": [
              "region",
              "city",
              "zip"
            ],
            "type": "string"
          },
          "key": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "radius": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "maximum": 1000,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "distance_unit": {
            "anyOf": [
              {
                "enum": [
                  "kilometer",
                  "mile"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "kind",
          "key"
        ],
        "type": "object"
      },
      "RequestedStatus": {
        "description": "Requested provider status, distinct from actual delivery.",
        "enum": [
          "PAUSED",
          "ACTIVE"
        ],
        "type": "string"
      },
      "StructureConfig": {
        "additionalProperties": false,
        "description": "Bounded structure modes rather than a general workflow builder.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "mode": {
            "default": "all",
            "enum": [
              "all",
              "concept",
              "manual"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "TargetingConfig": {
        "additionalProperties": false,
        "description": "Country and audience controls with independent exclusions.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "countries": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "excluded_countries": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "included_locations": {
            "default": [],
            "items": {
              "$ref": "#/$defs/ProviderLocation"
            },
            "maxItems": 100,
            "type": "array"
          },
          "excluded_locations": {
            "default": [],
            "items": {
              "$ref": "#/$defs/ProviderLocation"
            },
            "maxItems": 100,
            "type": "array"
          },
          "genders": {
            "default": [],
            "items": {
              "enum": [
                1,
                2
              ],
              "type": "integer"
            },
            "type": "array"
          },
          "user_os": {
            "default": [],
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "type": "array"
          },
          "user_device": {
            "default": [],
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          },
          "advantage_audience": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "custom_audiences": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "excluded_custom_audiences": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "locales": {
            "default": [],
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "age_min": {
            "anyOf": [
              {
                "maximum": 65,
                "minimum": 13,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "age_max": {
            "anyOf": [
              {
                "maximum": 65,
                "minimum": 13,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "audience_semantics": {
            "default": "control",
            "enum": [
              "control",
              "suggestion"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "TemplateConfig": {
        "additionalProperties": false,
        "description": "Typed initial template subset; capability evidence is external.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "campaign": {
            "$ref": "#/$defs/CampaignConfig"
          },
          "budget": {
            "$ref": "#/$defs/BudgetConfig"
          },
          "adset": {
            "$ref": "#/$defs/AdSetConfig"
          },
          "creative_policy": {
            "$ref": "#/$defs/CreativePolicy"
          },
          "naming": {
            "$ref": "#/$defs/NamingConfig"
          },
          "structure": {
            "$ref": "#/$defs/StructureConfig"
          },
          "requested_status": {
            "$ref": "#/$defs/RequestedStatus",
            "default": "PAUSED"
          }
        },
        "required": [
          "campaign",
          "budget",
          "adset",
          "creative_policy",
          "naming"
        ],
        "type": "object"
      },
      "TemplateWrite": {
        "additionalProperties": false,
        "description": "Named reusable exact template version input.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "config": {
            "$ref": "#/$defs/TemplateConfig"
          }
        },
        "required": [
          "name",
          "config"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "data": {
        "$ref": "#/$defs/TemplateWrite"
      }
    },
    "required": [
      "data"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-template-versions-create" />

## launcher\_template\_versions\_create

Save new template settings as a separate version. Existing schedules keep their selected version.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `template_id` | uuid | Required | Template UUID from `launcher_templates_list`. |
| `data` | object | Required | Named reusable exact template version input. |
| `expected_version` | integer | Required | minimum: `1`. |

### data fields

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `schema_version` | 1 | `1` | Input format version. |
| `name` | string | Required | minLength: `1`. maxLength: `200`. |
| `config` | object | Required | Saved campaign, ad-set, budget, delivery, and naming settings. |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "$defs": {
      "AdSetConfig": {
        "additionalProperties": false,
        "description": "Account-scoped capability validation owns enum compatibility.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "destination": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "optimization_goal": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "billing_event": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "promoted_object": {
            "$ref": "#/$defs/PromotedObject"
          },
          "targeting": {
            "$ref": "#/$defs/TargetingConfig"
          },
          "placements": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "bid": {
            "anyOf": [
              {
                "$ref": "#/$defs/BidConfig"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "delivery": {
            "$ref": "#/$defs/DeliveryPolicy"
          },
          "is_skadnetwork_attribution": {
            "default": false,
            "type": "boolean"
          },
          "attribution": {
            "default": [],
            "items": {
              "$ref": "#/$defs/AttributionWindow"
            },
            "maxItems": 10,
            "type": "array"
          },
          "frequency": {
            "anyOf": [
              {
                "$ref": "#/$defs/FrequencyControl"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "dayparts": {
            "default": [],
            "items": {
              "$ref": "#/$defs/DaypartWindow"
            },
            "maxItems": 100,
            "type": "array"
          },
          "beneficiary": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "payor": {
            "anyOf": [
              {
                "maxLength": 300,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "destination",
          "optimization_goal",
          "billing_event",
          "promoted_object",
          "targeting",
          "delivery"
        ],
        "type": "object"
      },
      "AttributionWindow": {
        "additionalProperties": false,
        "description": "Explicit provider attribution event and bounded integer window.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "event_type": {
            "enum": [
              "CLICK_THROUGH",
              "VIEW_THROUGH",
              "ENGAGED_VIDEO_VIEW"
            ],
            "type": "string"
          },
          "window_days": {
            "maximum": 28,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "event_type",
          "window_days"
        ],
        "type": "object"
      },
      "BidConfig": {
        "additionalProperties": false,
        "description": "Bid values preserve minor units or decimal ROAS text.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "strategy": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "amount_minor": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "min_roas": {
            "anyOf": [
              {
                "maxLength": 100,
                "pattern": "^[0-9]+(?:\\.[0-9]+)?$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "strategy"
        ],
        "type": "object"
      },
      "BudgetConfig": {
        "additionalProperties": false,
        "description": "One budget owner and period using integer currency minor units.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "owner": {
            "enum": [
              "campaign",
              "adset"
            ],
            "type": "string"
          },
          "period": {
            "enum": [
              "daily",
              "lifetime"
            ],
            "type": "string"
          },
          "amount_minor": {
            "exclusiveMinimum": 0,
            "maximum": 9223372036854775807,
            "type": "integer"
          },
          "currency": {
            "pattern": "^[A-Z]{3}$",
            "type": "string"
          }
        },
        "required": [
          "owner",
          "period",
          "amount_minor",
          "currency"
        ],
        "type": "object"
      },
      "CampaignConfig": {
        "additionalProperties": false,
        "description": "Requested campaign declarations without claiming provider support.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "objective": {
            "enum": [
              "OUTCOME_AWARENESS",
              "OUTCOME_TRAFFIC",
              "OUTCOME_ENGAGEMENT",
              "OUTCOME_LEADS",
              "OUTCOME_APP_PROMOTION",
              "OUTCOME_SALES"
            ],
            "type": "string"
          },
          "buying_type": {
            "default": "AUCTION",
            "enum": [
              "AUCTION",
              "RESERVED"
            ],
            "type": "string"
          },
          "special_categories": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "category_countries": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "objective"
        ],
        "type": "object"
      },
      "CreativePolicy": {
        "additionalProperties": false,
        "description": "Whole-version language and partnership requirements.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "allowed_formats": {
            "items": {
              "enum": [
                "single_image",
                "single_video",
                "carousel",
                "collection",
                "flexible",
                "existing_post",
                "catalog"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "language_mode": {
            "default": "single",
            "enum": [
              "single",
              "multilingual"
            ],
            "type": "string"
          },
          "missing_variant_policy": {
            "const": "block",
            "default": "block",
            "type": "string"
          },
          "partnership_required": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "allowed_formats"
        ],
        "type": "object"
      },
      "DaypartWindow": {
        "additionalProperties": false,
        "description": "Ordered provider delivery interval without a general scheduler language.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "days": {
            "items": {
              "type": "integer"
            },
            "maxItems": 7,
            "minItems": 1,
            "type": "array"
          },
          "start_minute": {
            "exclusiveMaximum": 1440,
            "minimum": 0,
            "type": "integer"
          },
          "end_minute": {
            "exclusiveMinimum": 0,
            "maximum": 1440,
            "type": "integer"
          },
          "timezone_type": {
            "default": "ADVERTISER",
            "enum": [
              "ADVERTISER",
              "USER"
            ],
            "type": "string"
          }
        },
        "required": [
          "days",
          "start_minute",
          "end_minute"
        ],
        "type": "object"
      },
      "DeliveryPolicy": {
        "additionalProperties": false,
        "description": "Deterministic schedule policy without automatic catch-up.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "timezone": {
            "type": "string"
          },
          "dst_gap": {
            "const": "skip",
            "default": "skip",
            "type": "string"
          },
          "dst_repeat": {
            "const": "second",
            "default": "second",
            "type": "string"
          },
          "missed_run": {
            "const": "skip",
            "default": "skip",
            "type": "string"
          },
          "start_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "end_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "start_offset_seconds": {
            "anyOf": [
              {
                "maximum": 31536000,
                "minimum": 0,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "duration_seconds": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "maximum": 31536000,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "timezone"
        ],
        "type": "object"
      },
      "FrequencyControl": {
        "additionalProperties": false,
        "description": "Awareness frequency request; account eligibility is checked externally.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "impressions": {
            "exclusiveMinimum": 0,
            "maximum": 1000,
            "type": "integer"
          },
          "days": {
            "exclusiveMinimum": 0,
            "maximum": 90,
            "type": "integer"
          }
        },
        "required": [
          "impressions",
          "days"
        ],
        "type": "object"
      },
      "NamingConfig": {
        "additionalProperties": false,
        "description": "Patterns are expanded and collision-checked before admission.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "campaign": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "adset": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "ad": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "campaign",
          "adset",
          "ad"
        ],
        "type": "object"
      },
      "PromotedObject": {
        "additionalProperties": false,
        "description": "Explicit destination references validated further by capabilities.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "kind": {
            "enum": [
              "website",
              "app",
              "web_app",
              "form",
              "messaging",
              "calls",
              "catalog",
              "event",
              "profile",
              "omnichannel"
            ],
            "type": "string"
          },
          "dataset_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "event": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "custom_conversion_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "application_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "store_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "os": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "page_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "form_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "identity_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "flow_ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "availability": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "catalog_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "product_set_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "location_ids": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "ProviderLocation": {
        "additionalProperties": false,
        "description": "Exact location-search reference with optional city radius.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "kind": {
            "enum": [
              "region",
              "city",
              "zip"
            ],
            "type": "string"
          },
          "key": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "radius": {
            "anyOf": [
              {
                "exclusiveMinimum": 0,
                "maximum": 1000,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "distance_unit": {
            "anyOf": [
              {
                "enum": [
                  "kilometer",
                  "mile"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "required": [
          "kind",
          "key"
        ],
        "type": "object"
      },
      "RequestedStatus": {
        "description": "Requested provider status, distinct from actual delivery.",
        "enum": [
          "PAUSED",
          "ACTIVE"
        ],
        "type": "string"
      },
      "StructureConfig": {
        "additionalProperties": false,
        "description": "Bounded structure modes rather than a general workflow builder.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "mode": {
            "default": "all",
            "enum": [
              "all",
              "concept",
              "manual"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "TargetingConfig": {
        "additionalProperties": false,
        "description": "Country and audience controls with independent exclusions.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "countries": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "excluded_countries": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "included_locations": {
            "default": [],
            "items": {
              "$ref": "#/$defs/ProviderLocation"
            },
            "maxItems": 100,
            "type": "array"
          },
          "excluded_locations": {
            "default": [],
            "items": {
              "$ref": "#/$defs/ProviderLocation"
            },
            "maxItems": 100,
            "type": "array"
          },
          "genders": {
            "default": [],
            "items": {
              "enum": [
                1,
                2
              ],
              "type": "integer"
            },
            "type": "array"
          },
          "user_os": {
            "default": [],
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "type": "array"
          },
          "user_device": {
            "default": [],
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "type": "array"
          },
          "advantage_audience": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "custom_audiences": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "excluded_custom_audiences": {
            "default": [],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "locales": {
            "default": [],
            "items": {
              "type": "integer"
            },
            "type": "array"
          },
          "age_min": {
            "anyOf": [
              {
                "maximum": 65,
                "minimum": 13,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "age_max": {
            "anyOf": [
              {
                "maximum": 65,
                "minimum": 13,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "audience_semantics": {
            "default": "control",
            "enum": [
              "control",
              "suggestion"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "TemplateConfig": {
        "additionalProperties": false,
        "description": "Typed initial template subset; capability evidence is external.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "campaign": {
            "$ref": "#/$defs/CampaignConfig"
          },
          "budget": {
            "$ref": "#/$defs/BudgetConfig"
          },
          "adset": {
            "$ref": "#/$defs/AdSetConfig"
          },
          "creative_policy": {
            "$ref": "#/$defs/CreativePolicy"
          },
          "naming": {
            "$ref": "#/$defs/NamingConfig"
          },
          "structure": {
            "$ref": "#/$defs/StructureConfig"
          },
          "requested_status": {
            "$ref": "#/$defs/RequestedStatus",
            "default": "PAUSED"
          }
        },
        "required": [
          "campaign",
          "budget",
          "adset",
          "creative_policy",
          "naming"
        ],
        "type": "object"
      },
      "TemplateWrite": {
        "additionalProperties": false,
        "description": "Named reusable exact template version input.",
        "properties": {
          "schema_version": {
            "const": 1,
            "default": 1,
            "type": "integer"
          },
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "config": {
            "$ref": "#/$defs/TemplateConfig"
          }
        },
        "required": [
          "name",
          "config"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "template_id": {
        "format": "uuid",
        "type": "string"
      },
      "data": {
        "$ref": "#/$defs/TemplateWrite",
        "type": "object"
      },
      "expected_version": {
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "template_id",
      "data",
      "expected_version"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-templates-archive" />

## launcher\_templates\_archive

Archive a template while retaining versions used by earlier launches and schedules.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `template_id` | uuid | Required | Template UUID from `launcher_templates_list`. |
| `expected_version` | integer | Required | minimum: `1`. |

**Retries:** read the current state after a timeout. If the change has already applied, do not submit it again with an old version.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "template_id": {
        "format": "uuid",
        "type": "string"
      },
      "expected_version": {
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "template_id",
      "expected_version"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-media-list" />

## launcher\_media\_list

List saved media and its IDs.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `limit` | integer | `50` | minimum: `1`. maximum: `100`. |
| `search` | string or null | `null` | |
| `media_type` | image, video or null | `null` | |
| `source_kind` | upload, google\_drive or null | `null` | |
| `sort` | newest, oldest, name | `"newest"` | |
| `offset` | integer | `0` | minimum: `0`. maximum: `100000`. |
| `after_id` | uuid or null | `null` | Pagination cursor from the preceding result. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "limit": {
        "default": 50,
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "search": {
        "anyOf": [
          {
            "maxLength": 200,
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "media_type": {
        "anyOf": [
          {
            "enum": [
              "image",
              "video"
            ],
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "source_kind": {
        "anyOf": [
          {
            "enum": [
              "upload",
              "google_drive"
            ],
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "sort": {
        "default": "newest",
        "enum": [
          "newest",
          "oldest",
          "name"
        ],
        "type": "string"
      },
      "offset": {
        "default": 0,
        "maximum": 100000,
        "minimum": 0,
        "type": "integer"
      },
      "after_id": {
        "anyOf": [
          {
            "format": "uuid",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-media-get" />

## launcher\_media\_get

Read saved media details. Private storage URLs are excluded.

**Access:** `mcp:read`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `media_asset_id` | uuid | Required | Workspace media UUID from an upload or `launcher_media_list`. |

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "media_asset_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "media_asset_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-media-delete" />

## launcher\_media\_delete

Archive unused media and queue file deletion. Media referenced by saved creatives or launches cannot be deleted.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `media_asset_id` | uuid | Required | Workspace media UUID from an upload or `launcher_media_list`. |

**Retries:** check the current state before repeating the operation.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "media_asset_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "media_asset_id"
    ],
    "type": "object"
  }
  ```
</Accordion>

<span id="launcher-media-retry-thumbnail" />

## launcher\_media\_retry\_thumbnail

Request another thumbnail-generation attempt for a saved media item.

**Access:** `mcp:read` and `mcp:write`.

| Parameter | Type | Required / default | Details |
| - | - | - | - |
| `media_asset_id` | uuid | Required | Workspace media UUID from an upload or `launcher_media_list`. |

**Retries:** after a timeout, read the current state before submitting again to avoid duplicate changes.

<Accordion title="Full input schema">
  ```json theme={null}
  {
    "additionalProperties": false,
    "properties": {
      "media_asset_id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "media_asset_id"
    ],
    "type": "object"
  }
  ```
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.