← All MCP tools

MCP tool

revise_creative

Rewrite a generated DOOH creative in your own words and re-render it through the same layout, brand kit and legal strip. Supply only the fields you want to change; the rest carry over from the creative you are revising. The result is a NEW versioned creative linked by sourceCreativeId — the original is never mutated, because it may already be trafficking. Copy is clamped to the format limits (a six-sheet cannot show more) and any field that had to be trimmed is named in clampedFields, so shortening it yourself keeps the wording exact. The clearance precheck re-runs on the revised copy, so an edit cannot dodge it. DOOH only — the storyboard channels would need the copy re-timed against scene durations, which is a different operation and is not pretended here.

Input

Pass fields from this schema as the tool arguments. Runtime ownership, product scope and readiness checks still apply.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "creativeId": {
      "type": "string",
      "minLength": 1,
      "description": "generated DOOH creative to revise, e.g. cr-1a2b3c4d"
    },
    "headline": {
      "description": "replacement headline",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "subline": {
      "description": "replacement subline",
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "cta": {
      "description": "replacement call to action",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "mandatories": {
      "description": "replacement legal lines; max 4 of 60 characters, never truncated",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    }
  },
  "required": [
    "creativeId"
  ]
}

REST mapping and authority

The tool wraps this REST endpoint. The mapping identifies path/query/body transformations and approval or idempotency headers.

Request contract
{
  "method": "POST",
  "path": "/api/v1/creatives/{creativeId}/revise",
  "pathFields": [
    "creativeId"
  ],
  "pathSchema": {
    "type": "object",
    "properties": {
      "creativeId": {
        "type": "string",
        "minLength": 1,
        "description": "generated DOOH creative to revise, e.g. cr-1a2b3c4d"
      }
    },
    "additionalProperties": false,
    "required": [
      "creativeId"
    ]
  },
  "pathEncoding": "encodeURIComponent for each path field",
  "governedAction": null,
  "headers": {},
  "bodySchema": {
    "type": "object",
    "properties": {
      "headline": {
        "description": "replacement headline",
        "type": "string",
        "minLength": 1,
        "maxLength": 200
      },
      "subline": {
        "description": "replacement subline",
        "type": "string",
        "minLength": 1,
        "maxLength": 300
      },
      "cta": {
        "description": "replacement call to action",
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "mandatories": {
        "description": "replacement legal lines; max 4 of 60 characters, never truncated",
        "maxItems": 4,
        "type": "array",
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        }
      }
    },
    "additionalProperties": false
  },
  "responseMapping": "REST JSON is returned as MCP structuredContent and a compatibility text block; privacy-sensitive tools validate their output schema."
}

Output

This is the registered MCP output envelope. Nested fields are only modeled where the schema explicitly defines them.

Output JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "creativeId": {
      "type": "string"
    },
    "creative": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "creativeId",
    "creative"
  ],
  "additionalProperties": {}
}

Safety annotations

MCP annotations
{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": true
}

Annotations help a client present the tool. The API independently enforces authorization and exact action approvals. Error and retry guidance →

revise_creative | AdBuyMCP docs