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

# update_amazon_campaigns

> Update Amazon campaigns of one ad_product (SP, SB or SD): daily_budget (update_amazon_<product>_campaign_budget), name (update_amazon_<product>_campaign, one campaign at a time), and for Sponsored Pro

> [!WARNING]
>
> **Change — approval required.** Calling this tool does not change your ad account. ADSMCP checks the arguments and stages the change as a pending action. It runs only after a person approves it on the dashboard [Approvals](https://adsmcp.si/dashboard/approvals) page. Over MCP or REST you can view (`list_pending_actions`) or reject (`manage_action`) it, never approve it. `execution_mode` and similar arguments do not skip the queue.
>
> **Spend cap.** When the approved change runs, ADSMCP adds up the daily budgets of everything that would be spending in the platform's connected accounts after the change. If that total is above your Max Daily Budget (dashboard [Brand](https://adsmcp.si/dashboard/brand) page), the change is refused. If the total cannot be read, it is refused too.
>
> A change that fails when it runs is not retried automatically. It shows on the dashboard Execution Queue.

Update Amazon campaigns of one ad\_product (SP, SB or SD): daily\_budget (update\_amazon\_\<product>*campaign\_budget), name (update\_amazon*\<product>\_campaign, one campaign at a time), and for Sponsored Products bidding\_strategy and placement\_adjustments (update\_amazon\_sp\_campaign). One queued change per campaign per underlying tool (up to 20 campaigns). Every change is queued for approval (execution\_mode approval\_required, the only mode accepted); a budget or bidding change is checked against the account-total spend cap when approved. Nothing changes in Amazon before that.

**Platform:** Amazon Ads · **Type:** Change

## How to call it

* **MCP:** on `https://mcp.adsmcp.si/mcp`, run it through the `amazon_ads_write` tool with `{"action": "execute", "tool_name": "update_amazon_campaigns", "arguments": { ... }}`, or call `update_amazon_campaigns` by name. `search_tools` finds it and `get_tool_schema` returns its arguments; `https://mcp.adsmcp.si/mcp/flat` lists every tool by name.
* **REST:** `POST https://mcp.adsmcp.si/api/v1/tools/update_amazon_campaigns/execute` with `Authorization: Bearer sk_live_...` and a JSON body `{"platform": "amazon", "arguments": { ... }}`. The arguments are listed below; they are exactly the tool's input schema.


## OpenAPI

````yaml api-reference/openapi.json POST /api/v1/tools/update_amazon_campaigns/execute
openapi: 3.1.0
info:
  title: ADSMCP REST API
  version: 0.1.0
  description: >-
    ADSMCP REST API: every public ADSMCP tool as POST
    /api/v1/tools/{name}/execute. Generated from the ADSMCP code (the service
    serves the same document at GET /api/v1/openapi.json). Changes to ad
    accounts are staged for approval by a person on the ADSMCP dashboard;
    nothing in this API can approve them.
servers:
  - url: https://mcp.adsmcp.si
    description: ADSMCP MCP and REST service
security: []
paths:
  /api/v1/tools/update_amazon_campaigns/execute:
    post:
      tags:
        - amazon
      summary: >-
        Update Amazon campaigns of one ad_product (SP, SB or SD): daily_budget
        (update_amazon_<product>_campaign_budget), name
        (update_amazon_<product>_campaign, one campaign at a time), and for
        Sponsored Products bidding_strategy and placement_adjustments
        (update_amazon_sp_campaign). One queued change per campaign per
        underlying tool (up to 20 campaigns). Every change is queued for
        approval (execution_mode approval_required, the only mode accepted); a
        budget or bidding change is checked against the account-total spend cap
        when approved. Nothing changes in Amazon before that.
      description: >-
        Update Amazon campaigns of one ad_product (SP, SB or SD): daily_budget
        (update_amazon_<product>_campaign_budget), name
        (update_amazon_<product>_campaign, one campaign at a time), and for
        Sponsored Products bidding_strategy and placement_adjustments
        (update_amazon_sp_campaign). One queued change per campaign per
        underlying tool (up to 20 campaigns). Every change is queued for
        approval (execution_mode approval_required, the only mode accepted); a
        budget or bidding change is checked against the account-total spend cap
        when approved. Nothing changes in Amazon before that. Use this when you
        intend that change. Write tools create paused objects or wait for
        approval, and a failed spend-affecting call is not retried
        automatically.
      operationId: execute_update_amazon_campaigns
      parameters:
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
          description: Bearer token
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                platform:
                  type: string
                  default: amazon
                arguments:
                  type: object
                  properties:
                    profile_id:
                      type: string
                      description: Amazon Ads profile id (see get_amazon_profiles).
                    ad_product:
                      type: string
                      enum:
                        - SP
                        - SB
                        - SD
                      description: >-
                        Ad product: SP (Sponsored Products), SB (Sponsored
                        Brands) or SD (Sponsored Display).
                    campaign_id:
                      type: string
                      description: A single campaign id.
                    campaign_ids:
                      type: array
                      items:
                        type: string
                      maxItems: 20
                      description: Up to 20 campaign ids (all of the given ad_product).
                    daily_budget:
                      type: number
                      exclusiveMinimum: 0
                      description: New daily budget, in the profile's currency.
                    name:
                      type: string
                      minLength: 1
                      maxLength: 128
                      description: New campaign name (one campaign per call).
                    bidding_strategy:
                      type: string
                      enum:
                        - LEGACY_FOR_SALES
                        - AUTO_FOR_SALES
                        - MANUAL
                        - RULE_BASED
                      description: 'SP only: dynamic bidding strategy.'
                    placement_adjustments:
                      type: array
                      minItems: 1
                      maxItems: 3
                      items:
                        type: object
                        properties:
                          placement:
                            type: string
                            enum:
                              - PLACEMENT_TOP
                              - PLACEMENT_PRODUCT_PAGE
                              - PLACEMENT_REST_OF_SEARCH
                          percentage:
                            type: integer
                            minimum: 0
                            maximum: 900
                        required:
                          - placement
                          - percentage
                        additionalProperties: false
                      description: >-
                        SP only: placement bid adjustments (replace the current
                        list).
                    execution_mode:
                      type: string
                      enum:
                        - approval_required
                      description: >-
                        Only approval_required: Amazon campaign changes are
                        queued for approval.
                  required:
                    - profile_id
                    - ad_product
                  additionalProperties: false
              additionalProperties: false
      responses:
        '200':
          description: Tool execution result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecuteToolResponse'
        '400':
          description: Invalid JSON input.
        '401':
          description: Authentication error.
      security:
        - bearerAuth: []
components:
  schemas:
    ExecuteToolResponse:
      type: object
      properties:
        ok:
          type: boolean
        platform:
          type: string
        tool:
          type: string
        data: {}
        error:
          anyOf:
            - type: 'null'
            - $ref: '#/components/schemas/ErrorResponse'
        mcp_response: {}
      required:
        - ok
        - platform
        - tool
        - error
        - mcp_response
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        code: {}
        message:
          type: string
        details: {}
      required:
        - message
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API token

````

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