{
  "info": {
    "description": "Create and manage Sponsored Brands campaigns. \n\nTo learn more about Sponsored Brands campaigns, see:\n\n - [Sponsored Brands overview](guides/sponsored-brands/overview)\n - [Sponsored Brands campaign structure](guides/sponsored-brands/campaigns/structure)\n - [Get started with Sponsored Brands campaigns](guides/sponsored-brands/campaigns/get-started-with-campaigns)",
    "title": "Sponsored Brands campaign management",
    "version": "4.0"
  },
  "tags": [
    {
      "name": "Campaigns"
    },
    {
      "name": "Ad groups"
    },
    {
      "name": "Ads"
    },
    {
      "name": "Ad creatives"
    },
    {
      "name": "Recommendations"
    },
    {
      "name": "Product targeting categories"
    },
    {
      "name": "Insights"
    },
    {
      "name": "Budget usage"
    },
    {
      "name": "Forecasts"
    },
    {
      "name": "Optimization rules"
    },
    {
      "name": "V3 Campaign Migration"
    },
    {
      "name": "Ad Migrations"
    }
  ],
  "paths": {
    "/sb/v4/campaigns": {
      "post": {
        "summary": "Create campaigns",
        "requestBody": {
          "content": {
            "application/vnd.sbcampaignresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsCampaignsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Creates Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsCampaigns",
        "responses": {
          "207": {
            "description": "CreateSponsoredBrandsCampaigns 207 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsCampaignsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Campaigns"
        ]
      },
      "put": {
        "summary": "Update campaigns",
        "requestBody": {
          "content": {
            "application/vnd.sbcampaignresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSponsoredBrandsCampaignsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Updates Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "UpdateSponsoredBrandsCampaigns",
        "responses": {
          "207": {
            "description": "UpdateSponsoredBrandsCampaigns 207 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSponsoredBrandsCampaignsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Campaigns"
        ]
      }
    },
    "/sb/v4/campaigns/list": {
      "post": {
        "summary": "List campaigns",
        "requestBody": {
          "content": {
            "application/vnd.sbcampaignresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/ListSponsoredBrandsCampaignsRequestContent"
              }
            }
          }
        },
        "description": "Lists Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "ListSponsoredBrandsCampaigns",
        "responses": {
          "200": {
            "description": "ListSponsoredBrandsCampaigns 200 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSponsoredBrandsCampaignsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Campaigns"
        ]
      }
    },
    "/sb/v4/campaigns/delete": {
      "post": {
        "summary": "Delete campaigns.",
        "requestBody": {
          "content": {
            "application/vnd.sbcampaignresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteSponsoredBrandsCampaignsRequestContent"
              }
            }
          }
        },
        "description": "Deletes Sponsored Brands campaigns.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "DeleteSponsoredBrandsCampaigns",
        "responses": {
          "207": {
            "description": "DeleteSponsoredBrandsCampaigns 207 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteSponsoredBrandsCampaignsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbcampaignresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Campaigns"
        ]
      }
    },
    "/sb/v4/adGroups": {
      "post": {
        "summary": "Create ad groups",
        "requestBody": {
          "content": {
            "application/vnd.sbadgroupresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsAdGroupsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Creates Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsAdGroups",
        "responses": {
          "207": {
            "description": "CreateSponsoredBrandsAdGroups 207 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsAdGroupsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ad groups"
        ]
      },
      "put": {
        "summary": "Update ad groups",
        "requestBody": {
          "content": {
            "application/vnd.sbadgroupresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSponsoredBrandsAdGroupsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Updates Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "UpdateSponsoredBrandsAdGroups",
        "responses": {
          "207": {
            "description": "UpdateSponsoredBrandsAdGroups 207 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSponsoredBrandsAdGroupsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ad groups"
        ]
      }
    },
    "/sb/v4/adGroups/list": {
      "post": {
        "summary": "List ad groups",
        "requestBody": {
          "content": {
            "application/vnd.sbadgroupresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/ListSponsoredBrandsAdGroupsRequestContent"
              }
            }
          }
        },
        "description": "Lists Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "ListSponsoredBrandsAdGroups",
        "responses": {
          "200": {
            "description": "ListSponsoredBrandsAdGroups 200 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSponsoredBrandsAdGroupsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ad groups"
        ]
      }
    },
    "/sb/v4/adGroups/delete": {
      "post": {
        "summary": "Delete ad groups",
        "requestBody": {
          "content": {
            "application/vnd.sbadgroupresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteSponsoredBrandsAdGroupsRequestContent"
              }
            }
          }
        },
        "description": "Deletes Sponsored Brands ad groups.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "DeleteSponsoredBrandsAdGroups",
        "responses": {
          "207": {
            "description": "DeleteSponsoredBrandsAdGroups 207 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteSponsoredBrandsAdGroupsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadgroupresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ad groups"
        ]
      }
    },
    "/sb/v4/ads/autoCollection": {
      "post": {
        "description": "Creates Sponsored Brands automatic collection ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsAutoCollectionAds",
        "parameters": [
          {
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "required": true,
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            }
          },
          {
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "required": true,
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsAutoCollectionAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "207": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsAutoCollectionAdsResponseContent"
                }
              }
            },
            "description": "CreateSponsoredBrandsAutoCollectionAds 207 response."
          },
          "400": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            },
            "description": "InvalidArgumentException 400 response."
          },
          "401": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            },
            "description": "UnauthorizedException 401 response."
          },
          "403": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            },
            "description": "AccessDeniedException 403 response."
          },
          "429": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            },
            "description": "ThrottlingException 429 response.",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                }
              }
            }
          },
          "500": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            },
            "description": "InternalServerException 500 response."
          }
        },
        "tags": [
          "Ads"
        ],
        "summary": "Create Sponsored Brands Auto Collection Ads"
      }
    },
    "/sb/v4/ads/manualCollection": {
      "post": {
        "description": "Creates Sponsored Brands manual collection ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsManualCollectionAds",
        "parameters": [
          {
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "required": true,
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            }
          },
          {
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "required": true,
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsManualCollectionAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "207": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsManualCollectionAdsResponseContent"
                }
              }
            },
            "description": "CreateSponsoredBrandsManualCollectionAds 207 response."
          },
          "400": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            },
            "description": "InvalidArgumentException 400 response."
          },
          "401": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            },
            "description": "UnauthorizedException 401 response."
          },
          "403": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            },
            "description": "AccessDeniedException 403 response."
          },
          "429": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            },
            "description": "ThrottlingException 429 response.",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                }
              }
            }
          },
          "500": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            },
            "description": "InternalServerException 500 response."
          }
        },
        "tags": [
          "Ads"
        ],
        "summary": "Create Sponsored Brands Manual Collection Ads"
      }
    },
    "/sb/v4/ads/brandVideo": {
      "post": {
        "summary": "Create brand video ads",
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsBrandVideoAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Creates Sponsored Brands brand video ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsBrandVideoAds",
        "responses": {
          "207": {
            "description": "CreateSponsoredBrandsBrandVideoAds 207 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsBrandVideoAdsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/v4/ads/productCollectionExtended": {
      "post": {
        "summary": "[DEPRECATED] Creates Sponsored Brands new product collection ads with collection of custom images",
        "deprecated": true,
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsExtendedProductCollectionAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "[DEPRECATED - Do not use] Refer to the [Product Collection Deprecation Notice](https://advertising.amazon.com/API/docs/en-us/release-notes/deprecations#deprecation-of-sponsored-brands-product-collection-ad-type) for more details. Use [/sb/v4/ads/manualCollection](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#tag/Ads/operation/CreateSponsoredBrandsManualCollectionAds) or [/sb/v4/ads/autoCollection](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#tag/Ads/operation/CreateSponsoredBrandsAutoCollectionAds) instead.\n\n---\n\nCreates Sponsored Brands product collection ads with collection of custom images[1-5].\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsExtendedProductCollectionAds",
        "responses": {
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "207": {
            "description": "CreateSponsoredBrandsExtendedProductCollectionAds 207 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsExtendedProductCollectionAdsResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/v4/ads/video": {
      "post": {
        "summary": "Create video ads",
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsVideoAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Creates Sponsored Brands video ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsVideoAds",
        "responses": {
          "207": {
            "description": "CreateSponsoredBrandsVideoAds 207 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsVideoAdsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/v4/ads/productCollection": {
      "post": {
        "summary": "[DEPRECATED] Create product collection ads",
        "deprecated": true,
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsProductCollectionAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "[DEPRECATED - Do not use] Refer to the [Product Collection Deprecation Notice](https://advertising.amazon.com/API/docs/en-us/release-notes/deprecations#deprecation-of-sponsored-brands-product-collection-ad-type) for more details. Use [/sb/v4/ads/manualCollection](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#tag/Ads/operation/CreateSponsoredBrandsManualCollectionAds) or [/sb/v4/ads/autoCollection](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#tag/Ads/operation/CreateSponsoredBrandsAutoCollectionAds) instead.\n\n---\n\nCreates Sponsored Brands product collection ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandsProductCollectionAds",
        "responses": {
          "207": {
            "description": "CreateSponsoredBrandsProductCollectionAds 207 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsProductCollectionAdsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/v4/ads/storeSpotlight": {
      "post": {
        "summary": "Create store spotlight ads",
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandStoreSpotlightAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Creates Sponsored Brands store spotlight ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateSponsoredBrandStoreSpotlightAds",
        "responses": {
          "207": {
            "description": "CreateSponsoredBrandStoreSpotlightAds 207 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandStoreSpotlightAdsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/v4/ads": {
      "put": {
        "summary": "Update ads",
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSponsoredBrandsAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Updates Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "UpdateSponsoredBrandsAds",
        "responses": {
          "207": {
            "description": "UpdateSponsoredBrandsAds 207 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSponsoredBrandsAdsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/ads/creatives/autoCollection": {
      "post": {
        "description": "Updates the ad settings for an automatic collection by creating a new version\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "UpdateSponsoredBrandsAutoCollectionAds",
        "parameters": [
          {
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "required": true,
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            }
          },
          {
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "required": true,
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSponsoredBrandsAutoCollectionAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "207": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSponsoredBrandsAutoCollectionAdsResponseContent"
                }
              }
            },
            "description": "UpdateSponsoredBrandsAutoCollectionAds 207 response."
          },
          "400": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            },
            "description": "InvalidArgumentException 400 response."
          },
          "401": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            },
            "description": "UnauthorizedException 401 response."
          },
          "403": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            },
            "description": "AccessDeniedException 403 response."
          },
          "429": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            },
            "description": "ThrottlingException 429 response.",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                }
              }
            }
          },
          "500": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            },
            "description": "InternalServerException 500 response."
          }
        },
        "tags": [
          "Ads"
        ],
        "summary": "Update Sponsored Brands Auto Collection Ads"
      }
    },
    "/sb/ads/creatives/manualCollection": {
      "post": {
        "description": "Updates the ad settings for a manual collection by creating a new version\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "UpdateSponsoredBrandsManualCollectionAds",
        "parameters": [
          {
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "required": true,
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            }
          },
          {
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "required": true,
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSponsoredBrandsManualCollectionAdsRequestContent"
              }
            }
          },
          "required": true
        },
        "responses": {
          "207": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSponsoredBrandsManualCollectionAdsResponseContent"
                }
              }
            },
            "description": "UpdateSponsoredBrandsManualCollectionAds 207 response."
          },
          "400": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            },
            "description": "InvalidArgumentException 400 response."
          },
          "401": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            },
            "description": "UnauthorizedException 401 response."
          },
          "403": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            },
            "description": "AccessDeniedException 403 response."
          },
          "429": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            },
            "description": "ThrottlingException 429 response.",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                }
              }
            }
          },
          "500": {
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            },
            "description": "InternalServerException 500 response."
          }
        },
        "tags": [
          "Ads"
        ],
        "summary": "Update Sponsored Brands Manual Collection Ads"
      }
    },
    "/sb/v4/ads/list": {
      "post": {
        "summary": "List ads",
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/ListSponsoredBrandsAdsRequestContent"
              }
            }
          }
        },
        "description": "Lists Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "ListSponsoredBrandsAds",
        "responses": {
          "200": {
            "description": "ListSponsoredBrandsAds 200 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSponsoredBrandsAdsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/v4/ads/delete": {
      "post": {
        "summary": "Delete ads",
        "requestBody": {
          "content": {
            "application/vnd.sbadresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteSponsoredBrandsAdsRequestContent"
              }
            }
          }
        },
        "description": "Deletes Sponsored Brands ads.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "DeleteSponsoredBrandsAds",
        "responses": {
          "207": {
            "description": "DeleteSponsoredBrandsAds 207 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteSponsoredBrandsAdsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/vnd.sbadresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Ads"
        ]
      }
    },
    "/sb/ads/creatives/brandVideo": {
      "post": {
        "summary": "Create new version of brand video ad creative",
        "requestBody": {
          "content": {
            "application/vnd.sbAdCreativeResource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBrandVideoCreativeRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "This API creates a new version of an existing creative for given Sponsored Brands Ad by supplying brand video creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateBrandVideoCreative",
        "responses": {
          "200": {
            "description": "CreateBrandVideoCreative 200 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBrandVideoCreativeResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "409": {
            "description": "ConflictStateException 409 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictStateExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/AcceptHeader"
            },
            "in": "header",
            "name": "Accept",
            "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Ad creatives"
        ]
      }
    },
    "/sb/ads/creatives/productCollectionExtended": {
      "post": {
        "summary": "[DEPRECATED] Creates Sponsored Brands new version of product collection with collection of custom image ads",
        "deprecated": true,
        "requestBody": {
          "content": {
            "application/vnd.sbAdCreativeResource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExtendedProductCollectionCreativeRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "[DEPRECATED - Do not use] Refer to the [Product Collection Deprecation Notice](https://advertising.amazon.com/API/docs/en-us/release-notes/deprecations#deprecation-of-sponsored-brands-product-collection-ad-type) for more details. Use [/sb/ads/creatives/manualCollection](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#tag/Ad-creatives/operation/UpdateSponsoredBrandsManualCollectionAds) instead.\n\n---\n\nThis API creates a new version of creative for given Sponsored Brands ad by supplying extended product collection creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateExtendedProductCollectionCreative",
        "responses": {
          "200": {
            "description": "CreateExtendedProductCollectionCreative 200 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateExtendedProductCollectionCreativeResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "409": {
            "description": "ConflictStateException 409 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictStateExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/AcceptHeader"
            },
            "in": "header",
            "name": "Accept",
            "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Ad creatives"
        ]
      }
    },
    "/sb/ads/creatives/video": {
      "post": {
        "summary": "Create new version of video ad creative",
        "requestBody": {
          "content": {
            "application/vnd.sbAdCreativeResource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVideoCreativeRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "This API creates a new version of an existing creative for given Sponsored Brands ad by supplying video creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateVideoCreative",
        "responses": {
          "200": {
            "description": "CreateVideoCreative 200 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVideoCreativeResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "409": {
            "description": "ConflictStateException 409 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictStateExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/AcceptHeader"
            },
            "in": "header",
            "name": "Accept",
            "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Ad creatives"
        ]
      }
    },
    "/sb/ads/creatives/productCollection": {
      "post": {
        "summary": "[DEPRECATED] Create new version of product collection ad creative",
        "deprecated": true,
        "requestBody": {
          "content": {
            "application/vnd.sbAdCreativeResource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductCollectionCreativeRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "[DEPRECATED - Do not use] Refer to the [Product Collection Deprecation Notice](https://advertising.amazon.com/API/docs/en-us/release-notes/deprecations#deprecation-of-sponsored-brands-product-collection-ad-type) for more details. Use [/sb/ads/creatives/manualCollection](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi/prod#tag/Ad-creatives/operation/UpdateSponsoredBrandsManualCollectionAds) instead.\n\n---\n\nThis API creates a new version of creative for given Sponsored Brands ad by supplying product collection creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateProductCollectionCreative",
        "responses": {
          "200": {
            "description": "CreateProductCollectionCreative 200 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateProductCollectionCreativeResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "409": {
            "description": "ConflictStateException 409 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictStateExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/AcceptHeader"
            },
            "in": "header",
            "name": "Accept",
            "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Ad creatives"
        ]
      }
    },
    "/sb/ads/creatives/storeSpotlight": {
      "post": {
        "summary": "Create new version of store spotlight ad creative",
        "requestBody": {
          "content": {
            "application/vnd.sbAdCreativeResource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateStoreSpotlightCreativeRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "This API creates a new version of creative for given Sponsored Brands ad by supplying store spotlight creative content\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateStoreSpotlightCreative",
        "responses": {
          "200": {
            "description": "CreateStoreSpotlightCreative 200 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateStoreSpotlightCreativeResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "409": {
            "description": "ConflictStateException 409 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictStateExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/AcceptHeader"
            },
            "in": "header",
            "name": "Accept",
            "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Ad creatives"
        ]
      }
    },
    "/sb/ads/creatives/list": {
      "post": {
        "summary": "List ad creatives",
        "requestBody": {
          "content": {
            "application/vnd.sbAdCreativeResource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/ListCreativesRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "This API gets an array of all Sponsored Brands creatives that qualify the given resource identifiers and filters\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "ListCreatives",
        "responses": {
          "200": {
            "description": "ListCreatives 200 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCreativesResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "404": {
            "description": "NotFoundException 404 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/vnd.sbAdCreativeResource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/AcceptHeader"
            },
            "in": "header",
            "name": "Accept",
            "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account.\nUse GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and use profileId from the response to pass as input.\nThis is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Ad creatives"
        ]
      }
    },
    "/sb/negativeTargets/brands/recommendations": {
      "get": {
        "summary": "Get brand recommendations for negative targeting",
        "description": "Returns brands recommended for negative targeting. Only available for Sellers and Vendors. These recommendations include your own brands because targeting your own brands usually results in lower performance than targeting competitors' brands. \n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "SBTargetingGetNegativeBrands",
        "responses": {
          "200": {
            "description": "SBTargetingGetNegativeBrands 200 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingGetNegativeBrandsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "SBTargetingBadRequestException 400 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "SBTargetingUnauthorizedException 401 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "SBTargetingAccessDeniedException 403 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingAccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "integer"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "SBTargetingThrottlingException 429 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "SBTargetingInternalServerException 500 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
              "type": "string"
            },
            "in": "query",
            "name": "nextToken",
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a `Login with Amazon` account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a `Login with Amazon` account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Recommendations"
        ]
      }
    },
    "/sb/recommendations/optimization": {
      "post": {
        "summary": "Get recommendation for optimization rule",
        "description": "Returns recommended bid value for optimization rule enable campaigns. Recommendations are generated based landing page, page type and ASINs provided in request. Only available for Sellers and Vendors.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]\"",
        "requestBody": {
          "content": {
            "application/vnd.sboptimizationrecommendationresource.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/SBOptimizationRecommendationRequestContent"
              }
            }
          },
          "required": true
        },
        "operationId": "SBOptimizationRecommendation",
        "responses": {
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "415": {
            "description": "UnsupportedMediaTypeException 415 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            }
          },
          "207": {
            "description": "SBOptimizationRecommendation 207 response",
            "content": {
              "application/vnd.sboptimizationrecommendationresource.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBOptimizationRecommendationResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "integer"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a `Login with Amazon` account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a `Login with Amazon` account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
            "required": true
          }
        ],
        "tags": [
          "Recommendations"
        ]
      }
    },
    "/sb/recommendations/creative/headline": {
      "post": {
        "summary": "Get recommendations for creative headline",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HeadlineSuggestionRequest"
              }
            }
          },
          "required": true
        },
        "description": "API to receive creative headline suggestions.",
        "operationId": "getHeadlineRecommendations",
        "responses": {
          "200": {
            "description": "Successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HeadlineSuggestionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModerationError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModerationError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity - Failed due to invalid parameters.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModerationError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests - Request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModerationError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error - Something went wrong on the server. Retry\nlater and report an error if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModerationError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
            "required": true
          }
        ],
        "tags": [
          "Recommendations"
        ]
      }
    },
    "/sb/campaigns/budgetRecommendations": {
      "post": {
        "summary": "Get budget recommendations",
        "requestBody": {
          "content": {
            "application/vnd.sbbudgetrecommendation.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/GetBudgetRecommendationsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Provides daily budget recommendations for a list of requested Sponsored Brands campaigns, with context on estimated historical missed opportunities.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "GetBudgetRecommendations",
        "responses": {
          "207": {
            "description": "GetBudgetRecommendations 207 response",
            "content": {
              "application/vnd.sbbudgetrecommendation.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBudgetRecommendationsResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/vnd.sbbudgetrecommendation.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/vnd.sbbudgetrecommendation.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "415": {
            "description": "UnsupportedMediaTypeException 415 response",
            "content": {
              "application/vnd.sbbudgetrecommendation.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            }
          },
          "422": {
            "description": "InvalidArgumentException 422 response",
            "content": {
              "application/vnd.sbbudgetrecommendation.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response",
            "content": {
              "application/vnd.sbbudgetrecommendation.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/vnd.sbbudgetrecommendation.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a `Login with Amazon` account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a `Login with Amazon` account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.",
            "required": false
          },
          {
            "schema": {
              "description": "The identifier of an account. Account must be a global advertising account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Ads-AccountId",
            "description": "The identifier of an account. Account must be a global advertising account.",
            "required": false
          }
        ],
        "tags": [
          "Recommendations"
        ]
      }
    },
    "/sb/targets/categories": {
      "get": {
        "summary": "Get targetable categories",
        "description": "Returns all targetable categories by default in a list. List of categories can be used to build and traverse category tree.\nSet query parameter `includeOnlyRootCategories=true` to return only the root categories, or set `parentCategoryRefinementId` to return children of a specific parent category.\nEach category node has the fields - category name, category refinement id, parent category refinement id, isTargetable flag, and ASIN count range. \n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "SBTargetingGetTargetableCategories",
        "responses": {
          "200": {
            "description": "SBTargetingGetTargetableCategories 200 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingGetTargetableCategoriesResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "SBTargetingBadRequestException 400 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "SBTargetingUnauthorizedException 401 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "integer"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "SBTargetingThrottlingException 429 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "SBTargetingInternalServerException 500 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "$ref": "#/components/schemas/SBTargetingLocale"
            },
            "in": "query",
            "name": "locale",
            "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace."
          },
          {
            "schema": {
              "$ref": "#/components/schemas/SBTargetingSupplySource"
            },
            "in": "query",
            "name": "supplySource",
            "description": "[UPDATE: As of 05/28/2024, `STREAMING_VIDEO` is deprecated]. \n The supply source where the target will be used. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV.",
            "required": true
          },
          {
            "schema": {
              "description": "Indicates whether to only retun root categories or not.",
              "type": "boolean"
            },
            "in": "query",
            "name": "includeOnlyRootCategories",
            "description": "Indicates whether to only retun root categories or not."
          },
          {
            "schema": {
              "description": "Returns child categories of category.",
              "type": "string"
            },
            "in": "query",
            "name": "parentCategoryRefinementId",
            "description": "Returns child categories of category."
          },
          {
            "schema": {
              "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
              "type": "string"
            },
            "in": "query",
            "name": "nextToken",
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a `Login with Amazon` account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a `Login with Amazon` account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Product targeting categories"
        ]
      }
    },
    "/sb/targets/products/count": {
      "post": {
        "summary": "Get number of products in a category",
        "requestBody": {
          "content": {
            "application/vnd.sbtargeting.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/SBTargetingGetTargetableASINCountsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Get number of targetable asins based on refinements provided by the user.\n\nUse `/sb/targets/categories` or `/sb/recommendations/targets/category` to retrieve the category ID. Use `/sb/targets/categories/{categoryRefinementId}/refinements` to retrieve refinements data for a category.\n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "SBTargetingGetTargetableASINCounts",
        "responses": {
          "200": {
            "description": "SBTargetingGetTargetableASINCounts 200 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingGetTargetableASINCountsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "SBTargetingBadRequestException 400 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "SBTargetingUnauthorizedException 401 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "422": {
            "description": "SBTargetingUnprocessableEntityException 422 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingUnprocessableEntityExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "integer"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "SBTargetingThrottlingException 429 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "SBTargetingInternalServerException 500 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a `Login with Amazon` account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a `Login with Amazon` account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Product targeting categories"
        ]
      }
    },
    "/sb/targets/categories/{categoryRefinementId}/refinements": {
      "get": {
        "summary": "Get refinements for category",
        "description": "Returns refinements according to category input. \n\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "SBTargetingGetRefinementsForCategory",
        "responses": {
          "200": {
            "description": "SBTargetingGetRefinementsForCategory 200 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingGetRefinementsForCategoryResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "SBTargetingBadRequestException 400 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingBadRequestExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "SBTargetingUnauthorizedException 401 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingUnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "integer"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "SBTargetingThrottlingException 429 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "SBTargetingInternalServerException 500 response",
            "content": {
              "application/vnd.sbtargeting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBTargetingInternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.",
              "type": "string"
            },
            "in": "path",
            "name": "categoryRefinementId",
            "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.",
            "required": true
          },
          {
            "schema": {
              "$ref": "#/components/schemas/SBTargetingLocale"
            },
            "in": "query",
            "name": "locale",
            "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace."
          },
          {
            "schema": {
              "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
              "type": "string"
            },
            "in": "query",
            "name": "nextToken",
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a `Login with Amazon` account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a `Login with Amazon` account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Product targeting categories"
        ]
      }
    },
    "/sb/campaigns/insights": {
      "post": {
        "summary": "Get insights for campaigns",
        "requestBody": {
          "content": {
            "application/vnd.sbinsights.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/SBInsightsCampaignInsightsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Creates campaign level insights. Insights will be provided for passed in campaign parameters.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "SBInsightsCampaignInsights",
        "responses": {
          "200": {
            "description": "SBInsightsCampaignInsights 200 response",
            "content": {
              "application/vnd.sbinsights.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBInsightsCampaignInsightsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "SBInsightsBadRequestException 400 response",
            "content": {
              "application/vnd.sbinsights.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBInsightsBadRequestExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "SBInsightsUnauthorizedException 401 response",
            "content": {
              "application/vnd.sbinsights.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBInsightsUnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "422": {
            "description": "SBInsightsUnprocessableEntityException 422 response",
            "content": {
              "application/vnd.sbinsights.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBInsightsUnprocessableEntityExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "integer"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "SBInsightsThrottlingException 429 response",
            "content": {
              "application/vnd.sbinsights.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBInsightsThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "SBInsightsInternalServerException 500 response",
            "content": {
              "application/vnd.sbinsights.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBInsightsInternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
              "type": "string"
            },
            "in": "query",
            "name": "nextToken",
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results."
          },
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Insights"
        ]
      }
    },
    "/sb/budgetRules": {
      "post": {
        "summary": "Create budget rules",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSBBudgetRulesRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "CreateBudgetRulesForSBCampaigns",
        "responses": {
          "207": {
            "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBudgetRulesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server BudgetRuleError - Something went wrong on the server. Retry later and report an BudgetRuleError if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      },
      "put": {
        "summary": "Update budget rules",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSBBudgetRulesRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "UpdateBudgetRulesForSBCampaigns",
        "responses": {
          "207": {
            "description": "Multi-status. An object containing a list of budget rule response objects reflecting the same order as the input.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateBudgetRulesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server BudgetRuleError - Something went wrong on the server. Retry later and report an BudgetRuleError if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      },
      "get": {
        "summary": "Get budget rules",
        "operationId": "GetSBBudgetRulesForAdvertiser",
        "responses": {
          "200": {
            "description": "Successful operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSBBudgetRulesForAdvertiserResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "nextToken",
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
          },
          {
            "schema": {
              "type": "number"
            },
            "in": "query",
            "name": "pageSize",
            "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      }
    },
    "/sb/budgetRules/{budgetRuleId}": {
      "get": {
        "summary": "Get budget rule by ID",
        "operationId": "GetBudgetRuleByRuleIdForSBCampaigns",
        "responses": {
          "200": {
            "description": "Successful operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSBBudgetRuleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "budgetRuleId",
            "description": "The budget rule identifier.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      }
    },
    "/sb/campaigns/{campaignId}/budgetRules": {
      "post": {
        "summary": "Associate budget rules to campaign",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAssociatedBudgetRulesRequest"
              }
            }
          },
          "required": true
        },
        "description": "A maximum of 250 rules can be associated to a campaign. Note that the name of each rule associated to a campaign is required to be unique.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "operationId": "CreateAssociatedBudgetRulesForSBCampaigns",
        "responses": {
          "207": {
            "description": "Multi-status. An object containing a list of associated budget rule response objects reflecting the same order as the input.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAssociatedBudgetRulesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "format": "int64",
              "type": "number"
            },
            "in": "path",
            "name": "campaignId",
            "description": "The campaign identifier.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      },
      "get": {
        "summary": "Get budget rules associated to campaign",
        "operationId": "ListAssociatedBudgetRulesForSBCampaigns",
        "responses": {
          "200": {
            "description": "Successful operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SBListAssociatedBudgetRulesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "format": "int64",
              "type": "number"
            },
            "in": "path",
            "name": "campaignId",
            "description": "The campaign identifier.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      }
    },
    "/sb/budgetRules/{budgetRuleId}/campaigns": {
      "get": {
        "summary": "Get campaigns associated with budget rule",
        "operationId": "GetCampaignsAssociatedWithSBBudgetRule",
        "responses": {
          "200": {
            "description": "Successful operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SBGetAssociatedCampaignsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "budgetRuleId",
            "description": "The budget rule identifier.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "query",
            "name": "nextToken",
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results."
          },
          {
            "schema": {
              "type": "number"
            },
            "in": "query",
            "name": "pageSize",
            "description": "Sets a limit on the number of results returned. Maximum limit of `pageSize` is 30.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      }
    },
    "/sb/campaigns/{campaignId}/budgetRules/{budgetRuleId}": {
      "delete": {
        "summary": "Disassociate budget rule from campaign",
        "operationId": "DisassociateAssociatedBudgetRuleForSBCampaigns",
        "responses": {
          "200": {
            "description": "Successful operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisassociateAssociatedBudgetRuleResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Request failed because user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error. Something went wrong on the server. Retry later and report an error if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetRuleError"
                }
              }
            }
          }
        },
        "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\"]",
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {
              "format": "int64",
              "type": "number"
            },
            "in": "path",
            "name": "campaignId",
            "description": "The campaign identifier.",
            "required": true
          },
          {
            "schema": {
              "type": "string"
            },
            "in": "path",
            "name": "budgetRuleId",
            "description": "The budget rule identifier.",
            "required": true
          }
        ],
        "tags": [
          "Budget rules"
        ]
      }
    },
    "/sb/campaigns/budget/usage": {
      "post": {
        "summary": "Get budget usage",
        "description": "\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "tags": [
          "Budget usage"
        ],
        "requestBody": {
          "content": {
            "application/vnd.sbcampaignbudgetusage.v1+json": {
              "schema": {
                "$ref": "#/components/schemas/BudgetUsageCampaignRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "sbCampaignsBudgetUsage",
        "responses": {
          "207": {
            "description": "Multi-status. An object containing a list of budget usage response objects reflecting the same order as the input.",
            "content": {
              "application/vnd.sbcampaignbudgetusage.v1+json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetUsageCampaignResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetUsageError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. The request failed because the user is not authenticated or is not allowed to invoke the operation.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetUsageError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. The request failed because user does not have access to a specified resource.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetUsageError"
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable entity. The server understood the request, but was unable to process the instruction.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetUsageError"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests. The request was rate-limited. Retry later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetUsageError"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server BudgetUsageError - Something went wrong on the server. Retry later and report an BudgetUsageError if unresolved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetUsageError"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {},
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          },
          {
            "schema": {},
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header. This is a required header for advertisers and integrators using the Advertising API.",
            "required": true
          }
        ]
      }
    },
    "/sb/forecasts": {
      "post": {
        "summary": "Get performance forecasts for campaigns",
        "requestBody": {
          "content": {
            "application/vnd.sbforecasting.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/SBCampaignPerformanceForecastsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Returns forecasts for a list of new campaigns specified in SB forecast request. Currently only one new campaign is supported. \n\n**If the campaign is not set to any goal during campaign creation then use PAGE_VISIT as goal value.**",
        "operationId": "SBCampaignPerformanceForecasts",
        "responses": {
          "207": {
            "description": "SBCampaignPerformanceForecasts 207 response",
            "content": {
              "application/vnd.sbforecasting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBCampaignPerformanceForecastsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "SBForecastingBadRequestException 400 response",
            "content": {
              "application/vnd.sbforecasting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBForecastingBadRequestExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "SBForecastingUnauthorizedException 401 response",
            "content": {
              "application/vnd.sbforecasting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBForecastingUnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "SBForecastingAccessDeniedException 403 response",
            "content": {
              "application/vnd.sbforecasting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBForecastingAccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "422": {
            "description": "SBForecastingUnprocessableEntityException 422 response",
            "content": {
              "application/vnd.sbforecasting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBForecastingUnprocessableEntityExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "integer"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "SBForecastingThrottlingException 429 response",
            "content": {
              "application/vnd.sbforecasting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBForecastingThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "SBForecastingInternalServerException 500 response",
            "content": {
              "application/vnd.sbforecasting.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/SBForecastingInternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Amazon-Advertising-API-ClientId",
            "in": "header",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "schema": {
              "type": "string",
              "description": "The identifier of a client associated with a \"Login with Amazon\" account."
            },
            "required": true
          },
          {
            "name": "Amazon-Advertising-API-Scope",
            "in": "header",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "schema": {
              "type": "string",
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input."
            },
            "required": true
          }
        ],
        "tags": [
          "Forecasts"
        ]
      }
    },
    "/sb/rules/optimization": {
      "post": {
        "summary": "Create optimization rules",
        "requestBody": {
          "content": {
            "application/vnd.sbruleoptimization.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSponsoredBrandsOptimizationRulesRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Currently available in beta. \n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "CreateSponsoredBrandsOptimizationRules",
        "responses": {
          "207": {
            "description": "CreateSponsoredBrandsOptimizationRules 207 response.",
            "content": {
              "application/vnd.sbruleoptimization.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSponsoredBrandsOptimizationRulesResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "415": {
            "description": "UnsupportedMediaTypeException 415 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Optimization rules"
        ]
      },
      "put": {
        "summary": "Update optimization rules",
        "requestBody": {
          "content": {
            "application/vnd.sbruleoptimization.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSponsoredBrandsOptimizationRulesRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Currently available in beta. \n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "UpdateSponsoredBrandsOptimizationRules",
        "responses": {
          "207": {
            "description": "UpdateSponsoredBrandsOptimizationRules 207 response.",
            "content": {
              "application/vnd.sbruleoptimization.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSponsoredBrandsOptimizationRulesResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "415": {
            "description": "UnsupportedMediaTypeException 415 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Optimization rules"
        ]
      }
    },
    "/sb/rules/optimization/associate": {
      "post": {
        "summary": "Associate optimization rules",
        "requestBody": {
          "content": {
            "application/vnd.sbruleoptimization.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/AssociateSponsoredBrandsOptimizationRulesRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Currently available in beta. Associate one or more optimization rules by providing combinations of entityId-ruleId that require association.\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "AssociateSponsoredBrandsOptimizationRules",
        "responses": {
          "207": {
            "description": "AssociateSponsoredBrandsOptimizationRules 207 response.",
            "content": {
              "application/vnd.sbruleoptimization.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/AssociateSponsoredBrandsOptimizationRulesResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "415": {
            "description": "UnsupportedMediaTypeException 415 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Optimization rules"
        ]
      }
    },
    "/sb/rules/optimization/list": {
      "post": {
        "summary": "List optimization rules",
        "requestBody": {
          "content": {
            "application/vnd.sbruleoptimization.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/ListSponsoredBrandsOptimizationRulesRequestContent"
              }
            }
          }
        },
        "operationId": "ListSponsoredBrandsOptimizationRules",
        "description": "Currently available in beta. \n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "responses": {
          "200": {
            "description": "ListSponsoredBrandsOptimizationRules 200 response.",
            "content": {
              "application/vnd.sbruleoptimization.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSponsoredBrandsOptimizationRulesResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "415": {
            "description": "UnsupportedMediaTypeException 415 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Optimization rules"
        ]
      }
    },
    "/sb/rules/optimization/disassociate": {
      "post": {
        "summary": "Disassociate optimization rules",
        "requestBody": {
          "content": {
            "application/vnd.sbruleoptimization.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/DisassociateSponsoredBrandsOptimizationRulesRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Currently available in beta. Disassociate one or more optimization rules by providing combinations of entityId-ruleId that require disassociation\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "DisassociateSponsoredBrandsOptimizationRules",
        "responses": {
          "207": {
            "description": "DisassociateSponsoredBrandsOptimizationRules 207 response.",
            "content": {
              "application/vnd.sbruleoptimization.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/DisassociateSponsoredBrandsOptimizationRulesResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "415": {
            "description": "UnsupportedMediaTypeException 415 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                  "type": "number"
                },
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
              }
            },
            "description": "ThrottlingException 429 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "Optimization rules"
        ]
      }
    },
    "/sb/v4/legacyCampaigns/migrationJob": {
      "post": {
        "summary": "Creates Migration Job for V3 campaigns.",
        "requestBody": {
          "content": {
            "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/StartMigrationJobRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "Creates Migration Job for V3 campaigns.",
        "operationId": "StartMigrationJob",
        "responses": {
          "200": {
            "description": "StartMigrationJob 200 response",
            "content": {
              "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/StartMigrationJobResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "type": "number",
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "type": "string",
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input."
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "V3 Campaign Migration"
        ]
      }
    },
    "/sb/v4/legacyCampaigns/migrationJob/results": {
      "post": {
        "summary": "List Migration Results of all Campaign.",
        "requestBody": {
          "content": {
            "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/MigrationJobResultsRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "List Migration Results of all Campaign.",
        "operationId": "MigrationJobResults",
        "responses": {
          "200": {
            "description": "MigrationJobResults 200 response",
            "content": {
              "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/MigrationJobResultsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "type": "number",
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "type": "string",
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input."
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "V3 Campaign Migration"
        ]
      }
    },
    "/sb/v4/legacyCampaigns/migrationJob/status": {
      "post": {
        "summary": "List Migration Job Status.",
        "requestBody": {
          "content": {
            "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/MigrationJobStatusRequestContent"
              }
            }
          },
          "required": true
        },
        "description": "List Migration Job Status.",
        "operationId": "MigrationJobStatus",
        "responses": {
          "200": {
            "description": "MigrationJobStatus 200 response",
            "content": {
              "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/MigrationJobStatusResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "type": "number",
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "type": "string",
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input."
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "V3 Campaign Migration"
        ]
      }
    },
    "/sb/v4/legacyCampaigns/overallMigrationResults": {
      "post": {
        "summary": "Lists all Campaign Migration results for an advertiser.",
        "requestBody": {
          "content": {
            "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/MigrationResultsRequestContent"
              }
            }
          }
        },
        "description": "Lists all Campaign Migration results for an advertiser",
        "operationId": "MigrationResults",
        "responses": {
          "200": {
            "description": "MigrationResults 200 response",
            "content": {
              "application/vnd.SponsoredBrands.SponsoredBrandsMigrationApi.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/MigrationResultsResponseContent"
                }
              }
            }
          },
          "400": {
            "description": "InvalidArgumentException 400 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedException 401 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            }
          },
          "403": {
            "description": "AccessDeniedException 403 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            }
          },
          "429": {
            "description": "ThrottlingException 429 response",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds, before the next re-try attempt to the operation is recommended.",
                "schema": {
                  "type": "number",
                  "description": "Delay in seconds, before the next re-try attempt to the operation is recommended."
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            }
          },
          "500": {
            "description": "InternalServerException 500 response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "schema": {
              "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
              "type": "string"
            },
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "required": true
          },
          {
            "schema": {
              "type": "string",
              "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input."
            },
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
            "required": true
          }
        ],
        "tags": [
          "V3 Campaign Migration"
        ]
      }
    },
    "/sb/v4/migrations/list": {
      "post": {
        "description": "Lists eligible Product Collection ads with recommended SB Collection replacement options.\n\nSponsored Brands collections replace the legacy Product Collection format with improved functionality and performance in the same high-visibility placements. Collections feature up to 10 products per ad (compared to 3 with Product Collection).\n\n**Requires one of these permissions**:\n[\"advertiser_campaign_edit\",\"advertiser_campaign_view\"]",
        "operationId": "ListMigrations",
        "parameters": [
          {
            "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
            "in": "header",
            "name": "Amazon-Advertising-API-ClientId",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The identifier of a profile associated with the advertiser account.",
            "in": "header",
            "name": "Amazon-Advertising-API-Scope",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/vnd.sbAdMigration.v4+json": {
              "schema": {
                "$ref": "#/components/schemas/ListMigrationsRequestContent"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/vnd.sbAdMigration.v4+json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMigrationsResponseContent"
                }
              }
            },
            "description": "ListMigrations 200 response."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidArgumentExceptionResponseContent"
                }
              }
            },
            "description": "InvalidArgumentException 400 response."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedExceptionResponseContent"
                }
              }
            },
            "description": "UnauthorizedException 401 response."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedExceptionResponseContent"
                }
              }
            },
            "description": "AccessDeniedException 403 response."
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsupportedMediaTypeExceptionResponseContent"
                }
              }
            },
            "description": "UnsupportedMediaTypeException 415 response."
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingExceptionResponseContent"
                }
              }
            },
            "description": "ThrottlingException 429 response.",
            "headers": {
              "Retry-After": {
                "description": "Delay in seconds before the next retry attempt.",
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerExceptionResponseContent"
                }
              }
            },
            "description": "InternalServerException 500 response."
          }
        },
        "tags": [
          "Ad Migrations"
        ]
      }
    }
  },
  "components": {
    "headers": {},
    "examples": {},
    "schemas": {
      "timeOfDay": {
        "type": "object",
        "properties": {
          "startTime": {
            "description": "The start time of intra-day budget rule window in the format 'hh:mm:ss' ",
            "type": "string"
          },
          "endTime": {
            "description": "The end time of intra-day budget rule window in the format 'hh:mm:ss'. Required to be greater than start-time. ",
            "type": "string"
          }
        }
      },
      "ListSponsoredBrandsAdGroupsRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "stateFilter": {
            "$ref": "#/components/schemas/EntityStateFilter"
          },
          "maxResults": {
            "description": "Number of records to include in the paginated response. Defaults to max page size for given API.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "adGroupIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "includeExtendedDataFields": {
            "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.",
            "type": "boolean"
          },
          "nameFilter": {
            "$ref": "#/components/schemas/NameFilter"
          }
        }
      },
      "AdGroupMutationError": {
        "type": "object",
        "properties": {
          "errorType": {
            "description": "The type of the error.",
            "type": "string"
          },
          "errorValue": {
            "$ref": "#/components/schemas/AdGroupMutationErrorSelector"
          }
        },
        "required": [
          "errorType",
          "errorValue"
        ]
      },
      "GetLandingPageMetadataResponseContent": {
        "type": "object",
        "properties": {
          "pageType": {
            "description": "The type of landing page, such as store page, product list (simple landing page), custom url.\n| Page Type    |\n|--------------|\n| PRODUCT_LIST |\n| STORE        |\n| CUSTOM_URL   |\n| DETAIL_PAGE  |",
            "type": "string"
          },
          "canonicalUrl": {
            "description": "A canonical URL is the URL that represents the best version of landing page URL from a group of duplicate landing page URLs.\nFor example, if you have two landing page URLs for the same page (such as amazon.it/HSA/pages/default?pageId=B59A592C-8A12-4684-A37E-2416FD594D87\nand amazon.it/stores/page/B59A592C-8A12-4684-A37E-2416FD594D87), we chooses one as canonical. In this case, canonical url\nis amazon.it/stores/page/B59A592C-8A12-4684-A37E-2416FD594D87",
            "type": "string"
          },
          "unSupportedReason": {
            "description": "A human-readable description of the unSupportedReasonCode field.",
            "type": "string"
          },
          "isSupported": {
            "description": "This field determines whether the landing page is supported for the ad product.",
            "type": "boolean"
          },
          "unSupportedReasonCode": {
            "description": "Enumerated code for why landing page is unsupported.\n| Reason Code                 |\n| SB_DETAIL_PAGE_UNSUPPORTED  |\n| SB_GATEWAY_PAGE_UNSUPPORTED |\n| SB_SEARCH_PAGE_UNSUPPORTED  |\n| SB_BROWSE_PAGE_UNSUPPORTED  |\n| SB_OTHER_PAGE_UNSUPPORTED   |",
            "type": "string"
          }
        },
        "required": [
          "canonicalUrl",
          "pageType"
        ]
      },
      "InvalidArgumentExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/InvalidArgumentErrorCode"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvalidArgumentError"
            }
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "UpdateSponsoredBrandsCampaignsResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "$ref": "#/components/schemas/BulkCampaignOperationResponse"
          }
        }
      },
      "GetLandingPageMetadataRequestContent": {
        "type": "object",
        "properties": {
          "adProduct": {
            "description": "An ad product is a top level offering from amazon ads as defined in our marketing, with a given feature set, and business rules and logic applied consistently across the product. Currently the only supported ad product is SPONSORED_BRANDS.\n| Program Type       |\n|--------------------|\n| SPONSORED_BRANDS   |",
            "type": "string"
          },
          "landingPageUrl": {
            "description": "The URL of the landing page.",
            "type": "string"
          }
        },
        "required": [
          "adProduct",
          "landingPageUrl"
        ]
      },
      "ListSponsoredBrandsAdGroupsBetaResponseContent": {
        "type": "object",
        "properties": {
          "totalResults": {
            "description": "The total number of entities.",
            "type": "number"
          },
          "adGroups": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdGroup"
            }
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsVideoAdsBetaRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateVideoAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "CreateBrandVideoAd": {
        "type": "object",
        "properties": {
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "adGroupId": {
            "description": "The adGroup identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateBrandVideoCreative"
          }
        },
        "required": [
          "adGroupId",
          "creative",
          "landingPage",
          "name",
          "state"
        ]
      },
      "SBTargetingEstimatedReachRange": {
        "type": "object",
        "properties": {
          "min": {
            "type": "integer"
          },
          "max": {
            "type": "integer"
          }
        }
      },
      "CreativeRecommendationsRequestContent": {
        "type": "object",
        "properties": {
          "creativeType": {
            "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.",
            "type": "string"
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.",
            "type": "string"
          },
          "maxResults": {
            "description": "Set a limit on the number of results returned by an operation.",
            "maximum": 5,
            "type": "number",
            "minimum": 1
          },
          "source": {
            "$ref": "#/components/schemas/Source"
          }
        },
        "required": [
          "creativeType",
          "source"
        ]
      },
      "MultiAdGroupAd": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The ad identifier.",
            "type": "string"
          },
          "campaignId": {
            "description": "The campaign identifier.",
            "type": "string"
          },
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/EntityState"
          },
          "adGroupId": {
            "description": "The adGroup identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/Creative"
          },
          "extendedData": {
            "$ref": "#/components/schemas/AdExtendedData"
          }
        },
        "required": [
          "adGroupId",
          "adId",
          "campaignId",
          "name",
          "state"
        ]
      },
      "ExtendedProductCollectionCreative": {
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 0,
            "maxItems": 3,
            "uniqueItems": true,
            "description": "An array of ASINs associated with the creative.",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "brandLogoCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "brandName": {
            "description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          },
          "landingPage": {
            "$ref": "#/components/schemas/CreativeLandingPageV2"
          },
          "customImages": {
            "minItems": 1,
            "maxItems": 5,
            "uniqueItems": true,
            "description": "An array of customImages associated with the creative.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomImage"
            }
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language.\nIf Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "creativePropertiesToOptimize": {
            "minItems": 0,
            "maxItems": 1,
            "description": "If this property is enabled, Sponsored Brands will dynamically optimize by enhancing or generating creative properties based on shopper search intent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativePropertyToOptimize"
            }
          },
          "brandLogoAssetId": {
            "description": "The identifier of the [brand logo](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#brandlogo) image from the brand store's asset library.\nNote that for campaigns created in the Amazon Advertising console prior to release of the brand store's assets library, responses will not include a value for this field.",
            "type": "string"
          },
          "headline": {
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          }
        },
        "required": [
          "asins",
          "brandLogoAssetId",
          "brandName",
          "headline"
        ]
      },
      "UnsupportedMediaTypeExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "description": "A human-readable description of the enumerated response code in the `code` field.",
            "type": "string"
          },
          "details": {
            "description": "An enumerated response code.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "OptimizationRuleToEntityMapping": {
        "type": "object",
        "properties": {
          "entityType": {
            "description": "Enum: \"CAMPAIGN\"\n\nThe type of entity passed.",
            "type": "string"
          },
          "entityId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "optimizationRuleId": {
            "description": "The identifier of the optimization rule.",
            "type": "string"
          }
        },
        "required": [
          "entityId",
          "entityType",
          "optimizationRuleId"
        ]
      },
      "ThrottledErrorCode": {
        "type": "string",
        "enum": [
          "THROTTLED"
        ]
      },
      "SDBudgetRule": {
        "type": "object",
        "required": [
          "ruleId"
        ],
        "properties": {
          "ruleState": {
            "$ref": "#/components/schemas/state"
          },
          "lastUpdatedDate": {
            "format": "int64",
            "description": "Epoch time of budget rule update. Read-only.",
            "type": "number"
          },
          "createdDate": {
            "format": "int64",
            "description": "Epoch time of budget rule creation. Read-only.",
            "type": "number"
          },
          "ruleDetails": {
            "$ref": "#/components/schemas/SDBudgetRuleDetails"
          },
          "ruleId": {
            "description": "The budget rule identifier.",
            "type": "string"
          },
          "ruleStatus": {
            "description": "The budget rule status. Read-only.",
            "type": "string"
          }
        }
      },
      "ConflictStateErrorCode": {
        "type": "string",
        "enum": [
          "CONFLICT_STATE"
        ]
      },
      "SubmitImageTasksRequestContent": {
        "type": "object",
        "properties": {
          "imageTaskMetadataList": {
            "minItems": 0,
            "maxItems": 10,
            "description": "Advertiser provided information to generate AI images. Max size of the list is 4, each element will be executed as an individual image task",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageTaskMetadata"
            }
          }
        }
      },
      "ProgramType": {
        "description": "Asset program type",
        "type": "string",
        "enum": [
          "A_PLUS",
          "SB",
          "POSTS",
          "STORES",
          "BBB_STORES",
          "AMAZON_DSP",
          "AMAZON_CREATIVE_SERVICES"
        ]
      },
      "AccessDeniedExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/AccessDeniedErrorCode"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "AssetSubType": {
        "description": "Asset subtype from Asset Library which you are looking to get recommendations for. Asset Library documentation can be found here: https://advertising.amazon.com/API/docs/en-us/creative-asset-library",
        "type": "string",
        "enum": [
          "CUSTOM_IMAGE",
          "LOGO",
          "PRODUCT_IMAGE",
          "AUTHOR_IMAGE"
        ]
      },
      "Tags": {
        "description": "A list of advertiser-specified custom identifiers for the campaign. Each customer identifier is a key-value pair. You can specify a maximum of 50 identifiers.",
        "additionalProperties": {
          "type": "string"
        },
        "maxProperties": 50,
        "type": "object",
        "minProperties": 0
      },
      "CreativeProperties": {
        "description": "Creative properties",
        "type": "object",
        "properties": {
          "brandLogoCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "brandName": {
            "description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          },
          "customImageAssetId": {
            "description": "The identifier of image/video asset from the store's asset library",
            "type": "string"
          },
          "landingPage": {
            "$ref": "#/components/schemas/CreativeLandingPage"
          },
          "customImages": {
            "minItems": 0,
            "maxItems": 5,
            "uniqueItems": true,
            "description": "An array of customImages associated with the creative.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomImage"
            }
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language. If Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "customImageCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "customImageUrl": {
            "type": "string"
          },
          "originalVideoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then `originalVideoAssetIds` will return the original video assetId whereas `videoAssetIds` will return translated video assetId. In all other cases, 'originalVideoAssetIds' and `videoAssetIds` both will return original video assetId.",
            "type": "array",
            "items": {
              "description": "The identifier of image/video asset from the store's asset library",
              "type": "string"
            }
          },
          "asins": {
            "minItems": 0,
            "maxItems": 100,
            "description": "-----------------------------------------------\nList types\n-----------------------------------------------\nA list of ASINs",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "brandLogoUrl": {
            "type": "string"
          },
          "subpages": {
            "description": "An array of subpages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subpage"
            }
          },
          "creativePropertiesToOptimize": {
            "minItems": 0,
            "maxItems": 1,
            "description": "If this property is enabled, Sponsored Brands will dynamically optimize by enhancing or generating creative properties based on shopper search intent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativePropertyToOptimize"
            }
          },
          "originalHeadline": {
            "description": "The original headline submitted by the advertiser.",
            "type": "string"
          },
          "videoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then 'videoAssetIds' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId.",
            "type": "array",
            "items": {
              "description": "The identifier of image/video asset from the store's asset library",
              "type": "string"
            }
          },
          "brandLogoAssetId": {
            "description": "The identifier of image/video asset from the store's asset library",
            "type": "string"
          },
          "headline": {
            "description": "If 'consentToTranslate' is set to true and translation is SUCCESSFUL then `headline` will return the translated headline whereas `originalHeadline` will return the original headline. In all other cases, 'originalHeadline' and `headline` both will return the original headline.",
            "type": "string"
          }
        }
      },
      "SBInsightsObject": {
        "oneOf": [
          {
            "type": "object",
            "title": "keywordInsight",
            "properties": {
              "keywordInsight": {
                "$ref": "#/components/schemas/SBInsightsKeywordInsight"
              }
            },
            "required": [
              "keywordInsight"
            ]
          }
        ]
      },
      "SBGetAssociatedCampaignsResponse": {
        "type": "object",
        "properties": {
          "associatedCampaigns": {
            "minItems": 0,
            "maxItems": 30,
            "description": "A list of campaigns that are associated to this budget rule.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociatedCampaign"
            }
          },
          "nextToken": {
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "EventTypeRuleDuration": {
        "description": "Object representing event type rule duration.",
        "type": "object",
        "required": [
          "eventId"
        ],
        "properties": {
          "eventId": {
            "description": "The event identifier. This value is available from the budget rules recommendation API.",
            "type": "string"
          },
          "endDate": {
            "description": "The event end date in YYYYMMDD format. Read-only.",
            "type": "string"
          },
          "eventName": {
            "description": "The event name. Read-only.",
            "type": "string"
          },
          "startDate": {
            "description": "The event start date in YYYYMMDD format. Read-only. Note that this field is present only for announced events.",
            "type": "string"
          }
        }
      },
      "TaskIdFilter": {
        "type": "object",
        "properties": {
          "include": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "DisassociateSponsoredBrandsOptimizationRulesResponseContent": {
        "type": "object",
        "properties": {
          "optimizationRuleDisassociations": {
            "$ref": "#/components/schemas/BulkDisassociationsOptimizationRuleResponse"
          }
        },
        "required": [
          "optimizationRuleDisassociations"
        ]
      },
      "CreateSponsoredBrandsProductCollectionAdsBetaResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "LandingPage": {
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 3,
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pageType": {
            "$ref": "#/components/schemas/LandingPageType"
          },
          "url": {
            "description": "URL of an existing simple landing page or Store page. Vendors may also specify the URL of a custom landing page.\nIf a custom URL is specified, the landing page must include the ASINs of at least three products that are\nadvertised as part of the campaign. Do not include this property in the request if the asins property is also\nincluded, these properties are mutually exclusive.\nNote that brandVideo ads only support Store page as landing page and does not allow asins property.",
            "type": "string"
          }
        }
      },
      "AsinPolicyViolation": {
        "type": "object",
        "properties": {
          "policyDescription": {
            "description": "A human-readable description of the policy.",
            "type": "string",
            "example": "example: Advertising alcohol is not allowed"
          },
          "name": {
            "description": "A policy violation code.",
            "type": "string"
          },
          "type": {
            "description": "Type of policy violation.",
            "type": "string",
            "enum": [
              "WARNING",
              "REJECTED"
            ]
          },
          "policyLinkUrl": {
            "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.",
            "type": "string",
            "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol"
          }
        }
      },
      "AdFailureResponseItem": {
        "type": "object",
        "properties": {
          "index": {
            "description": "the index of the ad in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "errors": {
            "minItems": 0,
            "maxItems": 100,
            "description": "A list of validation errors.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdMutationError"
            }
          }
        },
        "required": [
          "index"
        ]
      },
      "CreativeLandingPage": {
        "description": "Landing page.",
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 0,
            "maxItems": 100,
            "description": "The list of asins on the landingPage If type is PRODUCT_LIST.",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "type": {
            "$ref": "#/components/schemas/CreativeLandingPageType"
          },
          "value": {
            "description": "The url of the landingPage.",
            "type": "string"
          }
        }
      },
      "LandingPageInternalErrorCode": {
        "type": "string",
        "enum": [
          "INTERNAL_ERROR"
        ]
      },
      "CreateSPBudgetRulesRequest": {
        "type": "object",
        "properties": {
          "budgetRulesDetails": {
            "maxItems": 25,
            "description": "A list of budget rule details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SPBudgetRuleDetails"
            }
          }
        }
      },
      "TextComponentResponse": {
        "description": "Pre moderation result for a text component",
        "type": "object",
        "properties": {
          "preModerationStatus": {
            "description": "The pre moderation status of the component.",
            "type": "string",
            "enum": [
              "REJECTED",
              "APPROVED",
              "FAILED",
              "RETRYABLE_FAILURE"
            ]
          },
          "componentType": {
            "description": "Type of the text component.",
            "type": "string",
            "enum": [
              "HEADLINE",
              "BRAND_NAME",
              "OTHER_TEXT"
            ]
          },
          "corrections": {
            "description": "A list of corrected text without any policy violation. You could consider replacing the component with one of the corrected texts",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "policyViolations": {
            "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextPolicyViolation"
            }
          },
          "id": {
            "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.",
            "type": "string"
          },
          "text": {
            "description": "Text which got pre moderated.",
            "type": "string"
          }
        }
      },
      "CreateProductCollectionCreative": {
        "type": "object",
        "properties": {
          "brandLogoCrop": {
            "$ref": "#/components/schemas/BrandLogoCrop"
          },
          "asins": {
            "minItems": 0,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "brandName": {
            "minLength": 1,
            "type": "string",
            "maxLength": 30
          },
          "customImageAssetId": {
            "type": "string"
          },
          "customImageCrop": {
            "$ref": "#/components/schemas/CustomImageCrop"
          },
          "brandLogoAssetID": {
            "type": "string"
          },
          "headline": {
            "minLength": 1,
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.",
            "type": "string",
            "maxLength": 50
          }
        }
      },
      "Ad": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The ad identifier. Note: Ads created using version 3/non-multi ad group campaigns do not have an associated adId. [Learn more](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/campaigns/managing-multi-ad-group-campaigns#ads).",
            "type": "string"
          },
          "campaignId": {
            "description": "The campaign identifier.",
            "type": "string"
          },
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad. Note: Ads created using version 3/non-multi ad group campaigns do not have an associated name. [Learn more](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/campaigns/managing-multi-ad-group-campaigns#ads).",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/EntityState"
          },
          "adGroupId": {
            "description": "The adGroup identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/Creative"
          },
          "extendedData": {
            "$ref": "#/components/schemas/AdExtendedData"
          }
        },
        "required": [
          "adGroupId",
          "campaignId",
          "state"
        ]
      },
      "UpdateAd": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The product ad identifier.",
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          }
        },
        "required": [
          "adId"
        ]
      },
      "SBInsightsCampaignInsightsRequestContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBInsightsAdGroup"
            }
          }
        },
        "required": [
          "adGroups"
        ]
      },
      "CreativeImageRecommendationEntry": {
        "type": "object",
        "properties": {
          "score": {
            "format": "double",
            "description": "Recommendations with higher values are more relevant",
            "maximum": 1,
            "type": "number",
            "minimum": 0
          },
          "sizeInBytes": {
            "description": "The asset size in bytes",
            "type": "number"
          },
          "assetId": {
            "description": "The identifier of image/video asset from the store's asset library",
            "type": "string"
          },
          "imageUrl": {
            "description": "The URL of the asset",
            "type": "string"
          },
          "width": {
            "description": "The width of the asset in pixels",
            "type": "number"
          },
          "name": {
            "description": "The fileName of the asset",
            "type": "string"
          },
          "contentType": {
            "$ref": "#/components/schemas/MediaType"
          },
          "height": {
            "description": "The height of the asset in pixels",
            "type": "number"
          }
        }
      },
      "SubmitImageTasksResponseContent": {
        "type": "object",
        "properties": {
          "submitted": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Submitted"
            }
          },
          "batchId": {
            "description": "As per API First guidance, batch API should return a separate list for success and errors in the response.\nThe success/submitted and error fields will indicate the status of submission, they don't mean the status of image generation task.\nStatus code will be 207 for partial successful requests and all successful requests.\nA batchId that is used to track status multiple tasks if they are submitted in one batch request\nIf none of the request is submitted successfully, batchId will be null",
            "type": "string"
          },
          "error": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorDetails"
            }
          }
        }
      },
      "AssetCrop": {
        "description": "Asset cropping attributes",
        "type": "object",
        "properties": {
          "top": {
            "description": "The highest pixel from which to begin cropping",
            "type": "number"
          },
          "left": {
            "description": "The leftmost pixel from which to begin cropping",
            "type": "number"
          },
          "width": {
            "description": "The number of pixels to crop rightwards from the value specified as left",
            "type": "number"
          },
          "height": {
            "description": "The number of pixels to crop down from the value specified as top",
            "type": "number"
          }
        }
      },
      "CreativeRecommendationsEligibilityRequestContent": {
        "type": "object",
        "properties": {
          "source": {
            "$ref": "#/components/schemas/Source"
          }
        },
        "required": [
          "source"
        ]
      },
      "UpdateSponsoredBrandsAdGroupsBetaRequestContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateAdGroup"
            }
          }
        },
        "required": [
          "adGroups"
        ]
      },
      "CreateSponsoredBrandsExtendedProductCollectionAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "CustomImageCrop": {
        "description": "The crop to apply to the selected Custom image. A Custom image must have a 1200x628 aspect ratio, with a .01 delta for floating point precision. If a customImageAssetId is supplied but a crop is not, the crop will be defaulted to the whole image.",
        "type": "object",
        "properties": {
          "top": {
            "type": "number"
          },
          "left": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          }
        }
      },
      "InternalServerErrorCode": {
        "type": "string",
        "enum": [
          "INTERNAL_ERROR"
        ]
      },
      "VersionId": {
        "description": "The version identifier that helps to keep track of multiple versions of a submitted ad. In case of Sponsored Brands this is the creative version id.",
        "type": "string"
      },
      "SBInsightsCampaignInsightsResponseContent": {
        "description": "Response object for /sb/campaigns/insights containing a list of insights for the campaign.",
        "type": "object",
        "properties": {
          "insights": {
            "minItems": 0,
            "maxItems": 1000,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBInsightsObject"
            }
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "ViolatingTextEvidence": {
        "type": "object",
        "properties": {
          "violatingTextPosition": {
            "$ref": "#/components/schemas/TextPosition"
          },
          "violatingText": {
            "description": "The specific text determined to violate the specified policy in reviewedText.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsVideoAdsBetaResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "BudgetUsagePortfolio": {
        "type": "object",
        "properties": {
          "budgetUsagePercent": {
            "description": "Budget usage percentage (spend / available budget) for the given budget policy.",
            "type": "number"
          },
          "portfolioId": {
            "description": "ID of requested resource",
            "type": "string"
          },
          "usageUpdatedTimestamp": {
            "format": "date-time",
            "description": "Last evaluation time for budget usage",
            "type": "string"
          },
          "index": {
            "description": "An index to maintain order of the portfolioIds",
            "type": "number"
          },
          "budget": {
            "description": "Budget amount of resource requested",
            "type": "number"
          }
        }
      },
      "CreateSponsoredBrandsOptimizationRulesResponseContent": {
        "type": "object",
        "properties": {
          "optimizationRules": {
            "$ref": "#/components/schemas/BulkCreateOptimizationRuleOperationResponse"
          }
        },
        "required": [
          "optimizationRules"
        ]
      },
      "CreativeType": {
        "description": "The creative type of SB ad.",
        "type": "string",
        "enum": [
          "PRODUCT_COLLECTION",
          "STORE_SPOTLIGHT",
          "VIDEO",
          "BRAND_VIDEO"
        ]
      },
      "CustomImage": {
        "type": "object",
        "properties": {
          "assetId": {
            "type": "string"
          },
          "crop": {
            "$ref": "#/components/schemas/CustomImageCrop"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "UpdateSponsoredBrandsAdGroupsRequestContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateAdGroup"
            }
          }
        },
        "required": [
          "adGroups"
        ]
      },
      "SBInsightsMatchType": {
        "description": "The match type. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center.",
        "type": "string",
        "enum": [
          "EXACT",
          "PHRASE",
          "BROAD"
        ]
      },
      "SBListAssociatedBudgetRulesResponse": {
        "type": "object",
        "properties": {
          "associatedRules": {
            "description": "A list of associated budget rules.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBCampaignBudgetRule"
            }
          }
        }
      },
      "SBTargetingAgeRange": {
        "type": "object",
        "properties": {
          "ageRangeRefinementId": {
            "description": "Id of Age Range. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Age Range Refinement IDs.",
            "type": "string"
          },
          "name": {
            "description": "Name of Age Range.",
            "type": "string"
          },
          "translatedName": {
            "description": "Translated name of Age Range based off locale sent in request.",
            "type": "string"
          }
        },
        "required": [
          "ageRangeRefinementId"
        ]
      },
      "DatePolicyViolation": {
        "type": "object",
        "properties": {
          "policyDescription": {
            "description": "A human-readable description of the policy.",
            "type": "string",
            "example": "example: Advertising alcohol is not allowed"
          },
          "name": {
            "description": "A policy violation code.",
            "type": "string"
          },
          "type": {
            "description": "Type of policy violation.",
            "type": "string",
            "enum": [
              "WARNING",
              "REJECTED"
            ]
          },
          "policyLinkUrl": {
            "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.",
            "type": "string",
            "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol"
          }
        }
      },
      "BiddingError": {
        "description": "Errors related to bids.",
        "type": "object",
        "properties": {
          "reason": {
            "description": "Exact error reason.",
            "type": "string"
          },
          "cause": {
            "$ref": "#/components/schemas/ErrorCause"
          },
          "upperLimit": {
            "type": "string"
          },
          "lowerLimit": {
            "type": "string"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "cause",
          "message",
          "reason"
        ]
      },
      "PrimaryHeadlineRecommendationGroups": {
        "minItems": 0,
        "maxItems": 5,
        "description": "Ordered list of Primary Headline recommendation groups.",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TextRecommendations"
        }
      },
      "ViolatingTextContent": {
        "description": "Information about the specific text that violates the specified policy in the campaign.",
        "type": "object",
        "properties": {
          "reviewedText": {
            "description": "The actual text on which the moderation was done.",
            "type": "string"
          },
          "violatingTextEvidences": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingTextEvidence"
            }
          },
          "moderatedComponent": {
            "description": "Moderation component which marked the policy violation.",
            "type": "string"
          }
        }
      },
      "ImageSpec": {
        "description": "Structure for Image specification",
        "type": "object",
        "properties": {
          "resolution": {
            "description": "Image resolution, default is 1200x628. New values will be added later.\n|   Resolution  |   Value       |\n|---------------|---------------|\n|   1200x628  |   1200x628  |",
            "type": "string"
          },
          "fileFormat": {
            "description": "Valid values are PNG and JPEG, default is PNG. New values will be added later.\n|   File Format  |   Value       |\n|---------------|---------------|\n|   PNG          |   PNG         |\n|   JPEG         |   JPEG        |",
            "type": "string"
          }
        }
      },
      "SuggestedHeadline": {
        "description": "Suggested Headline in response object.",
        "type": "object",
        "properties": {
          "headlineId": {
            "description": "Unique Id of suggested headline.",
            "type": "string",
            "example": "e991e32c-0136-427a-843b-ff04162f2f91"
          },
          "headline": {
            "description": "String that contains suggested headline.",
            "type": "string",
            "example": "This is a suggested headline."
          }
        }
      },
      "Placement": {
        "description": "List of bid adjustments for placements.\n- HOME - The home page of the Amazon store.\n- DETAIL_PAGE - Product detail pages within the Amazon store.\n- OTHER - Other placement groups. Such as search pages in the Amazon Store.\n- TOP_OF_SEARCH - Top of search ads generally appear above the top search results.",
        "type": "string",
        "enum": [
          "HOME",
          "DETAIL_PAGE",
          "OTHER",
          "TOP_OF_SEARCH"
        ]
      },
      "ThrottlingErrorResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ThrottlingErrorCode"
          },
          "requestId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "requestId"
        ]
      },
      "LandingPageInvalidArgumentExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/LandingPageInvalidArgumentErrorCode"
          },
          "details": {
            "description": "A human-readable description of the code field.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "CreateSponsoredBrandsCampaignsResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "$ref": "#/components/schemas/BulkCampaignOperationResponse"
          }
        }
      },
      "AdGroupFailureResponseItem": {
        "type": "object",
        "properties": {
          "index": {
            "description": "the index of the adGroup in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "errors": {
            "minItems": 0,
            "maxItems": 100,
            "description": "A list of validation errors.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdGroupMutationError"
            }
          }
        },
        "required": [
          "index"
        ]
      },
      "CreateCampaign": {
        "type": "object",
        "properties": {
          "budgetType": {
            "$ref": "#/components/schemas/BudgetType"
          },
          "brandEntityId": {
            "description": "Please note that brandEntityId is only required for sellers. You can get the brandEntityId by calling the [GET /brands](https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#tag/Brands/operation/getBrands) endpoint.",
            "type": "string"
          },
          "goal": {
            "description": "Goal will allow you to set goal type to help drive your campaign performance. If no goal is selected then it will default to PAGE_VISIT.\nThe goal type of the campaign.\n- BRAND_IMPRESSION_SHARE - This goal will allow you grown your brand impression share on top of search placement\n- PAGE_VISIT [DEFAULT] - This goal drives traffic to your landing and detail pages through all placements.\n\nNote: Goal-based campaigns are not supported in the Ireland (IE) marketplace. For IE, both `goal` and `costType` must be omitted from the request, which creates a standard (non-goal-based) campaign. Supplying `goal` and `costType` in IE returns a `GOAL_BASED_CAMPAIGNS_DISABLED` error.",
            "type": "string"
          },
          "bidding": {
            "$ref": "#/components/schemas/Bidding"
          },
          "endDate": {
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "endDate is optional. If endDate is specified, startDate must be specified as well.",
            "type": "string"
          },
          "productLocation": {
            "$ref": "#/components/schemas/ProductLocation"
          },
          "tags": {
            "$ref": "#/components/schemas/Tags"
          },
          "portfolioId": {
            "description": "The identifier of an existing portfolio to which the campaign is associated.",
            "type": "string"
          },
          "costType": {
            "description": "The costType can be set to determines how the campaign will bid and charge. To view the bid maximums and minimums by geography and costType, see https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace\n- CPC [Default] - Cost per click. The performance of this campaign is measured by the clicks triggered by the ad.\n- VCPM - Cost per 1000 viewable impressions. The performance of this campaign is measured by the viewable impressions triggered by the ad.\n- FIXED_PRICE - Sale price for a specific ad placement. It can only be used for campaign with a targetedPGDealId.",
            "type": "string"
          },
          "smartDefault": {
            "minItems": 1,
            "maxItems": 100,
            "description": "The smartDefault specifies a list of the smart default options for the campaign.\n\n`smartDefault` is optional for create campaign requests. `smartDefault` are applicable to all applicable child entities of the campaign and are not editable once the campaign is created. When using [\"TARGETING\"], targets will be automatically added based on the goal selected.  When [\"MANUAL\"] is selected, you will still be required to manually add targets.\n\nIf you don't specify `smartDefault`, default value will be applied based on `goal` . If campaign's `goal` is selected, `smartDefault` will be set to [\"TARGETING\"].  Otherwise, a campaign's `smartDefault` will be set to [\"MANUAL\"].\n\nEach element in smartDefault can be set to determines which default strategy to be used\n- MANUAL - Manual settings, no smart default be applied to the campaign, if MANUAL is added in the list, no other items are allowed in the list (the list must contains only one item)\n- TARGETING - Smart Default Targeting creation, will automatically creating targetings when create ad group\n\nExample: [\"TARGETING\"]",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "name": {
            "minLength": 1,
            "description": "The name of the campaign.",
            "type": "string",
            "maxLength": 128
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "startDate": {
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "startDate is optional. If startDate is not specified, current date will be used.",
            "type": "string"
          },
          "budget": {
            "format": "double",
            "description": "The budget of the campaign.",
            "type": "number"
          },
          "siteRestrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRestriction"
            },
            "maxItems": 1,
            "minItems": 1,
            "description": "Restrict the ad to a particular site. siteRestrictions is an optional field.  If this field is not set, ads from the campaign will appear on Amazon - including both Amazon retail and Amazon Business. \nPlease note that:\n1) AMAZON_BUSINESS option is only available for Amazon Business operated marketplaces (US, CA, MX, UK, DE, FR, IT, ES, IN, JP, AU);\n2) siteRestrictions cannot be changed post campaign creation;\n3) siteRestrictions doesn't support shopperCohortBidding setting."
          },
          "targetedPGDealId": {
            "description": "DealId associated with the campaign.",
            "type": "string"
          }
        },
        "required": [
          "budget",
          "budgetType",
          "name",
          "state"
        ]
      },
      "LandingPageInternalServerExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/LandingPageInternalErrorCode"
          },
          "details": {
            "description": "A human-readable description of the code field.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "AsinComponent": {
        "description": "Asin component which needs to be pre moderated.",
        "type": "object",
        "required": [
          "asin",
          "componentType",
          "id"
        ],
        "properties": {
          "componentType": {
            "description": "Type of the asin component.",
            "type": "string",
            "enum": [
              "LANDING_ASIN",
              "PRODUCT_ASIN"
            ]
          },
          "asin": {
            "description": "Asin id to be pre moderated.",
            "type": "string"
          },
          "id": {
            "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.",
            "type": "string"
          }
        }
      },
      "ListSponsoredBrandsAdGroupsBetaRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "stateFilter": {
            "$ref": "#/components/schemas/EntityStateFilter"
          },
          "maxResults": {
            "description": "Number of records to include in the paginated response. Defaults to max page size for given API.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "adGroupIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "includeExtendedDataFields": {
            "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.",
            "type": "boolean"
          },
          "nameFilter": {
            "$ref": "#/components/schemas/NameFilter"
          }
        }
      },
      "SBBudgetRule": {
        "type": "object",
        "required": [
          "ruleId"
        ],
        "properties": {
          "ruleState": {
            "$ref": "#/components/schemas/state"
          },
          "lastUpdatedDate": {
            "format": "int64",
            "description": "Epoch time of budget rule update. Read-only.",
            "type": "number"
          },
          "createdDate": {
            "format": "int64",
            "description": "Epoch time of budget rule creation. Read-only.",
            "type": "number"
          },
          "ruleDetails": {
            "$ref": "#/components/schemas/SBBudgetRuleDetails"
          },
          "ruleId": {
            "description": "The budget rule identifier.",
            "type": "string"
          },
          "ruleStatus": {
            "description": "The budget rule status. Read-only.",
            "type": "string"
          }
        }
      },
      "EntityStateFilter": {
        "description": "Filter entities by state.",
        "type": "object",
        "properties": {
          "include": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityState"
            }
          }
        }
      },
      "ThrottlingErrorCode": {
        "type": "string",
        "enum": [
          "THROTTLED"
        ]
      },
      "AdGroupExtendedData": {
        "type": "object",
        "properties": {
          "servingStatus": {
            "$ref": "#/components/schemas/AdGroupServingStatus"
          },
          "lastUpdateDate": {
            "description": "Date of last update in epoch time.",
            "type": "number"
          },
          "servingStatusDetails": {
            "minItems": 0,
            "maxItems": 100,
            "description": "The serving status reasons of the Ad Group.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "creationDate": {
            "description": "Creation date in epoch time.",
            "type": "number"
          }
        }
      },
      "CampaignMutationErrorSelector": {
        "type": "object",
        "properties": {
          "dateError": {
            "$ref": "#/components/schemas/DateError"
          },
          "biddingError": {
            "$ref": "#/components/schemas/BiddingError"
          },
          "budgetError": {
            "$ref": "#/components/schemas/BudgetError"
          },
          "billingError": {
            "$ref": "#/components/schemas/BillingError"
          },
          "rangeError": {
            "$ref": "#/components/schemas/RangeError"
          },
          "otherError": {
            "$ref": "#/components/schemas/OtherError"
          }
        }
      },
      "AdGroupServingStatus": {
        "description": "`Notice: the servingStatus enums have not been finalized yet.`\nThe ad group serving status determined by system.\n- AD_GROUP_STATUS_ENABLED - Ad group's status is enabled.\n- AD_GROUP_PAUSED - Ad group's status is paused.\n- AD_GROUP_ARCHIVED - Ad group's status is archived.\n- AD_GROUP_INCOMPLETE - Ad group does not contain any ads or targeting clauses.\n- AD_GROUP_POLICING_PENDING_REVIEW - Ad group is pending review because of policing reason\n- AD_GROUP_POLICING_CREATIVE_REJECTED - Ad group is rejected due to creative because of policing reason\n- AD_GROUP_LOW_BID - Ad group is less than the minimum allowed bid in its marketplace\n\n- ADVERTISER_STATUS_ENABLED - Advertiser's status is enabled\n- ADVERTISER_POLICING_PENDING_REVIEW - Avertiser is pending review because of policing reason\n- ADVERTISER_POLICING_SUSPENDED - Advertiser's status is suspended because of policing reason\n- ADVERTISER_PAUSED - Advertiser's status is paused\n- ADVERTISER_ARCHIVED - Advertiser's status is archived\n- ADVERTISER_PAYMENT_FAILURE - Advertiser's internal status is suspended\n- ADVERTISER_ACCOUNT_OUT_OF_BUDGET - Advertiser is out of budget for all Sponsored Ads campaigns\n- ADVERTISER_OUT_OF_PREPAY_BALANCE - Advertiser is out of prepay balance for all Sponsored Ads campaigns\n- ADVERTISER_EXCEED_SPENDS_LIMIT - Advertiser spends over the daily limit\n\n- CAMPAIGN_STATUS_ENABLED - Campaign's (parent) status is enabled.\n- CAMPAIGN_PAUSED - Campaign's (parent) status is paused.\n- CAMPAIGN_ARCHIVED - Campaign's (parent) status is archived.\n- CAMPAIGN_INCOMPLETE - Campaign (parent) does not contain any ads or targeting clauses.\n- CAMPAIGN_OUT_OF_BUDGET - Campaign (parent) is out of budget.\n\n- PORTFOLIO_STATUS_ENABLED - Portfolio's (parent) status is enabled\n- PORTFOLIO_PAUSED - Portfolio's (parent) status is paused\n- PORTFOLIO_ARCHIVED - Portfolio's (parent) status is archived\n- PORTFOLIO_OUT_OF_BUDGET - Portfolio (parent) is out of budget\n- PORTFOLIO_PENDING_START_DATE - Portfolio's (parent) start date is in the future\n- PORTFOLIO_ENDED - Portfolio's (parent) end date is in the past.\n\n- INELIGIBLE - Ad group is ineligible.\n- ELIGIBLE - Ad group is eligible.\n- ENDED - Campaign's (parent) end date is in the past.\n- PENDING_REVIEW - Campaign (parent) is pending review.\n- PENDING_START_DATE - Campaign's (parent) start date is in the future.\n- REJECTED - Campaign (parent) is rejected by moderation process.\n- UNKNOWN - Serving status is unknown. Please contact us for support.",
        "type": "string",
        "enum": [
          "AD_GROUP_STATUS_ENABLED",
          "AD_GROUP_PAUSED",
          "AD_GROUP_ARCHIVED",
          "AD_GROUP_INCOMPLETE",
          "AD_GROUP_POLICING_PENDING_REVIEW",
          "AD_GROUP_POLICING_CREATIVE_REJECTED",
          "AD_GROUP_LOW_BID",
          "ADVERTISER_STATUS_ENABLED",
          "ADVERTISER_POLICING_PENDING_REVIEW",
          "ADVERTISER_POLICING_SUSPENDED",
          "ADVERTISER_PAUSED",
          "ADVERTISER_ARCHIVED",
          "ADVERTISER_PAYMENT_FAILURE",
          "ADVERTISER_ACCOUNT_OUT_OF_BUDGET",
          "ADVERTISER_OUT_OF_PREPAY_BALANCE",
          "ADVERTISER_EXCEED_SPENDS_LIMIT",
          "CAMPAIGN_STATUS_ENABLED",
          "CAMPAIGN_PAUSED",
          "CAMPAIGN_ARCHIVED",
          "CAMPAIGN_INCOMPLETE",
          "CAMPAIGN_OUT_OF_BUDGET",
          "PORTFOLIO_STATUS_ENABLED",
          "PORTFOLIO_PAUSED",
          "PORTFOLIO_ARCHIVED",
          "PORTFOLIO_OUT_OF_BUDGET",
          "PORTFOLIO_PENDING_START_DATE",
          "PORTFOLIO_ENDED",
          "INELIGIBLE",
          "ELIGIBLE",
          "ENDED",
          "PENDING_REVIEW",
          "PENDING_START_DATE",
          "REJECTED",
          "UNKNOWN"
        ]
      },
      "SBInsightsUnprocessableEntityExceptionResponseContent": {
        "description": "Returns information about an UnprocessableEntityException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "CreateSponsoredBrandsCampaignsBetaRequestContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateCampaign"
            }
          }
        },
        "required": [
          "campaigns"
        ]
      },
      "InternalServerErrorResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/InternalServerErrorCode"
          },
          "requestId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "requestId"
        ]
      },
      "GetSBBudgetRulesForAdvertiserResponse": {
        "type": "object",
        "properties": {
          "budgetRulesForAdvertiserResponse": {
            "minItems": 0,
            "maxItems": 30,
            "description": "A list of rules created by the advertiser.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBBudgetRule"
            }
          },
          "nextToken": {
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "AdGroupMutationErrorSelector": {
        "type": "object",
        "properties": {
          "dateError": {
            "$ref": "#/components/schemas/DateError"
          },
          "biddingError": {
            "$ref": "#/components/schemas/BiddingError"
          },
          "rangeError": {
            "$ref": "#/components/schemas/RangeError"
          },
          "otherError": {
            "$ref": "#/components/schemas/OtherError"
          }
        }
      },
      "InvalidArgumentErrorSelector": {
        "type": "object",
        "properties": {
          "rangeError": {
            "$ref": "#/components/schemas/RangeError"
          },
          "otherError": {
            "$ref": "#/components/schemas/OtherError"
          }
        }
      },
      "UpdateOptimizationRuleSuccessResponseItem": {
        "type": "object",
        "properties": {
          "optimizationRule": {
            "$ref": "#/components/schemas/OptimizationRule"
          },
          "index": {
            "description": "The index of the entityId in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "optimizationRuleId": {
            "description": "The identifier of the optimization rule.",
            "type": "string"
          }
        },
        "required": [
          "index",
          "optimizationRule",
          "optimizationRuleId"
        ]
      },
      "PreModerationResponse": {
        "description": "Information regarding the policy violations if present for the components, sent for pre moderation.",
        "type": "object",
        "properties": {
          "recordId": {
            "description": "Id of the brand/advertiser.",
            "type": "string"
          },
          "asinComponents": {
            "description": "Pre moderation result of the asin components. It will have information regarding the policy violations present if any.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AsinComponentResponse"
            }
          },
          "preModerationId": {
            "description": "Unique Id for the moderation Request.",
            "type": "string"
          },
          "adProgram": {
            "description": "Type of Ad program to which the pre moderation components belong to.",
            "type": "string",
            "enum": [
              "SPONSORED_BRANDS",
              "SPONSORED_BRANDS_SPOTLIGHT",
              "SPONSORED_BRANDS_VIDEO",
              "STORES",
              "SPONSORED_DISPLAY",
              "DSP",
              "DSP_REC",
              "DSP_IMAGE",
              "DSP_THIRD_PARTY"
            ]
          },
          "locale": {
            "description": "Locale value that was passed in request.",
            "type": "string",
            "enum": [
              "ar-AE",
              "zh-CN",
              "nl-NL",
              "en-AU",
              "en-CA",
              "en-IN",
              "en-GB",
              "en-US",
              "fr-CA",
              "fr-FR",
              "de-DE",
              "it-IT",
              "ja-JP",
              "ko-KR",
              "pt-BR",
              "es-ES",
              "es-US",
              "es-MX",
              "tr-TR"
            ]
          },
          "imageComponents": {
            "description": "Pre moderation result of the image components. It will have information regarding the policy violations present if any.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageComponentResponse"
            }
          },
          "dateComponents": {
            "description": "Pre moderation result of the date components. It will have information regarding the policy violations present if any.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DateComponentResponse"
            }
          },
          "textComponents": {
            "description": "Pre moderation result of the text components. It will have information regarding the policy violations present if any.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextComponentResponse"
            }
          },
          "videoComponents": {
            "description": "Pre moderation result of the video components. It will have information regarding the policy violations present if any.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VideoComponentResponse"
            }
          }
        }
      },
      "SBTargetingPriceRange": {
        "description": "A range of prices. We use this to retrieve the number of targetable ASINs that falls within this price range.",
        "type": "object",
        "properties": {
          "min": {
            "format": "double",
            "type": "number"
          },
          "max": {
            "format": "double",
            "type": "number"
          }
        }
      },
      "Submitted": {
        "type": "object",
        "properties": {
          "index": {
            "description": "The index of the image task in the array from the request body",
            "type": "number"
          },
          "taskId": {
            "description": "The identifier of image generation task",
            "type": "string"
          }
        }
      },
      "UpdateBudgetRulesResponse": {
        "type": "object",
        "properties": {
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetRuleResponse"
            }
          }
        }
      },
      "CreateAdGroup": {
        "type": "object",
        "properties": {
          "campaignId": {
            "description": "The identifier of the campaign to which the keyword is associated.",
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad group.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          }
        },
        "required": [
          "campaignId",
          "name",
          "state"
        ]
      },
      "CreateSponsoredBrandsProductCollectionAdsBetaRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateProductCollectionAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "RequiredRecommendations": {
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "maxRecommendationGroups": {
            "format": "int32",
            "description": "Maximum number of recommendations groups that API should return for given type. (recommendations are not guaranteed).",
            "maximum": 5,
            "type": "integer",
            "minimum": 1
          },
          "type": {
            "description": "Type of recommendations.",
            "type": "string",
            "enum": [
              "PRIMARY_HEADLINE",
              "SECONDARY_HEADLINE"
            ]
          }
        }
      },
      "CreativeRecommendationsAccessDeniedError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Access denied error code.",
            "type": "string",
            "enum": [
              "ACCESS_DENIED"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "SDBudgetRuleDetails": {
        "description": "Object representing details of a budget rule for SD campaign",
        "type": "object",
        "properties": {
          "duration": {
            "$ref": "#/components/schemas/RuleDuration"
          },
          "recurrence": {
            "$ref": "#/components/schemas/Recurrence"
          },
          "ruleType": {
            "$ref": "#/components/schemas/SDRuleType"
          },
          "budgetIncreaseBy": {
            "$ref": "#/components/schemas/budgetIncreaseBy"
          },
          "name": {
            "description": "The budget rule name. Required to be unique within a campaign.",
            "type": "string",
            "maxLength": 355
          },
          "performanceMeasureCondition": {
            "$ref": "#/components/schemas/PerformanceMeasureCondition"
          }
        }
      },
      "ListSponsoredBrandsOptimizationRulesResponseContent": {
        "type": "object",
        "properties": {
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "totalCount": {
            "description": "The total number of entities.",
            "type": "number"
          },
          "optimizationRules": {
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRule"
            }
          }
        },
        "required": [
          "optimizationRules"
        ]
      },
      "HeadlineSuggestionRequest": {
        "description": "Request structure of headline suggestion API.",
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 1,
            "maxItems": 3,
            "description": "An array of ASINs associated with the creative. Note do not pass an empty array, this results in an error.\n",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "storePages": {
            "minItems": 1,
            "maxItems": 3,
            "description": "An array of Store Pages associated with SB Spotlight Creative.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StorePage"
            }
          },
          "maxNumSuggestions": {
            "description": "Maximum number of suggestions that API should return. Response will [0, maxNumSuggestions] suggestions (suggestions are not guaranteed).",
            "maximum": 10,
            "type": "number",
            "minimum": 1
          },
          "adFormat": {
            "type": "string",
            "enum": [
              "SPONSORED_BRANDS",
              "SPONSORED_BRANDS_SPOTLIGHT"
            ]
          }
        }
      },
      "SBOptimizationRecommendationRequestContent": {
        "type": "object",
        "properties": {
          "costControlMetric": {
            "$ref": "#/components/schemas/CostControlMetric"
          },
          "landingPages": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LandingPage"
            }
          }
        },
        "required": [
          "costControlMetric",
          "landingPages"
        ]
      },
      "SBOptimizationRecommendationResponseContent": {
        "type": "object",
        "properties": {
          "minimumValue": {
            "format": "double",
            "description": "Minimum accepted value for cost control metric.",
            "type": "number"
          },
          "costControlMetric": {
            "$ref": "#/components/schemas/CostControlMetric"
          },
          "recommendedValue": {
            "format": "double",
            "description": "Recommended value for cost control metric.",
            "type": "number"
          }
        },
        "required": [
          "costControlMetric",
          "minimumValue",
          "recommendedValue"
        ]
      },
      "CostControlMetric": {
        "description": "Cost control metric to retrieve recommended value for.  Currently only COST_PER_CLICK is supported.",
        "type": "string",
        "enum": [
          "COST_PER_CLICK"
        ]
      },
      "DeleteSponsoredBrandsAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "SBInsightsAdGroup": {
        "description": "The ad group settings.",
        "type": "object",
        "properties": {
          "keywords": {
            "minItems": 0,
            "maxItems": 800,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBInsightsKeyword"
            }
          },
          "adFormat": {
            "$ref": "#/components/schemas/SBInsightsAdFormat"
          }
        },
        "required": [
          "adFormat"
        ]
      },
      "VideoCreative": {
        "type": "object",
        "properties": {
          "consentToTranslate": {
            "description": "If set to true and the heaadline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language.\nIf Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "videoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then 'videoAssetIds' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId.",
            "type": "array",
            "items": {
              "description": "The identifier of image/video asset from the store's asset library",
              "type": "string"
            }
          }
        },
        "required": [
          "videoAssetIds"
        ]
      },
      "SBRuleType": {
        "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.",
        "type": "string",
        "enum": [
          "SCHEDULE",
          "PERFORMANCE"
        ]
      },
      "ListSponsoredBrandsCampaignsBetaRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "portfolioIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "stateFilter": {
            "$ref": "#/components/schemas/EntityStateFilter"
          },
          "maxResults": {
            "description": "Number of records to include in the paginated response. Defaults to max page size for given API.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "goalTypeFilter": {
            "$ref": "#/components/schemas/GoalTypeFilter"
          },
          "includeExtendedDataFields": {
            "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.",
            "type": "boolean"
          },
          "nameFilter": {
            "$ref": "#/components/schemas/NameFilter"
          }
        }
      },
      "BudgetUsageCampaignBatchError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "An enumerated error code for machine use.",
            "type": "string"
          },
          "campaignId": {
            "description": "ID of requested resource",
            "type": "string"
          },
          "index": {
            "description": "An index to maintain order of the campaignIds",
            "type": "number"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        }
      },
      "BidAdjustmentByShopperSegment": {
        "type": "object",
        "properties": {
          "percentage": {
            "maximum": 900,
            "type": "number",
            "minimum": 0
          },
          "shopperSegment": {
            "$ref": "#/components/schemas/ShopperSegment"
          }
        }
      },
      "ShopperCohortBidAdjustment": {
        "type": "object",
        "properties": {
          "shopperCohortType": {
            "$ref": "#/components/schemas/ShopperCohortType"
          },
          "percentage": {
            "maximum": 900,
            "type": "number",
            "minimum": 0
          },
          "audienceSegments": {
            "minItems": 1,
            "maxItems": 1,
            "description": "Required when \"AUDIENCE_SEGMENT\" is used for shopperCohortType.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AudienceSegment"
            }
          }
        }
      },
      "UpdateSponsoredBrandsOptimizationRulesRequestContent": {
        "type": "object",
        "properties": {
          "optimizationRules": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateOptimizationRule"
            }
          }
        },
        "required": [
          "optimizationRules"
        ]
      },
      "GetBudgetRecommendationsResponseContent": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 0,
            "maxItems": 100,
            "description": "List of successful budget recommendations for campaigns.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetRecommendation"
            }
          },
          "error": {
            "minItems": 0,
            "maxItems": 100,
            "description": "List of errors that occurred when generating budget recommendations.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetRecommendationError"
            }
          }
        },
        "required": [
          "error",
          "success"
        ]
      },
      "CreateSDBudgetRulesRequest": {
        "type": "object",
        "properties": {
          "budgetRulesDetails": {
            "maxItems": 25,
            "description": "A list of budget rule details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SDBudgetRuleDetails"
            }
          }
        }
      },
      "SDHeadlineRecommendationAccessDeniedException": {
        "type": "object",
        "properties": {
          "code": {
            "description": "AccessDeniedErrorCode.",
            "type": "string",
            "enum": [
              "ACCESS_DENIED"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "ViolatingAsinContent": {
        "type": "object",
        "properties": {
          "violatingAsinEvidences": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingAsinEvidence"
            }
          },
          "moderatedComponent": {
            "description": "Moderation component which marked the policy violation.",
            "type": "string"
          }
        }
      },
      "CreateStoreSpotlightAd": {
        "type": "object",
        "properties": {
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "adGroupId": {
            "description": "The adGroup identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateStoreSpotlightCreative"
          }
        },
        "required": [
          "adGroupId",
          "creative",
          "landingPage",
          "name",
          "state"
        ]
      },
      "UpdateSponsoredBrandsAdsBetaRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "IdType": {
        "description": "The unique identifiers type based on the adProgram of the ad.",
        "type": "string",
        "enum": [
          "AD_ID"
        ]
      },
      "SBInsightsThrottlingExceptionResponseContent": {
        "description": "Returns information about a ThrottlingException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "BrandLogo": {
        "description": "Properties associated with Brand Logo.",
        "type": "object",
        "properties": {
          "brandLogoCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "brandLogoUrl": {
            "type": "string"
          },
          "brandLogoAssetId": {
            "description": "The identifier of image/video asset from the store's asset library",
            "type": "string"
          }
        }
      },
      "ListCreativesResponseContent": {
        "type": "object",
        "properties": {
          "totalResults": {
            "description": "The total number of results returned by an operation.",
            "type": "number"
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.",
            "type": "string"
          },
          "creatives": {
            "description": "A list of creatives",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ListCreativesResultEntry"
            }
          }
        }
      },
      "CreateStoreSpotlightCreative": {
        "type": "object",
        "properties": {
          "brandLogoCrop": {
            "$ref": "#/components/schemas/BrandLogoCrop"
          },
          "brandName": {
            "minLength": 1,
            "type": "string",
            "maxLength": 30
          },
          "subpages": {
            "minItems": 3,
            "maxItems": 3,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subpage"
            }
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language. If Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "creativePropertiesToOptimize": {
            "minItems": 0,
            "maxItems": 1,
            "description": "If this property is enabled, Sponsored Brands will dynamically optimize by enhancing or generating creative properties based on shopper search intent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativePropertyToOptimize"
            }
          },
          "brandLogoAssetID": {
            "type": "string"
          },
          "headline": {
            "minLength": 1,
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.",
            "type": "string",
            "maxLength": 50
          }
        }
      },
      "DeleteSponsoredBrandsAdsRequestContent": {
        "type": "object",
        "properties": {
          "adIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          }
        }
      },
      "Id": {
        "description": "The unique identifier of the ad which can be obtained after the ad is created using create APIs.",
        "type": "string"
      },
      "CreativeLandingPageType": {
        "description": "Landing page type",
        "type": "string",
        "enum": [
          "PRODUCT_LIST",
          "STORE",
          "DETAIL_PAGE",
          "CUSTOM_URL",
          "AD_LANDING_PREVIEW",
          "SEARCH",
          "BROWSE",
          "ADVERTISING_LANDING_PAGE",
          "UNKNOWN"
        ]
      },
      "GetSDBudgetRuleResponse": {
        "type": "object",
        "properties": {
          "budgetRule": {
            "$ref": "#/components/schemas/SDBudgetRule"
          }
        }
      },
      "SPBudgetRuleDetails": {
        "description": "Object representing details of a budget rule for SP campaign",
        "type": "object",
        "properties": {
          "duration": {
            "$ref": "#/components/schemas/RuleDuration"
          },
          "recurrence": {
            "$ref": "#/components/schemas/Recurrence"
          },
          "ruleType": {
            "$ref": "#/components/schemas/SPRuleType"
          },
          "budgetIncreaseBy": {
            "$ref": "#/components/schemas/budgetIncreaseBy"
          },
          "name": {
            "description": "The budget rule name. Required to be unique within a campaign.",
            "type": "string",
            "maxLength": 355
          },
          "performanceMeasureCondition": {
            "$ref": "#/components/schemas/PerformanceMeasureCondition"
          }
        }
      },
      "StoreSpotlightCreative": {
        "type": "object",
        "properties": {
          "brandLogoCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "brandName": {
            "description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          },
          "subpages": {
            "description": "An array of subpages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subpage"
            }
          },
          "landingPage": {
            "$ref": "#/components/schemas/CreativeLandingPageV2"
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language.\nIf Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "creativePropertiesToOptimize": {
            "minItems": 0,
            "maxItems": 1,
            "description": "If this property is enabled, Sponsored Brands will dynamically optimize by enhancing or generating creative properties based on shopper search intent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativePropertyToOptimize"
            }
          },
          "brandLogoAssetId": {
            "description": "The identifier of the [brand logo](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#brandlogo) image from the brand store's asset library.\nNote that for campaigns created in the Amazon Advertising console prior to release of the brand store's assets library, responses will not include a value for this field.",
            "type": "string"
          },
          "headline": {
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          }
        },
        "required": [
          "brandLogoAssetId",
          "brandName",
          "headline",
          "subpages"
        ]
      },
      "SDHeadlineRecommendationIdentifierNotfoundException": {
        "type": "object",
        "properties": {
          "code": {
            "description": "IdentiferNotFoundErrorCode.",
            "type": "string",
            "enum": [
              "IDENTIFIER_NOT_FOUND"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsAdGroupsBetaResponseContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "$ref": "#/components/schemas/BulkAdGroupOperationResponse"
          }
        }
      },
      "CreativeImageRecommendationResponseContent": {
        "type": "object",
        "properties": {
          "totalResults": {
            "description": "The total number of results returned by an operation.",
            "type": "number"
          },
          "recommendations": {
            "minItems": 0,
            "maxItems": 20,
            "description": "Recommendations are sorted on relevancy score, i.e. more relevant image has lesser array index value",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativeImageRecommendationEntry"
            }
          }
        }
      },
      "CreateBrandVideoCreativeRequestContent": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/BrandVideoCreative"
          }
        },
        "required": [
          "adId",
          "creative"
        ]
      },
      "ListImageTasksRequestContent": {
        "type": "object",
        "properties": {
          "statusFilter": {
            "$ref": "#/components/schemas/StatusFilter"
          },
          "maxResults": {
            "maximum": 10,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.",
            "type": "string"
          },
          "taskIdFilter": {
            "$ref": "#/components/schemas/TaskIdFilter"
          },
          "batchId": {
            "type": "string"
          }
        },
        "required": [
          "batchId"
        ]
      },
      "BudgetUsageError": {
        "description": "The Error Response Object.",
        "type": "object",
        "properties": {
          "code": {
            "description": "An enumerated error code for machine use.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        }
      },
      "NotFoundErrorCode": {
        "type": "string",
        "enum": [
          "NOT_FOUND"
        ]
      },
      "DateComponentResponse": {
        "description": "Pre-moderation result for a date component",
        "type": "object",
        "properties": {
          "preModerationStatus": {
            "description": "The pre-moderation status of the component.",
            "type": "string",
            "enum": [
              "REJECTED",
              "APPROVED",
              "FAILED",
              "RETRYABLE_FAILURE"
            ]
          },
          "componentType": {
            "description": "Type of the date component.",
            "type": "string",
            "enum": [
              "CAMPAIGN_DATES"
            ]
          },
          "endDate": {
            "description": "End date of the component.",
            "type": "string"
          },
          "policyViolations": {
            "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatePolicyViolation"
            }
          },
          "id": {
            "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.",
            "type": "string"
          },
          "startDate": {
            "description": "Start date of the component.",
            "type": "string"
          }
        }
      },
      "VideoComponent": {
        "description": "Video component which needs to be pre moderated. A publicly accessible videoUrl must be sent.",
        "type": "object",
        "required": [
          "componentType",
          "id",
          "url"
        ],
        "properties": {
          "componentType": {
            "description": "Type of the video component.",
            "type": "string",
            "enum": [
              "SPONSORED_BRANDS_VIDEO",
              "OTHER_VIDEO"
            ]
          },
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "id": {
            "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.",
            "type": "string"
          },
          "url": {
            "description": "Url of the video to be pre moderated. The url must be publicly accessible.",
            "type": "string"
          }
        }
      },
      "VideoEvidence": {
        "description": "Structure of a video evidence",
        "type": "object",
        "properties": {
          "start": {
            "description": "The start position (in seconds) of the content that violates the specified policy within the video.",
            "type": "integer"
          },
          "end": {
            "description": "The end position (in seconds) of the content that violates the specified policy within the video.",
            "type": "integer"
          }
        }
      },
      "UpdateSponsoredBrandsAdsBetaResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "ModerationResultsNotFoundError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Not found error code.",
            "type": "string",
            "enum": [
              "NOT_FOUND"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "CreateOrUpdateEntityState": {
        "description": "Entity state for create or update operation.",
        "type": "string",
        "enum": [
          "ENABLED",
          "PAUSED"
        ]
      },
      "DisassociateSponsoredBrandsOptimizationRulesRequestContent": {
        "type": "object",
        "properties": {
          "optimizationRuleDisassociations": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleToEntityMapping"
            }
          }
        },
        "required": [
          "optimizationRuleDisassociations"
        ]
      },
      "SBTargetingLocale": {
        "description": "The locale to which the caller wishes to translate the targetable categories or refinements to. For example, if the caller wishes to receive the targetable categories in Simplified Chinese, the locale parameter should be set to zh_CN. If no locale is provided, the returned tagetable categories will be in the default language of the marketplace.",
        "type": "string",
        "enum": [
          "ar_AE",
          "de_DE",
          "en_AE",
          "en_AU",
          "en_CA",
          "en_GB",
          "en_IN",
          "en_SG",
          "en_US",
          "es_ES",
          "es_MX",
          "fr_CA",
          "fr_FR",
          "hi_IN",
          "it_IT",
          "ja_JP",
          "ko_KR",
          "nl_NL",
          "pl_PL",
          "pt_BR",
          "sv_SE",
          "ta_IN",
          "th_TH",
          "tr_TR",
          "vi_VN",
          "zh_CN"
        ]
      },
      "LandingPageThrottledErrorCode": {
        "type": "string",
        "enum": [
          "THROTTLED"
        ]
      },
      "CreateSponsoredBrandsCampaignsRequestContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateCampaign"
            }
          }
        },
        "required": [
          "campaigns"
        ]
      },
      "EntityState": {
        "description": "The current resource state.",
        "type": "string",
        "enum": [
          "ENABLED",
          "PAUSED",
          "ARCHIVED"
        ]
      },
      "ListImageTasksResponseContent": {
        "type": "object",
        "properties": {
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.",
            "type": "string"
          },
          "imageTaskList": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageTask"
            }
          },
          "batchId": {
            "type": "string"
          },
          "totalCount": {
            "type": "number"
          }
        }
      },
      "NotFoundExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/NotFoundErrorCode"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "GetSDBudgetRulesForAdvertiserResponse": {
        "type": "object",
        "properties": {
          "budgetRulesForAdvertiserResponse": {
            "minItems": 0,
            "maxItems": 30,
            "description": "A list of rules created by the advertiser.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SDBudgetRule"
            }
          },
          "nextToken": {
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsCampaignsBetaResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "$ref": "#/components/schemas/BulkCampaignOperationResponse"
          }
        }
      },
      "NameFilter": {
        "description": "Filter entities by name.",
        "type": "object",
        "properties": {
          "queryTermMatchType": {
            "$ref": "#/components/schemas/QueryTermMatchType"
          },
          "include": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "AccessDeniedErrorResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/AccessDeniedErrorCode"
          },
          "requestId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "requestId"
        ]
      },
      "DateComponent": {
        "description": "Date component which needs to be pre moderated. Either startDate or endDate must be populated, or both can be populated.",
        "type": "object",
        "required": [
          "componentType",
          "id"
        ],
        "properties": {
          "componentType": {
            "description": "Type of the date component.",
            "type": "string",
            "enum": [
              "CAMPAIGN_DATE"
            ]
          },
          "endDate": {
            "description": "End date of the component in yyyy-MM-dd HH:mm:ss format",
            "type": "string"
          },
          "id": {
            "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.",
            "type": "string"
          },
          "startDate": {
            "description": "Start date of the component in yyyy-MM-dd HH:mm:ss format",
            "type": "string"
          }
        }
      },
      "SBKeywordRecommendationThemeKeyword": {
        "type": "object",
        "properties": {
          "recommendationId": {
            "description": "Unique ID for each recommendation.",
            "type": "string"
          },
          "value": {
            "description": "Recommended keyword value.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsBrandVideoAdsBetaResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "Theme": {
        "description": "Structure for theme details",
        "type": "object",
        "properties": {
          "themeForDisplay": {
            "type": "string"
          },
          "themeId": {
            "type": "string"
          }
        },
        "required": [
          "themeForDisplay",
          "themeId"
        ]
      },
      "ImageCrop": {
        "type": "object",
        "properties": {
          "topLeftY": {
            "format": "int64",
            "description": "Policy violated region's top left Y-axis pixel value.",
            "type": "integer"
          },
          "topLeftX": {
            "format": "int64",
            "description": "Policy violated region's top left X-axis pixel value.",
            "type": "integer"
          },
          "width": {
            "format": "int64",
            "description": "Policy violated region's width in pixel.",
            "type": "integer"
          },
          "height": {
            "format": "int64",
            "description": "Policy violated region's height in pixel.",
            "type": "integer"
          }
        }
      },
      "ImageTaskMetadata": {
        "type": "object",
        "properties": {
          "imageSpec": {
            "$ref": "#/components/schemas/ImageSpec"
          },
          "maxResults": {
            "description": "Optional. An upper bound for number of image results for this set of metadata. Default value is 4.",
            "type": "number"
          },
          "themeId": {
            "description": "Optional.",
            "type": "string"
          },
          "asin": {
            "description": "Required. The product that is shown in AI image.",
            "type": "string"
          },
          "prompt": {
            "format": "password",
            "description": "Optional. Open text prompt",
            "type": "string",
            "maxLength": 300
          },
          "productImageAssetId": {
            "description": "Optional. Source image provided by advertiser and they are registered in Asset Library",
            "type": "string"
          }
        },
        "required": [
          "asin"
        ]
      },
      "SBTargetingInternalServerExceptionResponseContent": {
        "description": "Returns information about an InternalServerException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "BrandVideoCreative": {
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 0,
            "maxItems": 3,
            "description": "An array of ASINs associated with the creative.",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "brandLogoCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "brandName": {
            "description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          },
          "landingPage": {
            "$ref": "#/components/schemas/CreativeLandingPageV2"
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language.\nIf Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "videoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then 'videoAssetIds' will return translated video assetId whereas `originalVideoAssetIds` will return the original video assetId. In all other cases, `videoAssetIds` will return original video assetId.",
            "type": "array",
            "items": {
              "description": "The identifier of image/video asset from the store's asset library",
              "type": "string"
            }
          },
          "brandLogoAssetId": {
            "description": "The identifier of the [brand logo](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#brandlogo) image from the brand store's asset library.\nNote that for campaigns created in the Amazon Advertising console prior to release of the brand store's assets library, responses will not include a value for this field.",
            "type": "string"
          },
          "headline": {
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          }
        },
        "required": [
          "asins",
          "brandLogoAssetId",
          "brandName",
          "headline",
          "videoAssetIds"
        ]
      },
      "ListCreativesRequestContent": {
        "type": "object",
        "properties": {
          "creativeTypeFilter": {
            "uniqueItems": true,
            "description": "Filters creatives by optional creative type.\nBy default, you can list all creative versions regardless of creative type.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativeType"
            }
          },
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.",
            "type": "string"
          },
          "maxResults": {
            "description": "Set a limit on the number of results returned by an operation.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "creativeVersionFilter": {
            "maxItems": 100,
            "uniqueItems": true,
            "description": "Filters creatives by optional creative version.\nThis means you can either list all creative versions without specific creative version filter, all just retrieve a single creative version by providing a specific version identifier.",
            "type": "array",
            "items": {
              "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
              "type": "string"
            }
          },
          "creativeStatusFilter": {
            "uniqueItems": true,
            "description": "Filters creatives by optional creative status.\nBy default, you can list all creative versions regardless of creative status.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativeStatus"
            }
          }
        },
        "required": [
          "adId"
        ]
      },
      "BudgetType": {
        "description": "For the lifetime budget type, `startDate` and `endDate` must be specified.",
        "type": "string",
        "enum": [
          "DAILY",
          "LIFETIME"
        ]
      },
      "ShopperCohortType": {
        "description": "The shopper cohort type. The shopperCohortType is required to specify the type of shopper cohort used to apply bid adjustments. Currently only \"AUDIENCE_SEGMENT\" is supported.",
        "type": "string",
        "enum": [
          "AUDIENCE_SEGMENT"
        ]
      },
      "CampaignMutationFailureResponseItem": {
        "type": "object",
        "properties": {
          "index": {
            "description": "the index of the campaign in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "errors": {
            "minItems": 0,
            "maxItems": 100,
            "description": "A list of validation errors.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignMutationError"
            }
          }
        },
        "required": [
          "index"
        ]
      },
      "RuleBasedBudget": {
        "type": "object",
        "properties": {
          "isProcessing": {
            "type": "boolean"
          },
          "applicableRuleName": {
            "type": "string"
          },
          "value": {
            "format": "double",
            "type": "number"
          },
          "applicableRuleId": {
            "type": "string"
          }
        }
      },
      "BidAdjustmentByPlacement": {
        "type": "object",
        "properties": {
          "percentage": {
            "maximum": 900,
            "type": "number",
            "minimum": -99
          },
          "placement": {
            "$ref": "#/components/schemas/Placement"
          }
        }
      },
      "AdMutationErrorSelector": {
        "type": "object",
        "properties": {
          "rangeError": {
            "$ref": "#/components/schemas/RangeError"
          },
          "otherError": {
            "$ref": "#/components/schemas/OtherError"
          }
        }
      },
      "ErrorCause": {
        "description": "Structure describing error cause - location in the payload and data causing error.",
        "type": "object",
        "properties": {
          "location": {
            "description": "Error location, JSON Path expression specifying element of API payload causing error.",
            "type": "string"
          },
          "trigger": {
            "description": "Optional value causing error.",
            "type": "string"
          }
        },
        "required": [
          "location"
        ]
      },
      "SBKeywordRecommendationThemeSuggestion": {
        "type": "object",
        "properties": {
          "keywords": {
            "minItems": 0,
            "maxItems": 1000,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBKeywordRecommendationThemeKeyword"
            }
          },
          "type": {
            "$ref": "#/components/schemas/SBKeywordRecommendationThemeType"
          }
        }
      },
      "DeleteSponsoredBrandsAdGroupsBetaRequestContent": {
        "type": "object",
        "properties": {
          "adGroupIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          }
        }
      },
      "CreateExtendedProductCollectionCreative": {
        "type": "object",
        "properties": {
          "brandLogoCrop": {
            "$ref": "#/components/schemas/BrandLogoCrop"
          },
          "asins": {
            "minItems": 0,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "brandName": {
            "minLength": 1,
            "type": "string",
            "maxLength": 30
          },
          "customImages": {
            "minItems": 1,
            "maxItems": 5,
            "uniqueItems": true,
            "description": "Requires minimum one custom image. You can add an optional collection of custom images that can be displayed on the ad as slideshow. Learn more about slideshow here https://advertising.amazon.com/resources/whats-new/slideshow-ads-creative-for-sponsored-brands/",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomImage"
            }
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language. If Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "creativePropertiesToOptimize": {
            "minItems": 0,
            "maxItems": 1,
            "description": "If this property is enabled, Sponsored Brands will dynamically optimize by enhancing or generating creative properties based on shopper search intent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativePropertyToOptimize"
            }
          },
          "brandLogoAssetID": {
            "type": "string"
          },
          "headline": {
            "minLength": 1,
            "type": "string",
            "maxLength": 50
          }
        }
      },
      "ObjectIdFilter": {
        "description": "Filter entities by the list of objectIds.",
        "type": "object",
        "properties": {
          "include": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "description": "Entity object identifier.",
              "type": "string"
            }
          }
        }
      },
      "PerformanceMetric": {
        "description": "The advertising performance metric.",
        "type": "string",
        "enum": [
          "ACOS",
          "CTR",
          "CVR",
          "ROAS"
        ]
      },
      "VideoPolicyViolation": {
        "description": "Structure of policy violation for a video component",
        "type": "object",
        "properties": {
          "policyDescription": {
            "description": "A human-readable description of the policy.",
            "type": "string"
          },
          "videoEvidences": {
            "description": "List of evidences for the policy violations detected on the video component.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VideoEvidence"
            }
          },
          "name": {
            "description": "A policy violation code.",
            "type": "string"
          },
          "type": {
            "description": "Type of policy violation.",
            "type": "string",
            "enum": [
              "WARNING",
              "REJECTED"
            ]
          },
          "policyLinkUrl": {
            "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.",
            "type": "string",
            "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol"
          }
        }
      },
      "DeleteSponsoredBrandsCampaignsBetaRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          }
        }
      },
      "UpdateSponsoredBrandsCampaignsRequestContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateCampaign"
            }
          }
        },
        "required": [
          "campaigns"
        ]
      },
      "CreateSponsoredBrandStoreSpotlightAdsRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateStoreSpotlightAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "UnauthorizedExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/UnauthorizedErrorCode"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "CreateVideoAd": {
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "description": "The name of the ad.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "adGroupId": {
            "description": "The adGroup identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateVideoCreative"
          }
        },
        "required": [
          "adGroupId",
          "creative",
          "name",
          "state"
        ]
      },
      "SBTargetingBrand": {
        "type": "object",
        "properties": {
          "brandRefinementId": {
            "description": "Id of brand. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Brand Refinement IDs.",
            "type": "string"
          },
          "name": {
            "description": "Name of brand.",
            "type": "string"
          }
        },
        "required": [
          "brandRefinementId"
        ]
      },
      "PerformanceMeasureConditionForSB": {
        "type": "object",
        "required": [
          "comparisonOperator",
          "metricName",
          "threshold"
        ],
        "properties": {
          "metricName": {
            "$ref": "#/components/schemas/PerformanceMetricForSB"
          },
          "comparisonOperator": {
            "$ref": "#/components/schemas/ComparisonOperator"
          },
          "threshold": {
            "format": "double",
            "description": "The performance threshold value.",
            "type": "number"
          }
        }
      },
      "NextToken": {
        "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
        "type": "string"
      },
      "SDListAssociatedBudgetRulesResponse": {
        "type": "object",
        "properties": {
          "associatedRules": {
            "description": "A list of associated budget rules.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SDBudgetRule"
            }
          }
        }
      },
      "SDHeadlineRecommendationResponse": {
        "description": "Response structure of SD headline recommendation API.",
        "type": "object",
        "properties": {
          "requestId": {
            "description": "An identifier for request made which is generated by server.",
            "type": "string"
          },
          "recommendations": {
            "minItems": 1,
            "maxItems": 10,
            "description": "Recommendations are sorted, i.e., more suitable headline has lesser array index value.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RecommendedHeadline"
            }
          }
        }
      },
      "CreateBrandVideoCreativeResponseContent": {
        "description": "Create creative response",
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creativeVersion": {
            "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
            "type": "string"
          }
        }
      },
      "BulkDisassociationsOptimizationRuleResponse": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleToEntityMappingSuccessResponseItem"
            }
          },
          "error": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleFailureResponseItem"
            }
          }
        }
      },
      "SBTargetingGetTargetableCategoriesResponseContent": {
        "description": "Response object for /sb/targets/categories containing all targetable categories for the advertiser's marketplace.",
        "type": "object",
        "properties": {
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
            "type": "string"
          },
          "categoryTree": {
            "maxItems": 5000,
            "description": "List of categories.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBTargetingCategory"
            }
          }
        }
      },
      "SBKeywordRecommendationThemes": {
        "type": "object",
        "properties": {
          "themeType": {
            "$ref": "#/components/schemas/SBKeywordRecommendationThemeType"
          }
        }
      },
      "CreateExtendedProductCollectionCreativeResponseContent": {
        "description": "Create creative response",
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creativeVersion": {
            "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
            "type": "string"
          }
        }
      },
      "ModerationResultsInternalServerError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Internal error code.",
            "type": "string",
            "enum": [
              "INTERNAL_ERROR"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "TextRecommendations": {
        "minItems": 0,
        "maxItems": 5,
        "description": "Ordered list of recommendations in each group.",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TextRecommendation"
        }
      },
      "SPBudgetRule": {
        "type": "object",
        "required": [
          "ruleId"
        ],
        "properties": {
          "ruleState": {
            "$ref": "#/components/schemas/state"
          },
          "lastUpdatedDate": {
            "format": "int64",
            "description": "Epoch time of budget rule update. Read-only.",
            "type": "number"
          },
          "createdDate": {
            "format": "int64",
            "description": "Epoch time of budget rule creation. Read-only.",
            "type": "number"
          },
          "ruleDetails": {
            "$ref": "#/components/schemas/SPBudgetRuleDetails"
          },
          "ruleId": {
            "description": "The budget rule identifier.",
            "type": "string"
          },
          "ruleStatus": {
            "description": "The budget rule status. Read-only.",
            "type": "string"
          }
        }
      },
      "AdExtendedData": {
        "type": "object",
        "properties": {
          "servingStatus": {
            "$ref": "#/components/schemas/AdServingStatus"
          },
          "lastUpdateDate": {
            "description": "Date of last update in epoch time.",
            "type": "number"
          },
          "servingStatusDetails": {
            "minItems": 0,
            "maxItems": 100,
            "description": "The serving status reasons of the Ad.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "creationDate": {
            "description": "Creation date in epoch time.",
            "type": "number"
          }
        }
      },
      "AsinComponentResponse": {
        "description": "Pre-moderation result for an Asin component",
        "type": "object",
        "properties": {
          "preModerationStatus": {
            "description": "The pre-moderation status of the component.",
            "type": "string",
            "enum": [
              "REJECTED",
              "APPROVED",
              "FAILED",
              "RETRYABLE_FAILURE"
            ]
          },
          "componentType": {
            "description": "Type of Asin component.",
            "type": "string",
            "enum": [
              "LANDING_ASIN",
              "PRODUCT_ASIN"
            ]
          },
          "policyViolations": {
            "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AsinPolicyViolation"
            }
          },
          "asin": {
            "description": "Pre-moderated Asin Id.",
            "type": "string"
          },
          "id": {
            "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.",
            "type": "string"
          }
        }
      },
      "CreativeRecommendationsThrottlingError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Throttled error code.",
            "type": "string",
            "enum": [
              "THROTTLED"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "CreateStoreSpotlightCreativeRequestContent": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/StoreSpotlightCreative"
          }
        },
        "required": [
          "adId",
          "creative"
        ]
      },
      "SBKeywordRecommendationThemeType": {
        "description": "Theme type for targeting. Used to get keyword recommendations for theme.",
        "type": "string",
        "enum": [
          "KEYWORDS_RELATED_TO_YOUR_BRAND",
          "KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES"
        ]
      },
      "CreativeStatus": {
        "description": "The lifecycle status of a creative",
        "type": "string",
        "enum": [
          "SUBMITTED_FOR_MODERATION",
          "PENDING_TRANSLATION",
          "PENDING_MODERATION_REVIEW",
          "APPROVED_BY_MODERATION",
          "REJECTED_BY_MODERATION",
          "PUBLISHED"
        ]
      },
      "ListCreativesResultEntry": {
        "description": "-----------------------------------------------\nStructure types\n-----------------------------------------------\nCreative",
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creationTime": {
            "format": "double",
            "type": "number"
          },
          "creativeType": {
            "$ref": "#/components/schemas/CreativeType"
          },
          "creativeVersion": {
            "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
            "type": "string"
          },
          "creativeStatus": {
            "$ref": "#/components/schemas/CreativeStatus"
          },
          "creativeProperties": {
            "$ref": "#/components/schemas/CreativeProperties"
          },
          "lastUpdateTime": {
            "format": "double",
            "type": "number"
          }
        }
      },
      "DateError": {
        "description": "Errors related to dates.",
        "type": "object",
        "properties": {
          "reason": {
            "description": "Exact error reason..",
            "type": "string"
          },
          "cause": {
            "$ref": "#/components/schemas/ErrorCause"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "cause",
          "message",
          "reason"
        ]
      },
      "AssociatedCampaign": {
        "type": "object",
        "required": [
          "campaignId",
          "campaignName",
          "ruleStatus"
        ],
        "properties": {
          "campaignId": {
            "description": "The campaign identifier.",
            "type": "string"
          },
          "ruleStatus": {
            "description": "The budget rule evaluation status for this campaign. Read-only.",
            "type": "string"
          },
          "campaignName": {
            "description": "The campaign name.",
            "type": "string"
          }
        }
      },
      "PolicyViolation": {
        "type": "object",
        "properties": {
          "policyDescription": {
            "description": "A human-readable description of the policy.",
            "type": "string"
          },
          "violatingTextContents": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingTextContent"
            }
          },
          "violatingImageContents": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingImageContent"
            }
          },
          "policyLinkUrl": {
            "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.",
            "type": "string"
          },
          "violatingVideoContents": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingVideoContent"
            }
          },
          "violatingAsinContents": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingAsinContent"
            }
          }
        }
      },
      "UpdateOptimizationRule": {
        "type": "object",
        "properties": {
          "optimizationRuleId": {
            "description": "The identifier of the optimization rule.",
            "type": "string"
          },
          "conditions": {
            "minItems": 1,
            "maxItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuleCondition"
            }
          }
        }
      },
      "StatusFilter": {
        "type": "object",
        "properties": {
          "include": {
            "minItems": 0,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ListSponsoredBrandsAdGroupsResponseContent": {
        "type": "object",
        "properties": {
          "totalResults": {
            "description": "The total number of entities.",
            "type": "number"
          },
          "adGroups": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdGroup"
            }
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          }
        }
      },
      "CreativeRecommendationProperties": {
        "description": "Nested Creative Properties Structure for fetching Creative Recommendations.",
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 0,
            "maxItems": 3,
            "description": "-----------------------------------------------\nList types\n-----------------------------------------------\nA list of ASINs",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "brandName": {
            "description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          },
          "subpages": {
            "minItems": 0,
            "maxItems": 5,
            "description": "An array of subpages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subpage"
            }
          },
          "landingPage": {
            "$ref": "#/components/schemas/CreativeLandingPageV2"
          },
          "customImages": {
            "minItems": 0,
            "maxItems": 5,
            "uniqueItems": true,
            "description": "An array of customImages associated with the creative.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomImage"
            }
          },
          "videoAssetIds": {
            "minItems": 0,
            "maxItems": 1,
            "description": "An array of videoAssetIds associated with the creative. Advertisers can get video assetIds from Asset Library /assets/search API.",
            "type": "array",
            "items": {
              "description": "The identifier of image/video asset from the store's asset library",
              "type": "string"
            }
          },
          "recommendedCreativeId": {
            "description": "a Unique Id identifying the creative Recommendation",
            "type": "string"
          },
          "brandLogo": {
            "$ref": "#/components/schemas/BrandLogo"
          },
          "headline": {
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          }
        }
      },
      "SBKeywordRecommendationLandingPage": {
        "type": "object",
        "properties": {
          "url": {
            "description": "The URL of the Stores page, or, Vendors may also specify the URL of a custom landing page.",
            "type": "string"
          }
        }
      },
      "ThrottlingExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ThrottledErrorCode"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "SBTargetingThrottlingExceptionResponseContent": {
        "description": "Returns information about a ThrottlingException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "LandingPageThrottlingExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/LandingPageThrottledErrorCode"
          },
          "details": {
            "description": "A human-readable description of the code field.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "BudgetError": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          },
          "cause": {
            "$ref": "#/components/schemas/ErrorCause"
          },
          "upperLimit": {
            "type": "string"
          },
          "lowerLimit": {
            "type": "string"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "cause",
          "message",
          "reason"
        ]
      },
      "SDHeadlineRecommendationSchemaValidationException": {
        "type": "object",
        "properties": {
          "code": {
            "description": "InvalidArgumentErrorCode.",
            "type": "string",
            "enum": [
              "INVALID_ARGUMENT"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "AccessDeniedErrorCode": {
        "type": "string",
        "enum": [
          "ACCESS_DENIED"
        ]
      },
      "DeleteSponsoredBrandsAdGroupsRequestContent": {
        "type": "object",
        "properties": {
          "adGroupIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          }
        }
      },
      "CreateBudgetRulesResponse": {
        "type": "object",
        "properties": {
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetRuleResponse"
            }
          }
        }
      },
      "CreateSponsoredBrandsProductCollectionAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "DeleteSponsoredBrandsCampaignsResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "$ref": "#/components/schemas/BulkCampaignOperationResponse"
          }
        }
      },
      "HeadlineSuggestionResponse": {
        "description": "Response structure of headline suggestion API.",
        "type": "object",
        "properties": {
          "requestId": {
            "description": "An identifier for request made which is generated by server.",
            "type": "string"
          },
          "suggestions": {
            "description": "Suggestions are sorted, i.e., more suitable headline has lesser array index value",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SuggestedHeadline"
            }
          }
        }
      },
      "MediaType": {
        "description": "Media type for assets from Asset Library",
        "type": "string",
        "enum": [
          "image/jpeg",
          "image/png",
          "image/gif"
        ]
      },
      "BulkAssociationsOptimizationRuleResponse": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleToEntityMappingSuccessResponseItem"
            }
          },
          "error": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleFailureResponseItem"
            }
          }
        }
      },
      "CreateStoreSpotlightCreativeResponseContent": {
        "description": "Create creative response",
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creativeVersion": {
            "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
            "type": "string"
          }
        }
      },
      "state": {
        "description": "The budget rule state.",
        "type": "string",
        "enum": [
          "ACTIVE",
          "PAUSED"
        ]
      },
      "ViolatingImageEvidence": {
        "type": "object",
        "properties": {
          "violatingImageCrop": {
            "$ref": "#/components/schemas/ImageCrop"
          }
        }
      },
      "AdGroupSuccessResponseItem": {
        "type": "object",
        "properties": {
          "adGroup": {
            "$ref": "#/components/schemas/AdGroup"
          },
          "index": {
            "description": "the index of the adGroup in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "adGroupId": {
            "description": "the adGroup ID.",
            "type": "string"
          }
        },
        "required": [
          "index"
        ]
      },
      "SDHeadlineRecommendationRequest": {
        "description": "Request structure of SD headline recommendation API.",
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 1,
            "maxItems": 100,
            "description": "An array of ASINs associated with the creative.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxNumRecommendations": {
            "description": "Maximum number of recommendations that API should return. Response will [0, maxNumRecommendations] recommendations (recommendations are not guaranteed as there can be instances where the ML model can not generate policy compliant headlines for the given set of asins).",
            "maximum": 10,
            "type": "number",
            "minimum": 1
          },
          "adFormat": {
            "type": "string",
            "enum": [
              "SPONSORED_DISPLAY"
            ]
          }
        }
      },
      "ListSponsoredBrandsCampaignsResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Campaign"
            }
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "totalCount": {
            "description": "The total number of entities.",
            "type": "number"
          }
        }
      },
      "ImageComponentResponse": {
        "description": "Pre moderation result for a image component",
        "type": "object",
        "properties": {
          "preModerationStatus": {
            "description": "The pre moderation status of the component.",
            "type": "string",
            "enum": [
              "REJECTED",
              "APPROVED",
              "FAILED",
              "RETRYABLE_FAILURE"
            ]
          },
          "componentType": {
            "description": "Type of the image component.",
            "type": "string",
            "enum": [
              "BRAND_LOGO",
              "CUSTOM_IMAGE",
              "OTHER_IMAGE"
            ]
          },
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "policyViolations": {
            "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImagePolicyViolation"
            }
          },
          "id": {
            "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.",
            "type": "string"
          },
          "url": {
            "description": "Publicly accessible url of the image that got pre moderated.",
            "type": "string"
          }
        }
      },
      "TextPolicyViolation": {
        "description": "Structure of policy violation for a text component",
        "type": "object",
        "properties": {
          "policyDescription": {
            "description": "A human-readable description of the policy.",
            "type": "string"
          },
          "name": {
            "description": "A policy violation code.",
            "type": "string",
            "example": "GRAMMATICAL_ERROR"
          },
          "type": {
            "description": "Type of policy violation.",
            "type": "string",
            "enum": [
              "WARNING",
              "REJECTED"
            ]
          },
          "policyLinkUrl": {
            "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.",
            "type": "string",
            "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol"
          },
          "textEvidences": {
            "description": "List of text evidences",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextEvidence"
            }
          }
        }
      },
      "NotFoundErrorResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/NotFoundErrorCode"
          },
          "requestId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "requestId"
        ]
      },
      "InvalidArgumentError": {
        "type": "object",
        "properties": {
          "errorType": {
            "description": "The type of the error",
            "type": "string"
          },
          "errorValue": {
            "$ref": "#/components/schemas/InvalidArgumentErrorSelector"
          }
        },
        "required": [
          "errorType",
          "errorValue"
        ]
      },
      "SevenDaysMissedOpportunities": {
        "description": "Missed Opportunities in the trailing seven days.",
        "type": "object",
        "properties": {
          "estimatedMissedSalesLower": {
            "format": "double",
            "description": "Lower bound of the estimated Missed Sales. This will be in local currency.",
            "type": "number"
          },
          "estimatedMissedSalesUpper": {
            "format": "double",
            "description": "Upper bound of the estimated Missed Sales. This will be in local currency.",
            "type": "number"
          },
          "endDate": {
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "End date of the Missed Opportunities date range (YYYY-MM-DD) in local time.",
            "type": "string"
          },
          "estimatedMissedImpressionsLower": {
            "description": "Lower bound of the estimated Missed Impressions.",
            "type": "number"
          },
          "estimatedMissedClicksLower": {
            "description": "Lower bound of the estimated Missed Clicks.",
            "type": "number"
          },
          "estimatedMissedClicksUpper": {
            "description": "Upper bound of the estimated Missed Clicks.",
            "type": "number"
          },
          "estimatedMissedImpressionsUpper": {
            "description": "Upper bound of the estimated Missed Impressions.",
            "type": "number"
          },
          "startDate": {
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "Start date of the Missed Opportunities date range (YYYY-MM-DD) in local time.",
            "type": "string"
          },
          "percentTimeInBudget": {
            "format": "double",
            "description": "Percentage of time the campaign is active with a budget.",
            "type": "number"
          }
        }
      },
      "ErrorDetails": {
        "type": "object",
        "properties": {
          "errorMessage": {
            "type": "string"
          },
          "index": {
            "description": "The index of the image task in the array from the request body",
            "type": "number"
          },
          "errorCode": {
            "type": "string"
          }
        }
      },
      "BudgetUsagePortfolioResponse": {
        "type": "object",
        "properties": {
          "success": {
            "description": "List of budget usage percentages that were successfully pulled",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetUsagePortfolio"
            }
          },
          "error": {
            "description": "List of budget usage percentages that failed to pull",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetUsagePortfolioBatchError"
            }
          }
        }
      },
      "GetSPBudgetRuleResponse": {
        "type": "object",
        "properties": {
          "budgetRule": {
            "$ref": "#/components/schemas/SPBudgetRule"
          }
        }
      },
      "CreateBrandVideoCreative": {
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 0,
            "maxItems": 3,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "brandLogoCrop": {
            "$ref": "#/components/schemas/BrandLogoCrop"
          },
          "brandName": {
            "minLength": 1,
            "type": "string",
            "maxLength": 30
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language. If Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "videoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "brandLogoAssetID": {
            "type": "string"
          },
          "headline": {
            "minLength": 1,
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.",
            "type": "string",
            "maxLength": 50
          }
        }
      },
      "SBTargetingGetRefinementsForCategoryResponseContent": {
        "description": "Response object for /sb/targets/categories/{categoryRefinementId}/refinements containing information on Brand Nodes, Age Range Nodes, and Genre Nodes.\n    Response is paginated with pagination occurring for all three arrays at once.\n    Example: If there are 800 brands, 5 age ranges, and 600 genres, the first response will return 500 brands, 5 age ranges, and 500 genres. The next paginated response will return 300 brands, 0 age ranges, and 100 genres.",
        "type": "object",
        "properties": {
          "ageRanges": {
            "maxItems": 500,
            "description": "List of Age Ranges. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Age Ranges. Age Ranges are only available for categories related to children's toys and games.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBTargetingAgeRange"
            }
          },
          "brands": {
            "maxItems": 500,
            "description": "List of Brands.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBTargetingBrand"
            }
          },
          "genres": {
            "maxItems": 500,
            "description": "List of Genres. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Genre Node IDs. Genres are only available for categories related to books.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBTargetingGenre"
            }
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "RuleDuration": {
        "type": "object",
        "properties": {
          "eventTypeRuleDuration": {
            "$ref": "#/components/schemas/EventTypeRuleDuration"
          },
          "dateRangeTypeRuleDuration": {
            "$ref": "#/components/schemas/DateRangeTypeRuleDuration"
          }
        }
      },
      "LandingPageType": {
        "description": "The type of landing page, such as store page, product list (simple landing page), custom url.",
        "type": "string",
        "enum": [
          "PRODUCT_LIST",
          "STORE",
          "CUSTOM_URL",
          "DETAIL_PAGE"
        ]
      },
      "ListSponsoredBrandsAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ad"
            }
          },
          "totalResults": {
            "description": "The total number of entities.",
            "type": "number"
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          }
        }
      },
      "ListSponsoredBrandsCampaignsRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "portfolioIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "stateFilter": {
            "$ref": "#/components/schemas/EntityStateFilter"
          },
          "maxResults": {
            "description": "Number of records to include in the paginated response. Defaults to max page size for given API.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "goalTypeFilter": {
            "$ref": "#/components/schemas/GoalTypeFilter"
          },
          "includeExtendedDataFields": {
            "description": "Setting to true will slow down performance because the API needs to retrieve extra information for each campaign.",
            "type": "boolean"
          },
          "nameFilter": {
            "$ref": "#/components/schemas/NameFilter"
          }
        }
      },
      "CreativeLandingPageV2": {
        "description": "Landing page V2, where type is String with allowed values listed, and url or asins of that type.",
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 0,
            "maxItems": 100,
            "description": "The list of asins on the landingPage If type is PRODUCT_LIST. A minimum of 3 asins are required. For the 'PRODUCT_LIST' type, the asins property is mandatory, and the url should not be included.",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "type": {
            "description": "Supported types are PRODUCT_LIST, STORE, DETAIL_PAGE, CUSTOM_URL. More could be added in future.",
            "type": "string"
          },
          "url": {
            "description": "The url of the landingPage. When including the 'asins' property in the request, do not include this property, as they are mutually exclusive. For the PRODUCT_LIST type, the asins property is mandatory, and the url should not be included.",
            "type": "string"
          }
        }
      },
      "SBInsightsUnauthorizedExceptionResponseContent": {
        "description": "Returns information about an UnauthorizedException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "ModerationError": {
        "description": "The Error Response Object.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        }
      },
      "TextEvidence": {
        "description": "Structure of a text evidence",
        "type": "object",
        "properties": {
          "violatingText": {
            "description": "The specific text determined to violate the specified policy in reviewedText.",
            "type": "string",
            "example": "alcohol"
          },
          "position": {
            "description": "Position in the textComponent where the policy violation is detected.",
            "type": "object",
            "properties": {
              "start": {
                "description": "Zero-based index into the text in textComponent where the text specified in violatingText starts.",
                "type": "integer"
              },
              "end": {
                "description": "Zero-based index into the text in textComponent where the text specified in violatingText ends.",
                "type": "integer"
              }
            }
          }
        }
      },
      "SecondaryHeadlineRecommendationGroups": {
        "minItems": 0,
        "maxItems": 5,
        "description": "Ordered list of Secondary Headline recommendation groups.",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TextRecommendations"
        }
      },
      "CampaignMutationSuccessResponseItem": {
        "type": "object",
        "properties": {
          "campaignId": {
            "description": "The campaign ID.",
            "type": "string"
          },
          "index": {
            "description": "The index of the campaign in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "campaign": {
            "$ref": "#/components/schemas/Campaign"
          }
        },
        "required": [
          "index"
        ]
      },
      "CreativeRecommendationsResponseContent": {
        "type": "object",
        "properties": {
          "totalResults": {
            "description": "The total number of results returned by an operation.",
            "type": "number"
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field.\nTo retrieve the next page of results, call the same operation and specify this token in the request.\nIf the `NextToken` field is empty, there are no further results.",
            "type": "string"
          },
          "creatives": {
            "minItems": 0,
            "maxItems": 5,
            "description": "A list of creatives",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativeRecommendationResultEntry"
            }
          }
        }
      },
      "InternalErrorErrorCode": {
        "type": "string",
        "enum": [
          "INTERNAL_ERROR"
        ]
      },
      "OptimizationRuleFailureResponseItem": {
        "type": "object",
        "properties": {
          "index": {
            "description": "the index of the optimization rule id/entity Id in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "errors": {
            "minItems": 0,
            "maxItems": 100,
            "description": "A list of validation errors",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRulesError"
            }
          }
        },
        "required": [
          "index"
        ]
      },
      "CreateVideoCreative": {
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 1,
            "maxItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language. If Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "videoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "description": "In SB API V4, `videoMediaIds` is replaced by `videoAssetIds`.\n`videoAssetIds` will only allow Asset Library identifiers for ad creation, but responses can include mediaIds for v1 campaigns and API V3 operations.\nAt a future state, existing mediaIds will be added to Asset library for use in SB campaigns.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "InvalidArgumentErrorCode": {
        "type": "string",
        "enum": [
          "INVALID_ARGUMENT"
        ]
      },
      "CreateSponsoredBrandsAdGroupsBetaRequestContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateAdGroup"
            }
          }
        },
        "required": [
          "adGroups"
        ]
      },
      "CreateProductCollectionAd": {
        "type": "object",
        "properties": {
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "adGroupId": {
            "description": "The adGroup identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateProductCollectionCreative"
          }
        },
        "required": [
          "adGroupId",
          "creative",
          "landingPage",
          "name",
          "state"
        ]
      },
      "ImageTask": {
        "type": "object",
        "properties": {
          "imageUrlExpiration": {
            "format": "double",
            "description": "The timestamp after which the imageUrl will be invalid. The number represents Unix epoch seconds with optional millisecond precision.",
            "type": "number"
          },
          "imageResults": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageResult"
            }
          },
          "message": {
            "description": "Image task status details.",
            "type": "string"
          },
          "taskId": {
            "type": "string"
          },
          "status": {
            "description": "Image task status. Valid values are PENDING, COMPLETED and FAILED",
            "type": "string"
          }
        }
      },
      "OtherError": {
        "description": "Errors not related to any of the other error types.",
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          },
          "cause": {
            "$ref": "#/components/schemas/ErrorCause"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "cause",
          "message",
          "reason"
        ]
      },
      "UpdateAdGroup": {
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "description": "The name of the ad group.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "adGroupId": {
            "description": "The identifier of the keyword.",
            "type": "string"
          }
        },
        "required": [
          "adGroupId"
        ]
      },
      "CreateSponsoredBrandStoreSpotlightAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "UpdateSponsoredBrandsAdsRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "DeleteSponsoredBrandsCampaignsBetaResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "$ref": "#/components/schemas/BulkCampaignOperationResponse"
          }
        }
      },
      "ShopperSegment": {
        "description": "List of bid adjustments for shopper segments.\n- NEW_TO_BRAND_PURCHASE - The shopper segment where shopper has not purchased product from the brand.",
        "type": "string",
        "enum": [
          "NEW_TO_BRAND_PURCHASE"
        ]
      },
      "AudienceSegmentType": {
        "description": "The audience segment type is required to specify the type of audience being used to apply bid adjustments.\n|Value               | Description|\n|---------------------|------------|\n| `SPONSORED_ADS_AMC` | This type refers to the Audience Segments created in AMC for Sponsored Ads. See [AMC API](https://advertising.amazon.com/API/docs/en-us/amc-rba#tag/Rule-based-audience) for details on how to create AMC Audiences. Once the AMC Audiences are created, the Audience Ids can be retrieved using the Discovery API [ListTargetableEntities](https://advertising.amazon.com/API/docs/en-us/targetable-entities#operation/ListTargetableEntities) with parameters; `adProduct`=`SPONSORED_BRANDS`, `targetTypeFilter`=`AUDIENCE` and `pathsFilter` = `[[\"Audience Category\", \"Custom-built\", \"AMC\"]]`. Only the audiences retrieved using these filters are usable.|\n| `BEHAVIOR_DYNAMIC` | This type refers to the Audience Segments created by Amazon for Sponsored Ads. The Audience Ids can be retrieved using the Discovery API [ListTargetableEntities](https://advertising.amazon.com/API/docs/en-us/targetable-entities#operation/ListTargetableEntities) with parameters; `adProduct`=`SPONSORED_BRANDS`, `targetTypeFilter`=`AUDIENCE` and `pathsFilter` = `[[\"Audience Category\", \"Custom-built\", \"Product\"]]`. Only the audiences retrieved using these filters are usable.|\n",
        "type": "string",
        "enum": [
          "SPONSORED_ADS_AMC",
          "BEHAVIOR_DYNAMIC"
        ]
      },
      "AudienceSegment": {
        "type": "object",
        "properties": {
          "audienceId": {
            "type": "string"
          },
          "audienceSegmentType": {
            "$ref": "#/components/schemas/AudienceSegmentType"
          }
        }
      },
      "SDGetAssociatedCampaignsResponse": {
        "type": "object",
        "properties": {
          "associatedCampaigns": {
            "minItems": 0,
            "maxItems": 30,
            "description": "A list of campaigns that are associated to this budget rule.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociatedCampaign"
            }
          },
          "nextToken": {
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "SBTargetingSupplySource": {
        "description": "[UPDATE: As of 05/28/2024, `STREAMING_VIDEO` is deprecated]. \n The supply source where the target will be used. Use `AMAZON` for placements on Amazon website. Use `STREAMING_VIDEO` for off-site video placements such as IMDb TV.",
        "type": "string",
        "enum": [
          "AMAZON",
          "STREAMING_VIDEO"
        ]
      },
      "SDHeadlineRecommendationMarsThrottlingException": {
        "type": "object",
        "properties": {
          "code": {
            "description": "ThrottledErrorCode.",
            "type": "string",
            "enum": [
              "THROTTLED"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "InternalServerExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/InternalErrorErrorCode"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "CreativePropertyToOptimize": {
        "description": "| CreativePropertyToOptimize                            |  Description                                                                            |\n|------------------------------------|-----------------------------------------------------------------------------------------|\n| HEADLINE                            | Optimizes headlines by leveraging provided versions and customizing them based on factors such as audience, placement, and featured products.                                                                            |",
        "type": "string",
        "enum": [
          "HEADLINE"
        ]
      },
      "SDRuleType": {
        "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.",
        "type": "string",
        "enum": [
          "SCHEDULE",
          "PERFORMANCE"
        ]
      },
      "TextComponent": {
        "description": "Text component which needs to be pre moderated",
        "type": "object",
        "required": [
          "componentType",
          "id",
          "text"
        ],
        "properties": {
          "componentType": {
            "description": "Type of text component.",
            "type": "string",
            "enum": [
              "HEADLINE",
              "BRAND_NAME",
              "OTHER_TEXT"
            ]
          },
          "id": {
            "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.",
            "type": "string"
          },
          "text": {
            "description": "Text which needs to be moderated.",
            "type": "string"
          }
        }
      },
      "ProductCollectionCreative": {
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 0,
            "maxItems": 3,
            "uniqueItems": true,
            "description": "An array of ASINs associated with the creative.",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "brandLogoCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "brandName": {
            "description": "The displayed brand name in the ad headline.\nMaximum length is 30 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          },
          "customImageAssetId": {
            "description": "The identifier of the Custom image from the Store assets library.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#customimage) for more information on what constitutes a valid Custom image.",
            "type": "string"
          },
          "customImageCrop": {
            "$ref": "#/components/schemas/AssetCrop"
          },
          "brandLogoAssetId": {
            "description": "The identifier of the [brand logo](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#brandlogo) image from the brand store's asset library.\nNote that for campaigns created in the Amazon Advertising console prior to release of the brand store's assets library, responses will not include a value for this field.",
            "type": "string"
          },
          "headline": {
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          }
        },
        "required": [
          "asins",
          "brandLogoAssetId",
          "brandName",
          "headline"
        ]
      },
      "BudgetRecommendation": {
        "description": "Budget recomendation for campagins.",
        "type": "object",
        "properties": {
          "campaignId": {
            "description": "The identifier of a campaign.",
            "type": "string"
          },
          "suggestedBudget": {
            "format": "double",
            "description": "Recommended budget for the campaign.",
            "type": "number"
          },
          "index": {
            "description": "Correlate the recommendation to the campaign index in the request. Zero-based.",
            "type": "number"
          },
          "sevenDaysMissedOpportunities": {
            "$ref": "#/components/schemas/SevenDaysMissedOpportunities"
          }
        },
        "required": [
          "campaignId",
          "index",
          "sevenDaysMissedOpportunities",
          "suggestedBudget"
        ]
      },
      "BulkAdGroupOperationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdGroupSuccessResponseItem"
            }
          },
          "error": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdGroupFailureResponseItem"
            }
          }
        }
      },
      "CreateExtendedProductCollectionCreativeRequestContent": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/ExtendedProductCollectionCreative"
          }
        },
        "required": [
          "adId",
          "creative"
        ]
      },
      "OptimizationRuleToEntityMappingSuccessResponseItem": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "string"
          },
          "index": {
            "description": "The index of the entityId/optimizationId in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "entityId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "optimizationRuleId": {
            "description": "The identifier of the optimization rule.",
            "type": "string"
          }
        },
        "required": [
          "entityId",
          "entityType",
          "index",
          "optimizationRuleId"
        ]
      },
      "CreateSponsoredBrandsAdGroupsResponseContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "$ref": "#/components/schemas/BulkAdGroupOperationResponse"
          }
        }
      },
      "PreModerationRequest": {
        "description": "Components details that needs to be sent for pre moderation.",
        "type": "object",
        "required": [
          "adProgram",
          "locale"
        ],
        "properties": {
          "recordId": {
            "description": "Id of the brand/advertiser.",
            "type": "string"
          },
          "asinComponents": {
            "maxItems": 10,
            "description": "Asin components which needs to be pre moderated.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AsinComponent"
            }
          },
          "adProgram": {
            "description": "Type of Ad program to which this pre moderation components belong to.",
            "type": "string",
            "enum": [
              "SPONSORED_BRANDS",
              "SPONSORED_BRANDS_SPOTLIGHT",
              "SPONSORED_BRANDS_VIDEO",
              "STORES",
              "SPONSORED_DISPLAY",
              "DSP",
              "DSP_REC",
              "DSP_IMAGE",
              "DSP_THIRD_PARTY"
            ]
          },
          "locale": {
            "description": "Specifying locale will translate the premoderation message into that locale's associated language. \n \n | Locale | Language (ISO 639) | Country (ISO 3166) | \n |-----|-----|-------| \n | ar-AE | Arabic (ar) | United Arab Emirates (AE) | \n | zh-CN | Chinese (zh) | China (CN) | \n | nl-NL | Dutch (nl) | Netherlands (NL) | \n | en-AU | English (en) | Australia (AU) | \n | en-CA | English (en) | Canada (CA) | \n | en-IN | English (en) | India (IN) | \n | en-GB | English (en) | United Kingdom (GB) | \n | en-US | English (en) | United States (US) | \n | fr-CA | French (fr) | Canada (CA) | \n | fr-FR | French (fr) | France (FR) | \n | de-DE | German (de) | Germany (DE) | \n | it-IT | Italian (it) | Italy (IT) | \n | ja-JP | Japanese (ja) | Japan (JP) | \n | ko-KR | Korean (ko) | South Korea (KR) | \n | pt-BR | Portuguese (pt) | Brazil (BR) | \n | es-ES | Spanish (es) | Spain (ES) | \n | es-US | Spanish (es) | United States (US) | \n | es-MX | Spanish (es) | Mexico (MX) | \n | tr-TR | Turkish (tr) | Turkey (TR) | \n ",
            "type": "string",
            "enum": [
              "ar-AE",
              "zh-CN",
              "nl-NL",
              "en-AU",
              "en-CA",
              "en-IN",
              "en-GB",
              "en-US",
              "fr-CA",
              "fr-FR",
              "de-DE",
              "it-IT",
              "ja-JP",
              "ko-KR",
              "pt-BR",
              "es-ES",
              "es-US",
              "es-MX",
              "tr-TR"
            ]
          },
          "imageComponents": {
            "maxItems": 10,
            "description": "Image components which needs to be pre moderated.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageComponent"
            }
          },
          "dateComponents": {
            "maxItems": 10,
            "description": "Date components which needs to be pre moderated.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DateComponent"
            }
          },
          "textComponents": {
            "maxItems": 10,
            "description": "Text components which needs to be pre moderated.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextComponent"
            }
          },
          "videoComponents": {
            "maxItems": 1,
            "description": "Video components which needs to be pre moderated.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VideoComponent"
            }
          }
        }
      },
      "Campaign": {
        "type": "object",
        "properties": {
          "budgetType": {
            "$ref": "#/components/schemas/BudgetType"
          },
          "ruleBasedBudget": {
            "$ref": "#/components/schemas/RuleBasedBudget"
          },
          "brandEntityId": {
            "type": "string"
          },
          "isMultiAdGroupsEnabled": {
            "type": "boolean"
          },
          "goal": {
            "description": "Goal will allow you to set goal type to help drive your campaign performance. If no goal is selected then it will default to PAGE_VISIT.\nThe goal type of the campaign.\n- BRAND_IMPRESSION_SHARE - This goal will allow you grown your brand impression share on top of search placements\n- PAGE_VISIT [DEFAULT] - This goal drives traffic to your landing and detail pages through all placements\n- ACQUIRE_NEW_CUSTOMERS - This property is a PREVIEW ONLY and cannot be used as part of a request or response. This goal drives new customer acquisition for your brands.\n- AD_VIEWS - This property is a PREVIEW ONLY and cannot be used as part of a request or response. This goal maximizes view for your ads.\n\nNote: Goal-based campaigns are not supported in the Ireland (IE) marketplace. For IE, both `goal` and `costType` must be omitted from the request, which creates a standard (non-goal-based) campaign. Supplying `goal` and `costType` in IE returns a `GOAL_BASED_CAMPAIGNS_DISABLED` error.",
            "type": "string"
          },
          "bidding": {
            "$ref": "#/components/schemas/Bidding"
          },
          "endDate": {
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "The format of the date is YYYY-MM-DD.",
            "type": "string"
          },
          "campaignId": {
            "description": "The identifier of the campaign.",
            "type": "string"
          },
          "productLocation": {
            "$ref": "#/components/schemas/ProductLocation"
          },
          "tags": {
            "$ref": "#/components/schemas/Tags"
          },
          "portfolioId": {
            "description": "The identifier of an existing portfolio to which the campaign is associated.",
            "type": "string"
          },
          "costType": {
            "description": "The costType can be set to determines how the campaign will bid and charge. To view the bid maximums and minimums by geography and costType, see https://advertising.amazon.com/API/docs/en-us/concepts/limits#bid-constraints-by-marketplace\n- CPC [Default] - Cost per click. The performance of this campaign is measured by the clicks triggered by the ad.\n- VCPM - Cost per 1000 viewable impressions. The performance of this campaign is measured by the viewable impressions triggered by the ad.\n- FIXED_PRICE - Sale price for a specific ad placement. It can only be used for campaign with a targetedPGDealId.",
            "type": "string"
          },
          "smartDefault": {
            "minItems": 1,
            "maxItems": 100,
            "description": "The smartDefault specifies a list of the smart default options for the campaign.\n\n`smartDefault` is optional for create campaign requests. `smartDefault` are applicable to all applicable child entities of the campaign and are not editable once the campaign is created. When using [\"TARGETING\"], targets will be automatically added based on the goal selected.  When [\"MANUAL\"] is selected, you will still be required to manually add targets.\n\nIf you don't specify `smartDefault`, default value will be applied based on `goal` . If campaign's `goal` is selected, `smartDefault` will be set to [\"TARGETING\"].  Otherwise, a campaign's `smartDefault` will be set to [\"MANUAL\"].\n\nEach element in smartDefault can be set to determines which default strategy to be used\n- MANUAL - Manual settings, no smart default be applied to the campaign, if MANUAL is added in the list, no other items are allowed in the list (the list must contains only one item)\n- TARGETING - Smart Default Targeting creation, will automatically creating targetings when create ad group\n\nExample: [\"TARGETING\"]",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "siteRestrictions": {
            "minItems": 1,
            "maxItems": 1,
            "description": "Restrict the ad to a particular site. siteRestrictions is an optional field.  If this field is not set, ads from the campaign will appear on Amazon - including both Amazon retail and Amazon Business. \nPlease note that:\n1) AMAZON_BUSINESS option is only available for Amazon Business operated marketplaces (US, CA, MX, UK, DE, FR, IT, ES, IN, JP, AU);\n2) siteRestrictions cannot be changed post campaign creation;\n3) siteRestrictions doesn't support shopperCohortBidding setting.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteRestriction"
            }
          },
          "name": {
            "minLength": 1,
            "description": "The name of the campaign.",
            "type": "string",
            "maxLength": 128
          },
          "state": {
            "$ref": "#/components/schemas/EntityState"
          },
          "startDate": {
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "The format of the date is YYYY-MM-DD.",
            "type": "string"
          },
          "budget": {
            "format": "double",
            "type": "number"
          },
          "extendedData": {
            "$ref": "#/components/schemas/CampaignExtendedData"
          },
          "targetedPGDealId": {
            "description": "DealId associated with the campaign. This field is immutable and cannot be changed after the campaign is created.",
            "type": "string"
          }
        },
        "required": [
          "budget",
          "budgetType",
          "campaignId",
          "name",
          "state"
        ]
      },
      "ModerationResult": {
        "type": "object",
        "properties": {
          "versionId": {
            "$ref": "#/components/schemas/VersionId"
          },
          "idType": {
            "$ref": "#/components/schemas/IdType"
          },
          "moderationStatus": {
            "$ref": "#/components/schemas/ModerationStatus"
          },
          "policyViolations": {
            "minItems": 0,
            "maxItems": 200,
            "description": "A list of policy violations for a campaign that has failed moderation. Note that this field is present in the response only when moderationStatus is set to REJECTED.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyViolation"
            }
          },
          "etaForModeration": {
            "description": "Expected date and time by which moderation will be complete. The format is ISO 8601 in UTC time zone. Note that this field is present in the response only when moderationStatus is set to IN_PROGRESS.",
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          }
        }
      },
      "AcceptHeader": {
        "description": "Clients request a specific version of a resource using the Accept request-header field set to the value field of the desired content-type.",
        "type": "string",
        "enum": [
          "application/vnd.sbAdCreativeResource.v4+json",
          "application/vnd.sbCreativeImageRecommendationResource.v4+json",
          "application/vnd.sbCreativeRecommendationResource.v4+json"
        ]
      },
      "UpdateSponsoredBrandsCampaignsBetaResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "$ref": "#/components/schemas/BulkCampaignOperationResponse"
          }
        }
      },
      "StorePage": {
        "type": "object",
        "properties": {
          "displayName": {
            "description": "Display Name of the store page shown on a store spotlight campaign.",
            "type": "string"
          },
          "primaryAsin": {
            "description": "Selected asin from the store page which is displayed on the store spotlight campaign.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsExtendedProductCollectionAdsRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "description": "An array of Product Collection ad objects to create. Maximum length of the array is 10 objects.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateExtendedProductCollectionAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "SBInsightsBadRequestExceptionResponseContent": {
        "description": "Returns information about a BadRequestException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "UpdateSDBudgetRulesRequest": {
        "description": "Request object for updating budget rule for SD campaign",
        "type": "object",
        "properties": {
          "budgetRulesDetails": {
            "maxItems": 25,
            "description": "A list of budget rule details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SDBudgetRule"
            }
          }
        }
      },
      "SPListAssociatedBudgetRulesResponse": {
        "type": "object",
        "properties": {
          "associatedRules": {
            "description": "A list of associated budget rules.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SPCampaignBudgetRule"
            }
          }
        }
      },
      "SBInsightsKeyword": {
        "description": "Keyword associated with the campaign.",
        "type": "object",
        "properties": {
          "matchType": {
            "$ref": "#/components/schemas/SBInsightsMatchType"
          },
          "bid": {
            "format": "double",
            "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features).",
            "type": "number"
          },
          "keywordText": {
            "description": "The keyword text. Maximum of 10 words.",
            "type": "string"
          }
        },
        "required": [
          "bid",
          "keywordText",
          "matchType"
        ]
      },
      "AdGroup": {
        "type": "object",
        "properties": {
          "campaignId": {
            "description": "The identifier of the campaign to which the keyword is associated.",
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad group.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/EntityState"
          },
          "adGroupId": {
            "description": "The identifier of the keyword.",
            "type": "string"
          },
          "extendedData": {
            "$ref": "#/components/schemas/AdGroupExtendedData"
          }
        },
        "required": [
          "adGroupId",
          "campaignId",
          "name",
          "state"
        ]
      },
      "DeleteSponsoredBrandsAdsBetaRequestContent": {
        "type": "object",
        "properties": {
          "adIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          }
        }
      },
      "UpdateSponsoredBrandsAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "CreativeRecommendationsEligibilityResponseContent": {
        "type": "object",
        "properties": {
          "isEligible": {
            "description": "Returns false if there is no creative recommendation possible with the given landing page.",
            "type": "boolean"
          },
          "creativeTypes": {
            "minItems": 0,
            "maxItems": 4,
            "uniqueItems": true,
            "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreativeImageRecommendationRequestContent": {
        "type": "object",
        "properties": {
          "asins": {
            "minItems": 1,
            "maxItems": 3,
            "description": "-----------------------------------------------\nList types\n-----------------------------------------------\nA list of ASINs",
            "type": "array",
            "items": {
              "description": "ASIN",
              "type": "string"
            }
          },
          "assetSubType": {
            "$ref": "#/components/schemas/AssetSubType"
          },
          "maxNumRecommendations": {
            "description": "Maximum number of recommendations that API should return. Response will [0, recommendations] recommendations (recommendations are not guaranteed).",
            "maximum": 20,
            "type": "number",
            "minimum": 1
          },
          "assetPrograms": {
            "minItems": 0,
            "maxItems": 7,
            "description": "Filter assets by program types. For example, if only [A_PLUS] assets are requested then only assets that were used as A+ content will be recommended. If no program type is provided, recommend assets from all programs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProgramType"
            }
          },
          "locale": {
            "description": "(Optional) locale of creative headline and ASIN titles. If locale is not provided, default locale of marketplace is used.\nCurrently, only en_US and en_CA are supported.",
            "type": "string"
          },
          "headline": {
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.\nSee [the policy](https://advertising.amazon.com/resources/ad-policy/sponsored-ads-policies#headlines) for headline requirements.",
            "type": "string"
          }
        },
        "required": [
          "asins"
        ]
      },
      "UpdateCampaign": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "nullable": true,
            "description": "The identifier of an existing portfolio to which the campaign is associated.",
            "type": "string"
          },
          "bidding": {
            "$ref": "#/components/schemas/Bidding"
          },
          "endDate": {
            "nullable": true,
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "endDate is optional. If endDate is specified, startDate must be specified as well. Note: This property is nullable. If null is explicitly provided in a campaign update request, any existing endDate for the campaign will be removed.",
            "type": "string"
          },
          "campaignId": {
            "description": "The identifier of the campaign.",
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the campaign.",
            "type": "string",
            "maxLength": 128
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "startDate": {
            "pattern": "^20[1-9][0-9]-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$",
            "description": "startDate can only be changed if the current startDate is in the future.",
            "type": "string"
          },
          "budget": {
            "format": "double",
            "description": "The budget of the campaign. See https://advertising.amazon.com/help?entityId=ENTITYJDATFOIA05Q7#GE5QEBS6QRJJAT3A",
            "type": "number"
          },
          "tags": {
            "$ref": "#/components/schemas/Tags"
          }
        },
        "required": [
          "campaignId"
        ]
      },
      "DeleteSponsoredBrandsAdGroupsResponseContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "$ref": "#/components/schemas/BulkAdGroupOperationResponse"
          }
        }
      },
      "QueryTermMatchType": {
        "description": "Defines how would the string resource field (e.g. campaign name, ad group name) be matched with the query term in filter.",
        "type": "string",
        "enum": [
          "BROAD_MATCH",
          "EXACT_MATCH"
        ]
      },
      "SPGetAssociatedCampaignsResponse": {
        "type": "object",
        "properties": {
          "associatedCampaigns": {
            "minItems": 0,
            "maxItems": 30,
            "description": "A list of campaigns that are associated to this budget rule.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociatedCampaign"
            }
          },
          "nextToken": {
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "DeleteSponsoredBrandsAdGroupsBetaResponseContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "$ref": "#/components/schemas/BulkAdGroupOperationResponse"
          }
        }
      },
      "CreateProductCollectionCreativeResponseContent": {
        "description": "Create creative response",
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creativeVersion": {
            "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
            "type": "string"
          }
        }
      },
      "DayOfWeek": {
        "description": "The day of the week.",
        "type": "string",
        "enum": [
          "MONDAY",
          "TUESDAY",
          "WEDNESDAY",
          "THURSDAY",
          "FRIDAY",
          "SATURDAY",
          "SUNDAY"
        ]
      },
      "RuleCondition": {
        "type": "object",
        "properties": {
          "criteria": {
            "$ref": "#/components/schemas/ValueTypeRuleCriteria"
          },
          "attributeName": {
            "description": "Enum: \"COST_PER_CLICK\"\n\nThe name of the attribute.\n\n Supported rule metrics and corresponding supported comparisonOperators:\n| AttributeName                      |  ComparisonOperator       |  Description                                                                            |\n|------------------------------------|---------------------------|-----------------------------------------------------------------------------------------|\n| COST_PER_CLICK                     | LESS_THAN_OR_EQUAL_TO     | Maximize page visits while cost per click less than or equal to threshold.              |",
            "type": "string"
          }
        },
        "required": [
          "attributeName",
          "criteria"
        ]
      },
      "ModerationResultsAdProgramType": {
        "description": "The program type of the ad.",
        "type": "string",
        "enum": [
          "SB_PRODUCT_COLLECTION",
          "SB_STORE_SPOTLIGHT",
          "SB_VIDEO",
          "SPONSORED_PRODUCTS"
        ]
      },
      "CreativeRecommendationsBadRequestError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Bad request error code.",
            "type": "string",
            "enum": [
              "BAD_REQUEST"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "SBTargetingUnprocessableEntityExceptionResponseContent": {
        "description": "Returns information about an UnprocessableEntityException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "VideoPosition": {
        "type": "object",
        "properties": {
          "start": {
            "format": "int64",
            "description": "Start time of the video having the policy violation.",
            "type": "integer"
          },
          "end": {
            "format": "int64",
            "description": "End time of the video having the policy violation.",
            "type": "integer"
          }
        }
      },
      "ModerationStatus": {
        "description": "The moderation status of the ad.",
        "type": "string",
        "enum": [
          "APPROVED",
          "IN_PROGRESS",
          "REJECTED",
          "FAILED"
        ]
      },
      "SBTargetingAccessDeniedExceptionResponseContent": {
        "description": "Returns information about an AccessDeniedException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "UpdateSponsoredBrandsAdGroupsBetaResponseContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "$ref": "#/components/schemas/BulkAdGroupOperationResponse"
          }
        }
      },
      "AssociateSponsoredBrandsOptimizationRulesRequestContent": {
        "type": "object",
        "properties": {
          "optimizationRuleAssociations": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleToEntityMapping"
            }
          }
        },
        "required": [
          "optimizationRuleAssociations"
        ]
      },
      "UpdateSponsoredBrandsOptimizationRulesResponseContent": {
        "type": "object",
        "properties": {
          "optimizationRules": {
            "$ref": "#/components/schemas/BulkUpdateOptimizationRuleOperationResponse"
          }
        },
        "required": [
          "optimizationRules"
        ]
      },
      "CreativeRecommendationsRequest": {
        "description": "Request structure of creative recommendations API.",
        "type": "object",
        "required": [
          "asins",
          "requiredRecommendations",
          "adFormat"
        ],
        "properties": {
          "asins": {
            "minItems": 1,
            "maxItems": 3,
            "description": "An array of ASINs associated with the creative. Note, do not pass an empty array, this results in an error.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "adFormat": {
            "description": "Ad format of the creative.",
            "type": "string",
            "enum": [
              "SPONSORED_BRANDS_VIDEO"
            ]
          },
          "requiredRecommendations": {
            "minItems": 1,
            "maxItems": 2,
            "description": "Required recommendations details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequiredRecommendations"
            }
          }
        }
      },
      "SBInsightsAdFormat": {
        "description": "Type of Ad format.",
        "type": "string",
        "enum": [
          "PRODUCT_COLLECTION",
          "STORE_SPOTLIGHT",
          "VIDEO",
          "BRAND_VIDEO"
        ]
      },
      "BudgetChangeType": {
        "description": "The value by which to update the budget of the budget rule.",
        "type": "string",
        "enum": [
          "PERCENT"
        ]
      },
      "OptimizationRuleIdFilter": {
        "description": "Filter optimization rules by the list of optimization rule ids.",
        "type": "object",
        "properties": {
          "include": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "description": "Entity object identifier.",
              "type": "string"
            }
          }
        }
      },
      "ProductLocation": {
        "description": "The product location of the campaign.\n- SOLD_ON_AMAZON - For products sold on Amazon websites.\n- NOT_SOLD_ON_AMAZON - For products not sold on Amazon websites.\n- SOLD_ON_DTC - Deprecated (For products sold on DTC websites).",
        "type": "string",
        "enum": [
          "SOLD_ON_AMAZON",
          "NOT_SOLD_ON_AMAZON",
          "SOLD_ON_DTC"
        ]
      },
      "SBTargetingGenre": {
        "type": "object",
        "properties": {
          "genreRefinementId": {
            "description": "Id of Genre. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Genre Refinement IDs.",
            "type": "string"
          },
          "name": {
            "description": "Name of Genre.",
            "type": "string"
          },
          "translatedName": {
            "description": "Translated name of Genre based off locale sent in request.",
            "type": "string"
          }
        },
        "required": [
          "genreRefinementId"
        ]
      },
      "ConflictStateExceptionResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ConflictStateErrorCode"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "CreativeRecommendationsNotFoundError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Not found error code.",
            "type": "string",
            "enum": [
              "NOT_FOUND"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "UpdateSponsoredBrandsAdGroupsResponseContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "$ref": "#/components/schemas/BulkAdGroupOperationResponse"
          }
        }
      },
      "GetSPBudgetRulesForAdvertiserResponse": {
        "type": "object",
        "properties": {
          "budgetRulesForAdvertiserResponse": {
            "minItems": 0,
            "maxItems": 30,
            "description": "A list of rules created by the advertiser.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SPBudgetRule"
            }
          },
          "nextToken": {
            "description": "To retrieve the next page of results, call the same operation and specify this token in the request. If the `nextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "CreativeRecommendationsInternalServerError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Internal error code.",
            "type": "string",
            "enum": [
              "INTERNAL_ERROR"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "AdMutationError": {
        "type": "object",
        "properties": {
          "errorType": {
            "description": "The type of the error.",
            "type": "string"
          },
          "errorValue": {
            "$ref": "#/components/schemas/AdMutationErrorSelector"
          }
        },
        "required": [
          "errorType",
          "errorValue"
        ]
      },
      "SBTargetingUnauthorizedExceptionResponseContent": {
        "description": "Returns information about an UnauthorizedException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "PerformanceMetricForSB": {
        "description": "The advertising performance metric.",
        "type": "string",
        "enum": [
          "IS",
          "NTB",
          "ROAS"
        ]
      },
      "LandingPageInvalidArgumentErrorCode": {
        "type": "string",
        "enum": [
          "INVALID_ARGUMENT"
        ]
      },
      "SBInsightsInternalServerExceptionResponseContent": {
        "description": "Returns information about an InternalServerException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "BudgetRecommendationError": {
        "description": "Error that occurred when generating budget recommendations.",
        "type": "object",
        "properties": {
          "code": {
            "description": "A human-readable description of the enumerated response code in the `code` field.",
            "type": "string"
          },
          "campaignId": {
            "description": "The identifier of a campaign.",
            "type": "string"
          },
          "index": {
            "description": "Correlate the recommendation to the campaign index in the request. Zero-based.",
            "type": "number"
          },
          "details": {
            "description": "An enumerated response code.",
            "type": "string"
          }
        },
        "required": [
          "campaignId",
          "code",
          "details",
          "index"
        ]
      },
      "DeleteSponsoredBrandsAdsBetaResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "RecurrenceType": {
        "description": "depicts the type of recurrence",
        "type": "string",
        "enum": [
          "DAILY",
          "WEEKLY"
        ]
      },
      "BudgetUsagePortfolioBatchError": {
        "type": "object",
        "properties": {
          "portfolioId": {
            "description": "ID of requested resource",
            "type": "string"
          },
          "code": {
            "description": "An enumerated error code for machine use.",
            "type": "string"
          },
          "index": {
            "description": "An index to maintain order of the portfolioIds",
            "type": "number"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        }
      },
      "BudgetUsagePortfolioRequest": {
        "type": "object",
        "properties": {
          "portfolioIds": {
            "minItems": 1,
            "maxItems": 100,
            "description": "A list of portfolio IDs.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateSponsoredBrandsVideoAdsRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateVideoAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "SBInsightsKeywordAlertType": {
        "description": "Keyword alert insights associated with the selected keyword targets and bids.\nLOW_KEYWORD_TRAFFIC is provided if the keyword has very low traffic and is available in all marketplaces.\nLOW_BID is provided if the selected bid is low compared to the historical bids for this keyword\nand is only available in the following marketplaces: US, CA, MX, BR, UK, DE, FR, ES, IT, IN, AE, NL, SE, JP, AU, SG.",
        "type": "string",
        "enum": [
          "LOW_KEYWORD_TRAFFIC",
          "LOW_BID"
        ]
      },
      "SBTargetingGetTargetableASINCountsResponseContent": {
        "description": "Response object for /sb/targets/products/count to get number of targetable asins for refinements provided by the user",
        "type": "object",
        "properties": {
          "asinCounts": {
            "$ref": "#/components/schemas/SBTargetingIntegerRange"
          }
        }
      },
      "BudgetRuleResponse": {
        "type": "object",
        "properties": {
          "code": {
            "description": "An enumerated success or error code for machine use.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the error, if unsuccessful",
            "type": "string"
          },
          "ruleId": {
            "description": "The rule identifier.",
            "type": "string"
          },
          "associatedCampaignIds": {
            "type": "array",
            "items": {
              "description": "The campaign identifier for which rule based budget may get updated",
              "type": "string"
            }
          }
        }
      },
      "ModerationResultsResponse": {
        "type": "object",
        "properties": {
          "moderationResults": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModerationResult"
            }
          },
          "nextToken": {
            "$ref": "#/components/schemas/NextToken"
          }
        }
      },
      "GetBudgetRecommendationsRequestContent": {
        "type": "object",
        "properties": {
          "campaignIds": {
            "minItems": 1,
            "maxItems": 100,
            "description": "List of CampaignIds",
            "type": "array",
            "items": {
              "description": "The identifier of a campaign.",
              "type": "string"
            }
          }
        },
        "required": [
          "campaignIds"
        ]
      },
      "BudgetUsageCampaignRequest": {
        "type": "object",
        "properties": {
          "campaignIds": {
            "minItems": 1,
            "maxItems": 100,
            "description": "A list of campaign IDs",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateProductCollectionCreativeRequestContent": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/ProductCollectionCreative"
          }
        },
        "required": [
          "adId",
          "creative"
        ]
      },
      "PerformanceMeasureCondition": {
        "type": "object",
        "required": [
          "comparisonOperator",
          "metricName",
          "threshold"
        ],
        "properties": {
          "metricName": {
            "$ref": "#/components/schemas/PerformanceMetric"
          },
          "comparisonOperator": {
            "$ref": "#/components/schemas/ComparisonOperator"
          },
          "threshold": {
            "format": "double",
            "description": "The performance threshold value.",
            "type": "number"
          }
        }
      },
      "ModerationResultsAccessDeniedError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Access denied error code.",
            "type": "string",
            "enum": [
              "ACCESS_DENIED"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "VideoComponentResponse": {
        "description": "Pre moderation result for a video component",
        "type": "object",
        "properties": {
          "preModerationStatus": {
            "description": "The pre moderation status of the component.",
            "type": "string",
            "enum": [
              "REJECTED",
              "APPROVED",
              "FAILED",
              "RETRYABLE_FAILURE"
            ]
          },
          "componentType": {
            "description": "Type of the video component.",
            "type": "string",
            "enum": [
              "SPONSORED_BRANDS_VIDEO",
              "OTHER_VIDEO"
            ]
          },
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "policyViolations": {
            "description": "A list of policy violations for the component that were detected during pre moderation. Note that this field is present in the response only when preModerationStatus is set to REJECTED.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VideoPolicyViolation"
            }
          },
          "id": {
            "description": "Id of the component. This is the same id sent as part of the request. This can be used to uniquely identify the component.",
            "type": "string"
          },
          "url": {
            "description": "Publicly accessible url of the video that got pre moderated.",
            "type": "string"
          }
        }
      },
      "Subpage": {
        "type": "object",
        "properties": {
          "pageTitle": {
            "type": "string"
          },
          "asin": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "RecommendedHeadline": {
        "description": "Recommended Headline in response object. Recommended headline will be locale specific, i.e. for an asin input in ES, Recommended headline will be in ES.",
        "type": "object",
        "properties": {
          "headlineId": {
            "description": "Unique Id of Recommended headline.",
            "type": "string",
            "example": "e991e32c-0136-427a-843b-ff04162f2f91"
          },
          "headline": {
            "description": "String that contains Recommended headline.",
            "type": "string",
            "maxLength": 50,
            "example": "This is a Recommended headline."
          }
        }
      },
      "SBTargetingRatingRange": {
        "description": "Rating range is restricted to integers between 0 and 5, inclusive. Min must be less than or equal to max. We use this to retrieve the number of targetable ASINs that falls within this rating range.",
        "type": "object",
        "properties": {
          "min": {
            "maximum": 5,
            "type": "integer",
            "minimum": 0
          },
          "max": {
            "maximum": 5,
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "ImageEvidence": {
        "description": "Structure of a image evidence",
        "type": "object",
        "properties": {
          "topLeftY": {
            "description": "The top left Y-coordinate of the content that violates the specfied policy within the image.",
            "type": "integer"
          },
          "topLeftX": {
            "description": "The top left X-coordinate of the content that violates the specfied policy within the image.",
            "type": "integer"
          },
          "width": {
            "description": "The width of the content that violates the specfied policy within the image.",
            "type": "integer"
          },
          "height": {
            "description": "The height of the content that violates the specfied policy within the image.",
            "type": "integer"
          }
        }
      },
      "ListSponsoredBrandsAdsBetaResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ad"
            }
          },
          "totalResults": {
            "description": "The total number of entities.",
            "type": "number"
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          }
        }
      },
      "SBTargetingGetNegativeBrandsResponseContent": {
        "description": "Response object for /sb/negativeTargets/brands/recommendations containing list of brands for negative targeting.",
        "type": "object",
        "properties": {
          "brands": {
            "maxItems": 100,
            "description": "List of Brands.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBTargetingBrand"
            }
          },
          "nextToken": {
            "description": "Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the `NextToken` field is empty, there are no further results.",
            "type": "string"
          }
        }
      },
      "ImageComponent": {
        "description": "Image component which needs to be pre moderated. A publicly accessible imageUrl must be sent.",
        "type": "object",
        "required": [
          "componentType",
          "id",
          "url"
        ],
        "properties": {
          "componentType": {
            "description": "Type of the image component.",
            "type": "string",
            "enum": [
              "BRAND_LOGO",
              "CUSTOM_IMAGE",
              "OTHER_IMAGE"
            ]
          },
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "id": {
            "description": "Id of the component. The same will be returned as part of the response as well. This can be used to uniquely identify the component from the pre moderation response.",
            "type": "string"
          },
          "url": {
            "description": "Url of the image to be pre moderated. The url must be publicly accessible.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsProductCollectionAdsRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateProductCollectionAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "budgetIncreaseBy": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/BudgetChangeType"
          },
          "value": {
            "format": "double",
            "description": "The budget value.",
            "type": "number"
          }
        }
      },
      "ListSponsoredBrandsOptimizationRulesRequestContent": {
        "type": "object",
        "properties": {
          "entityFilter": {
            "$ref": "#/components/schemas/EntityFilter"
          },
          "maxResults": {
            "description": "Number of records to include in the paginated response. Defaults to max page size for given API.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "optimizationRuleIdFilter": {
            "$ref": "#/components/schemas/OptimizationRuleIdFilter"
          }
        }
      },
      "SPRuleType": {
        "description": "The type of budget rule. SCHEDULE: A budget rule based on a start and end date. PERFORMANCE: A budget rule based on advertising performance criteria.",
        "type": "string",
        "enum": [
          "SCHEDULE",
          "PERFORMANCE"
        ]
      },
      "CreativeRecommendationResultEntry": {
        "description": "Creative Recommendation Result.",
        "type": "object",
        "properties": {
          "creativeType": {
            "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.",
            "type": "string"
          },
          "creativeProperties": {
            "$ref": "#/components/schemas/CreativeRecommendationProperties"
          }
        }
      },
      "ListSponsoredBrandsAdsRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "stateFilter": {
            "$ref": "#/components/schemas/EntityStateFilter"
          },
          "maxResults": {
            "description": "Number of records to include in the paginated response. Defaults to max page size for given API.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "adIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "adGroupIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "nameFilter": {
            "$ref": "#/components/schemas/NameFilter"
          }
        }
      },
      "InvalidArgumentErrorResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/InvalidArgumentErrorCode"
          },
          "requestId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "requestId"
        ]
      },
      "CreateAssociatedBudgetRulesRequest": {
        "type": "object",
        "properties": {
          "budgetRuleIds": {
            "maxItems": 25,
            "description": "A list of budget rule identifiers.",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Bidding": {
        "type": "object",
        "properties": {
          "bidOptimization": {
            "description": "Whether to use automatic placement level bid optimization. If set to true, Amazon will automatically set the right placement adjustment and the bidAdjustmentsByPlacement field is ignored. If set to false, the bidAdjustmentsByPlacement field will be used to adjust bid on different placements.\nIf this field is changed from false to true, the bidAdjustmentsByPlacement field will be reset to null.",
            "type": "boolean"
          },
          "shopperCohortBidAdjustments": {
            "minItems": 0,
            "maxItems": 1,
            "description": "Shopper cohort based bid adjustments.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopperCohortBidAdjustment"
            }
          },
          "bidAdjustmentsByPlacement": {
            "minItems": 0,
            "maxItems": 3,
            "description": "Placement level bid adjustment. Note that this field can only be set when 'bidOptimization' is set to false.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BidAdjustmentByPlacement"
            }
          }
        }
      },
      "ModerationResultsThrottlingError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Throttled error code.",
            "type": "string",
            "enum": [
              "THROTTLED"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "ListSponsoredBrandsCampaignsBetaResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Campaign"
            }
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "totalCount": {
            "description": "The total number of entities.",
            "type": "number"
          }
        }
      },
      "BulkCampaignOperationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignMutationSuccessResponseItem"
            }
          },
          "error": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignMutationFailureResponseItem"
            }
          }
        }
      },
      "SBInsightsKeywordInsight": {
        "description": "Insights for keywords selected for targeting.",
        "type": "object",
        "properties": {
          "alerts": {
            "minItems": 0,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBInsightsKeywordAlertType"
            }
          },
          "searchTermImpressionShare": {
            "format": "double",
            "description": "The account-level ad-attributed impression share for the search-term / keyword.\nProvides percentage share of all ad impressions the advertiser has for the keyword in the last 7 days.\nThis metric helps advertisers identify potential opportunities based on their share of relevant keywords.\nThis information is only available for keywords the advertiser targeted with ad impressions.\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP.",
            "maximum": 100,
            "type": "number",
            "minimum": 0
          },
          "matchType": {
            "$ref": "#/components/schemas/SBInsightsMatchType"
          },
          "adGroupIndex": {
            "description": "Correlates the ad group to the ad group array index specified in the request. Zero-based.",
            "type": "integer"
          },
          "searchTermImpressionRank": {
            "description": "The account-level ad-attributed impression rank for the search-term / keyword.\nProvides the [1:N] place the advertiser ranks among all advertisers for the keyword by ad impressions in a marketplace in the last 7 days.\nIt tells an advertiser how many advertisers had higher share of ad impressions.\nThis information is only available for keywords the advertiser targeted with ad impressions.\nOnly available in the following marketplaces: US, CA, MX, UK, DE, FR, ES, IT, IN, JP.",
            "type": "integer"
          },
          "bid": {
            "format": "double",
            "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account. For more information, see [supported features](https://advertising.amazon.com/API/docs/v2/guides/supported_features).",
            "type": "number"
          },
          "keywordIndex": {
            "description": "Correlates the keyword to the keyword array index specified in the request. Zero-based.",
            "type": "integer"
          },
          "keywordText": {
            "description": "The keyword text. Maximum of 10 words.",
            "type": "string"
          }
        }
      },
      "UnauthorizedErrorCode": {
        "type": "string",
        "enum": [
          "UNAUTHORIZED"
        ]
      },
      "ModerationResultsBadRequestError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Bad request error code.",
            "type": "string",
            "enum": [
              "BAD_REQUEST"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "CreativeRecommendationByIdResponseContent": {
        "description": "Creative Recommendation by Id Response.",
        "type": "object",
        "properties": {
          "creativeType": {
            "description": "Supported are PRODUCT_COLLECTION, STORE_SPOTLIGHT, VIDEO, BRAND_VIDEO. More could be added in future.",
            "type": "string"
          },
          "creativeProperties": {
            "$ref": "#/components/schemas/CreativeRecommendationProperties"
          }
        }
      },
      "ViolatingAsinEvidence": {
        "type": "object",
        "properties": {
          "asin": {
            "description": "ASIN which has the ad policy violation.",
            "type": "string"
          }
        }
      },
      "SBTargetingIntegerRange": {
        "type": "object",
        "properties": {
          "min": {
            "type": "integer"
          },
          "max": {
            "type": "integer"
          }
        }
      },
      "SBCampaignBudgetRule": {
        "type": "object",
        "required": [
          "ruleId"
        ],
        "properties": {
          "ruleState": {
            "$ref": "#/components/schemas/state"
          },
          "lastUpdatedDate": {
            "format": "int64",
            "description": "Epoch time of budget rule update. Read-only.",
            "type": "number"
          },
          "createdDate": {
            "format": "int64",
            "description": "Epoch time of budget rule creation. Read-only.",
            "type": "number"
          },
          "ruleDetails": {
            "$ref": "#/components/schemas/SBBudgetRuleDetails"
          },
          "ruleId": {
            "description": "The budget rule identifier.",
            "type": "string"
          },
          "ruleStatus": {
            "description": "The budget rule evaluation status. Read-only.",
            "type": "string"
          }
        }
      },
      "Recurrence": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/RecurrenceType"
          },
          "daysOfWeek": {
            "description": "Object representing days of the week for weekly type rule. It is not required for daily recurrence type",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DayOfWeek"
            }
          },
          "intraDaySchedule": {
            "maxItems": 1,
            "description": "List of objects representing start and end time of desired intra-day budget rule window",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/timeOfDay"
            }
          }
        }
      },
      "CreateSponsoredBrandStoreSpotlightAdsBetaResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "UpdateSponsoredBrandsCampaignsBetaRequestContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateCampaign"
            }
          }
        },
        "required": [
          "campaigns"
        ]
      },
      "ViolatingVideoEvidence": {
        "type": "object",
        "properties": {
          "violatingVideoPosition": {
            "$ref": "#/components/schemas/VideoPosition"
          }
        }
      },
      "DateRangeTypeRuleDuration": {
        "description": "Object representing date range type rule duration.",
        "type": "object",
        "required": [
          "startDate"
        ],
        "properties": {
          "endDate": {
            "description": "The end date of the budget rule in YYYYMMDD format. The end date is inclusive. Required to be equal or greater than `startDate`.",
            "type": "string"
          },
          "startDate": {
            "description": "The start date of the budget rule in YYYYMMDD format. The start date is inclusive. Required to be greater than or equal to current date.",
            "type": "string"
          }
        }
      },
      "ListSponsoredBrandsAdsBetaRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "stateFilter": {
            "$ref": "#/components/schemas/EntityStateFilter"
          },
          "maxResults": {
            "description": "Number of records to include in the paginated response. Defaults to max page size for given API.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "adIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "adGroupIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "nameFilter": {
            "$ref": "#/components/schemas/NameFilter"
          }
        }
      },
      "CreateSponsoredBrandStoreSpotlightAdsBetaRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateStoreSpotlightAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "Creative": {
        "type": "object",
        "properties": {
          "brandLogoCrop": {
            "$ref": "#/components/schemas/BrandLogoCrop"
          },
          "brandName": {
            "minLength": 1,
            "type": "string",
            "maxLength": 30
          },
          "customImageAssetId": {
            "type": "string"
          },
          "consentToTranslate": {
            "description": "If set to true and the headline and/or video asset are not in the marketplace's default language, Amazon will attempt to translate them to the marketplace's default language. If Amazon is unable to translate them, the ad will be rejected by moderation. We only support translating headlines and videos from English to German, French, Italian, Spanish, Japanese, and Dutch. See developer notes for more information.",
            "type": "boolean"
          },
          "customImages": {
            "minItems": 1,
            "maxItems": 5,
            "uniqueItems": true,
            "description": "Requires minimum one custom image. You can add an optional collection of custom images that can be displayed on the ad as slideshow. Learn more about slideshow here https://advertising.amazon.com/resources/whats-new/slideshow-ads-creative-for-sponsored-brands/",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomImage"
            }
          },
          "customImageCrop": {
            "$ref": "#/components/schemas/CustomImageCrop"
          },
          "customImageUrl": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/CreativeType"
          },
          "originalVideoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "description": "The assetIds of the original videos submitted by the advertiser.\nIf 'consentToTranslate' is set to true and translation is SUCCESSFUL then `originalVideoAssetIds` will return the original video assetId whereas `videoAssetIds` will return translated video assetId. In all other cases, 'originalVideoAssetIds' and `videoAssetIds` both will return original video assetId.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "asins": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "brandLogoUrl": {
            "type": "string"
          },
          "subpages": {
            "minItems": 3,
            "maxItems": 3,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subpage"
            }
          },
          "creativePropertiesToOptimize": {
            "minItems": 0,
            "maxItems": 1,
            "description": "If this property is enabled, Sponsored Brands will dynamically optimize by enhancing or generating creative properties based on shopper search intent.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreativePropertyToOptimize"
            }
          },
          "originalHeadline": {
            "minLength": 1,
            "description": "The original headline submitted by the advertiser.",
            "type": "string",
            "maxLength": 50
          },
          "videoAssetIds": {
            "minItems": 1,
            "maxItems": 1,
            "description": "In SB API V4, `videoMediaIds` is replaced by `videoAssetIds`.\n`videoAssetIds` will only allow Asset Library identifiers for ad creation, but responses can include mediaIds for v1 campaigns and API V3 operations.\nAt a future state, existing mediaIds will be added to Asset library for use in SB campaigns.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "brandLogoAssetID": {
            "type": "string"
          },
          "headline": {
            "minLength": 1,
            "description": "The headline text. Maximum length of the string is 50 characters for all marketplaces other than Japan, which has a maximum length of 35 characters.",
            "type": "string",
            "maxLength": 50
          },
          "creativeStatus": {
            "$ref": "#/components/schemas/CreativeStatus"
          },
          "creativeVersion": {
            "type": "string",
            "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative."
          }
        }
      },
      "BudgetUsageCampaignResponse": {
        "type": "object",
        "properties": {
          "success": {
            "description": "List of budget usage percentages that were successfully pulled",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetUsageCampaign"
            }
          },
          "error": {
            "description": "List of budget usage percentages that failed to pull",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetUsageCampaignBatchError"
            }
          }
        }
      },
      "SBBudgetRuleDetails": {
        "type": "object",
        "properties": {
          "duration": {
            "$ref": "#/components/schemas/RuleDuration"
          },
          "recurrence": {
            "$ref": "#/components/schemas/Recurrence"
          },
          "ruleType": {
            "$ref": "#/components/schemas/SBRuleType"
          },
          "budgetIncreaseBy": {
            "$ref": "#/components/schemas/budgetIncreaseBy"
          },
          "name": {
            "description": "The budget rule name. Required to be unique within a campaign.",
            "type": "string",
            "maxLength": 355
          },
          "performanceMeasureCondition": {
            "$ref": "#/components/schemas/PerformanceMeasureConditionForSB"
          }
        }
      },
      "ViolatingVideoContent": {
        "type": "object",
        "properties": {
          "violatingVideoEvidences": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingVideoEvidence"
            }
          },
          "moderatedComponent": {
            "description": "Moderation component which marked the policy violation.",
            "type": "string"
          },
          "reviewedVideoUrl": {
            "description": "URL of the video which has the ad policy violation.",
            "type": "string"
          }
        }
      },
      "OptimizationRule": {
        "type": "object",
        "properties": {
          "optimizationRuleId": {
            "description": "The identifier of the optimization rule.",
            "type": "string"
          },
          "conditions": {
            "minItems": 1,
            "maxItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuleCondition"
            }
          }
        }
      },
      "CreateSponsoredBrandsBrandVideoAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "EntityFilter": {
        "description": "Filter optimization rules by entityId and entityType",
        "type": "object",
        "properties": {
          "entityType": {
            "description": "Enum: \"CAMPAIGN\"\n\nThe type of entity passed.",
            "type": "string"
          },
          "entityId": {
            "description": "Entity object identifier.",
            "type": "string"
          }
        }
      },
      "CreateVideoCreativeResponseContent": {
        "description": "Create creative response",
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creativeVersion": {
            "description": "The version identifier that helps you keep track of multiple versions of a submitted (non-draft) Sponsored Brands creative.",
            "type": "string"
          }
        }
      },
      "CampaignServingStatus": {
        "description": "`Notice: the servingStatus enums have not been finalized yet.`\nThe campaign serving status determined by system.\n- ADVERTISER_STATUS_ENABLED - Advertiser's status is enabled\n- ADVERTISER_POLICING_PENDING_REVIEW - Avertiser is pending review because of policing reason\n- ADVERTISER_POLICING_SUSPENDED - Advertiser's status is suspended because of policing reason\n- ADVERTISER_PAUSED - Advertiser's status is paused\n- ADVERTISER_ARCHIVED - Advertiser's status is archived\n- ADVERTISER_PAYMENT_FAILURE - Advertiser's internal status is suspended\n- ADVERTISER_ACCOUNT_OUT_OF_BUDGET - Advertiser is out of budget for all Sponsored Ads campaigns\n- ADVERTISER_OUT_OF_PREPAY_BALANCE - Advertiser is out of prepay balance for all Sponsored Ads campaigns\n- ADVERTISER_EXCEED_SPENDS_LIMIT - Advertiser spends over the daily limit\n\n- CAMPAIGN_STATUS_ENABLED - Campaign's status is enabled.\n- CAMPAIGN_PAUSED - Campaign's status is paused.\n- CAMPAIGN_ARCHIVED - Campaign's status is archived.\n- CAMPAIGN_INCOMPLETE - Campaign does not contain any ads or targeting clauses.\n- CAMPAIGN_OUT_OF_BUDGET - Campaign is out of budget.\n\n- PORTFOLIO_STATUS_ENABLED - Portfolio's status is enabled\n- PORTFOLIO_PAUSED - Portfolio's status is paused\n- PORTFOLIO_ARCHIVED - Portfolio's status is archived\n- PORTFOLIO_OUT_OF_BUDGET - Portfolio is out of budget\n- PORTFOLIO_PENDING_START_DATE - Portfolio's start date is in the future\n- PORTFOLIO_ENDED - Portfolio's end date is in the past.\n\n- INELIGIBLE - Ad Offer is ineligible\n- ELIGIBLE - Ad Offer is eligible\n- ENDED - Campaign's end date is in the past.\n- PENDING_REVIEW - Campaign is pending review.\n- PENDING_START_DATE - Campaign's start date is in the future.\n- REJECTED - Campaign is rejected by moderation process.\n- UNKNOWN - Serving status is unknown. Please contact us for support.",
        "type": "string",
        "enum": [
          "ADVERTISER_STATUS_ENABLED",
          "ADVERTISER_POLICING_PENDING_REVIEW",
          "ADVERTISER_POLICING_SUSPENDED",
          "ADVERTISER_PAUSED",
          "ADVERTISER_ARCHIVED",
          "ADVERTISER_PAYMENT_FAILURE",
          "ADVERTISER_ACCOUNT_OUT_OF_BUDGET",
          "ADVERTISER_OUT_OF_PREPAY_BALANCE",
          "ADVERTISER_EXCEED_SPENDS_LIMIT",
          "CAMPAIGN_STATUS_ENABLED",
          "CAMPAIGN_PAUSED",
          "CAMPAIGN_ARCHIVED",
          "CAMPAIGN_INCOMPLETE",
          "CAMPAIGN_OUT_OF_BUDGET",
          "PORTFOLIO_STATUS_ENABLED",
          "PORTFOLIO_PAUSED",
          "PORTFOLIO_ARCHIVED",
          "PORTFOLIO_OUT_OF_BUDGET",
          "PORTFOLIO_PENDING_START_DATE",
          "PORTFOLIO_ENDED",
          "INELIGIBLE",
          "ELIGIBLE",
          "ENDED",
          "PENDING_REVIEW",
          "PENDING_START_DATE",
          "REJECTED",
          "UNKNOWN"
        ]
      },
      "ModerationResultsRequest": {
        "type": "object",
        "required": [
          "id",
          "idType",
          "adProgramType",
          "maxResults"
        ],
        "properties": {
          "versionIdFilter": {
            "minItems": 0,
            "maxItems": 200,
            "uniqueItems": true,
            "description": "Filter by specific version id of the ad. The API will return the ad's all versions moderation status if this field is empty.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VersionId"
            }
          },
          "idType": {
            "$ref": "#/components/schemas/IdType"
          },
          "adProgramType": {
            "$ref": "#/components/schemas/ModerationResultsAdProgramType"
          },
          "nextToken": {
            "$ref": "#/components/schemas/NextToken"
          },
          "maxResults": {
            "format": "int32",
            "description": "Sets a limit on the number of results returned by an operation.",
            "maximum": 10,
            "type": "integer",
            "minimum": 1
          },
          "moderationStatusFilter": {
            "minItems": 0,
            "maxItems": 20,
            "uniqueItems": true,
            "description": "Filter by specific moderation status.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModerationStatus"
            }
          },
          "id": {
            "$ref": "#/components/schemas/Id"
          }
        }
      },
      "SBRuleDuration": {
        "type": "object",
        "required": [
          "dateRangeTypeRuleDuration"
        ],
        "properties": {
          "dateRangeTypeRuleDuration": {
            "$ref": "#/components/schemas/DateRangeTypeRuleDuration"
          }
        }
      },
      "CreateVideoCreativeRequestContent": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "The unique ID of a Sponsored Brands ad.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/VideoCreative"
          }
        },
        "required": [
          "adId",
          "creative"
        ]
      },
      "ImagePolicyViolation": {
        "description": "Structure of policy violation for a image component",
        "type": "object",
        "properties": {
          "policyDescription": {
            "description": "A human-readable description of the policy.",
            "type": "string"
          },
          "imageEvidences": {
            "description": "List of evidences for the policy violations detected on the image component.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImageEvidence"
            }
          },
          "name": {
            "description": "A policy violation code.",
            "type": "string"
          },
          "type": {
            "description": "Type of policy violation.",
            "type": "string",
            "enum": [
              "WARNING",
              "REJECTED"
            ]
          },
          "policyLinkUrl": {
            "description": "Address of the policy documentation. Follow the link to learn more about the specified policy.",
            "type": "string",
            "example": "https://advertising.amazon.com/resources/ad-policy/en/creative-acceptance#alcohol"
          },
          "textEvidences": {
            "description": "Policy violation on an image can be detected on the ocr detected text on the image as well. This list of text evidences will have the policy violations detected on the text on top of the image.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TextEvidence"
            }
          }
        }
      },
      "GoalTypeFilter": {
        "description": "Filter entities by goal type.",
        "type": "object",
        "properties": {
          "include": {
            "minItems": 0,
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ImageResult": {
        "type": "object",
        "properties": {
          "imageAltText": {
            "description": "Alt text for this image",
            "type": "string"
          },
          "imageUrl": {
            "type": "string"
          }
        }
      },
      "GetSBBudgetRuleResponse": {
        "type": "object",
        "properties": {
          "budgetRule": {
            "$ref": "#/components/schemas/SBBudgetRule"
          }
        }
      },
      "CreateSponsoredBrandsOptimizationRulesRequestContent": {
        "type": "object",
        "properties": {
          "optimizationRules": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateOptimizationRule"
            }
          }
        },
        "required": [
          "optimizationRules"
        ]
      },
      "AssociatedBudgetRuleResponse": {
        "type": "object",
        "properties": {
          "code": {
            "description": "An enumerated success or error code for machine use.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the error, if unsuccessful",
            "type": "string"
          },
          "ruleId": {
            "description": "The budget rule identifier.",
            "type": "string"
          }
        }
      },
      "BulkUpdateOptimizationRuleOperationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateOptimizationRuleSuccessResponseItem"
            }
          },
          "error": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleFailureResponseItem"
            }
          }
        }
      },
      "DeleteSponsoredBrandsCampaignsRequestContent": {
        "type": "object",
        "properties": {
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          }
        }
      },
      "ComparisonOperator": {
        "description": "The comparison operator.",
        "type": "string",
        "enum": [
          "GREATER_THAN",
          "LESS_THAN",
          "LESS_THAN_OR_EQUAL_TO",
          "GREATER_THAN_OR_EQUAL_TO"
        ]
      },
      "TextRecommendation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique ID for generated recommendation.",
            "type": "string"
          },
          "value": {
            "description": "Recommendation value.",
            "type": "string"
          }
        }
      },
      "SBKeywordRecommendationThemeRequest": {
        "type": "object",
        "properties": {
          "themes": {
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBKeywordRecommendationThemes"
            }
          },
          "maxNumSuggestions": {
            "format": "int32",
            "description": "Maximum number of suggestions to return for each theme. Max value is 1000. If not provided, default to 100.",
            "maximum": 1000,
            "type": "integer",
            "minimum": 1
          },
          "landingPages": {
            "minItems": 1,
            "maxItems": 100,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBKeywordRecommendationLandingPage"
            }
          }
        },
        "example": {
          "themes": [
            {
              "themeType": "KEYWORDS_RELATED_TO_YOUR_BRAND"
            },
            {
              "themeType": "KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES"
            }
          ],
          "landingPage": [
            {
              "url": "www.amazon.com/sample-landing-page-1"
            },
            {
              "url": "www.amazon.com/sample-landing-page-2"
            }
          ],
          "maxNumSuggestions": "100"
        }
      },
      "CreateSponsoredBrandsBrandVideoAdsRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateBrandVideoAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "Source": {
        "description": "Source of Creative Recommendation\nValid Sources are LANDING_PAGE_URL of store with landing page url value,\nand POST_ID of post organic content obtained from POSTS Advertising API, more could be added in future",
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "ViolatingImageContent": {
        "type": "object",
        "properties": {
          "violatingImageEvidences": {
            "minItems": 0,
            "maxItems": 200,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ViolatingImageEvidence"
            }
          },
          "moderatedComponent": {
            "description": "Moderation component which marked the policy violation.",
            "type": "string"
          },
          "reviewedImageUrl": {
            "description": "URL of the image which has the ad policy violation.",
            "type": "string"
          }
        }
      },
      "CreateSBBudgetRulesRequest": {
        "type": "object",
        "properties": {
          "budgetRulesDetails": {
            "maxItems": 25,
            "description": "A list of budget rule details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBBudgetRuleDetails"
            }
          }
        }
      },
      "BudgetUsageCampaign": {
        "type": "object",
        "properties": {
          "budgetUsagePercent": {
            "description": "Budget usage percentage (spend / available budget) for the given budget policy.",
            "type": "number"
          },
          "campaignId": {
            "description": "ID of requested resource",
            "type": "string"
          },
          "usageUpdatedTimestamp": {
            "format": "date-time",
            "description": "Last evaluation time for budget usage",
            "type": "string"
          },
          "index": {
            "description": "An index to maintain order of the campaignIds",
            "type": "number"
          },
          "budget": {
            "description": "Budget amount of resource requested",
            "type": "number"
          }
        }
      },
      "UnauthorizedErrorResponseContent": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/UnauthorizedErrorCode"
          },
          "requestId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "requestId"
        ]
      },
      "AdServingStatus": {
        "description": "The ad serving status determined by system.\n- AD_STATUS_LIVE - Ad's status is enabled.\n- AD_POLICING_PENDING_REVIEW - Ad is pending review because of policing reason.\n- AD_POLICING_SUSPENDED - Ad is suspended review because of policing reason.\n- AD_PAUSED - Ad's status is paused.\n- AD_ARCHIVED - Ad's status is archived.\n\n- AD_GROUP_STATUS_ENABLED - Ad group's (parent) status is enabled.\n- AD_GROUP_PAUSED - Ad group's (parent) status is paused.\n- AD_GROUP_ARCHIVED - Ad group's (parent) status is archived.\n- AD_GROUP_INCOMPLETE - Ad group (parent) does not contain any ads or targeting clauses.\n- AD_GROUP_POLICING_PENDING_REVIEW - Ad group is pending review because of policing reason\n- AD_GROUP_POLICING_CREATIVE_REJECTED - Ad group is rejected due to creative because of policing reason\n- AD_GROUP_LOW_BID - Ad group is less than the minimum allowed bid in its marketplace\n\n- ADVERTISER_STATUS_ENABLED - Advertiser's status is enabled\n- ADVERTISER_POLICING_PENDING_REVIEW - Avertiser is pending review because of policing reason\n- ADVERTISER_POLICING_SUSPENDED - Advertiser's status is suspended because of policing reason\n- ADVERTISER_PAUSED - Advertiser's status is paused\n- ADVERTISER_ARCHIVED - Advertiser's status is archived\n- ADVERTISER_PAYMENT_FAILURE - Advertiser's internal status is suspended\n- ADVERTISER_ACCOUNT_OUT_OF_BUDGET - Advertiser is out of budget for all Sponsored Ads campaigns\n- ADVERTISER_OUT_OF_PREPAY_BALANCE - Advertiser is out of prepay balance for all Sponsored Ads campaigns\n- ADVERTISER_EXCEED_SPENDS_LIMIT - Advertiser spends over the daily limit\n\n- CAMPAIGN_STATUS_ENABLED - Campaign's (parent) status is enabled.\n- CAMPAIGN_PAUSED - Campaign's (parent) status is paused.\n- CAMPAIGN_ARCHIVED - Campaign's (parent) status is archived.\n- CAMPAIGN_INCOMPLETE - Campaign (parent) does not contain any ads or targeting clauses.\n- CAMPAIGN_OUT_OF_BUDGET - Campaign (parent) is out of budget.\n\n- PORTFOLIO_STATUS_ENABLED - Portfolio's (parent) status is enabled\n- PORTFOLIO_PAUSED - Portfolio's (parent) status is paused\n- PORTFOLIO_ARCHIVED - Portfolio's (parent) status is archived\n- PORTFOLIO_OUT_OF_BUDGET - Portfolio (parent) is out of budget\n- PORTFOLIO_PENDING_START_DATE - Portfolio's (parent) start date is in the future\n- PORTFOLIO_ENDED - Portfolio's (parent) end date is in the past.\n\n- INELIGIBLE - Ad is ineligible.\n- ELIGIBLE  - Ad is eligible.\n- ENDED - Campaign's (parent) end date is in the past.\n- PENDING_REVIEW - Campaign (parent) is pending review.\n- PENDING_START_DATE - Campaign's (parent) start date is in the future.\n- REJECTED - Campaign (parent) is rejected by moderation process.\n- UNKNOWN - Serving status is unknown. Please contact us for support.",
        "type": "string",
        "enum": [
          "AD_STATUS_LIVE",
          "AD_POLICING_PENDING_REVIEW",
          "AD_POLICING_SUSPENDED",
          "AD_PAUSED",
          "AD_ARCHIVED",
          "AD_GROUP_STATUS_ENABLED",
          "AD_GROUP_PAUSED",
          "AD_GROUP_ARCHIVED",
          "AD_GROUP_INCOMPLETE",
          "AD_GROUP_POLICING_PENDING_REVIEW",
          "AD_GROUP_POLICING_CREATIVE_REJECTED",
          "AD_GROUP_LOW_BID",
          "ADVERTISER_STATUS_ENABLED",
          "ADVERTISER_POLICING_PENDING_REVIEW",
          "ADVERTISER_POLICING_SUSPENDED",
          "ADVERTISER_PAUSED",
          "ADVERTISER_ARCHIVED",
          "ADVERTISER_PAYMENT_FAILURE",
          "ADVERTISER_ACCOUNT_OUT_OF_BUDGET",
          "ADVERTISER_OUT_OF_PREPAY_BALANCE",
          "ADVERTISER_EXCEED_SPENDS_LIMIT",
          "CAMPAIGN_STATUS_ENABLED",
          "CAMPAIGN_PAUSED",
          "CAMPAIGN_ARCHIVED",
          "CAMPAIGN_INCOMPLETE",
          "CAMPAIGN_OUT_OF_BUDGET",
          "PORTFOLIO_STATUS_ENABLED",
          "PORTFOLIO_PAUSED",
          "PORTFOLIO_ARCHIVED",
          "PORTFOLIO_OUT_OF_BUDGET",
          "PORTFOLIO_PENDING_START_DATE",
          "PORTFOLIO_ENDED",
          "INELIGIBLE",
          "ELIGIBLE",
          "ENDED",
          "PENDING_REVIEW",
          "PENDING_START_DATE",
          "REJECTED",
          "UNKNOWN"
        ]
      },
      "RangeError": {
        "description": "Errors related to range constraints violations.",
        "type": "object",
        "properties": {
          "reason": {
            "type": "string"
          },
          "allowed": {
            "minItems": 0,
            "maxItems": 100,
            "description": "Allowed values.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cause": {
            "$ref": "#/components/schemas/ErrorCause"
          },
          "upperLimit": {
            "description": "Optional upper limit.",
            "type": "string"
          },
          "lowerLimit": {
            "description": "Optional lower limit.",
            "type": "string"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "cause",
          "message",
          "reason"
        ]
      },
      "SBTargetingBadRequestExceptionResponseContent": {
        "description": "Returns information about a BadRequestException.",
        "type": "object",
        "properties": {
          "code": {
            "description": "The HTTP status code of the response.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "SPCampaignBudgetRule": {
        "type": "object",
        "required": [
          "ruleId"
        ],
        "properties": {
          "ruleState": {
            "$ref": "#/components/schemas/state"
          },
          "lastUpdatedDate": {
            "format": "int64",
            "description": "Epoch time of budget rule update. Read-only.",
            "type": "number"
          },
          "createdDate": {
            "format": "int64",
            "description": "Epoch time of budget rule creation. Read-only.",
            "type": "number"
          },
          "ruleDetails": {
            "$ref": "#/components/schemas/SPBudgetRuleDetails"
          },
          "ruleId": {
            "description": "The budget rule identifier.",
            "type": "string"
          },
          "ruleStatus": {
            "description": "The budget rule evaluation status. Read-only.",
            "type": "string"
          }
        }
      },
      "CreateSponsoredBrandsVideoAdsResponseContent": {
        "type": "object",
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        }
      },
      "CreateSponsoredBrandsBrandVideoAdsBetaRequestContent": {
        "type": "object",
        "properties": {
          "ads": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateBrandVideoAd"
            }
          }
        },
        "required": [
          "ads"
        ]
      },
      "BrandLogoCrop": {
        "description": "The crop to apply to the selected Brand logo. A Brand logo must have minimum dimensions of 400x400. If a brandLogoAssetID is supplied but a crop is not, the crop will be defaulted to the whole image.",
        "type": "object",
        "properties": {
          "top": {
            "type": "number"
          },
          "left": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          }
        }
      },
      "CreateOptimizationRuleSuccessResponseItem": {
        "type": "object",
        "properties": {
          "optimizationRule": {
            "$ref": "#/components/schemas/OptimizationRule"
          },
          "entityType": {
            "type": "string"
          },
          "index": {
            "description": "The index of the entityId in the array from the request body.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          },
          "entityId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "optimizationRuleId": {
            "description": "The identifier of the optimization rule.",
            "type": "string"
          }
        },
        "required": [
          "entityId",
          "entityType",
          "index",
          "optimizationRule",
          "optimizationRuleId"
        ]
      },
      "AssociateSponsoredBrandsOptimizationRulesResponseContent": {
        "type": "object",
        "properties": {
          "optimizationRuleAssociations": {
            "$ref": "#/components/schemas/BulkAssociationsOptimizationRuleResponse"
          }
        },
        "required": [
          "optimizationRuleAssociations"
        ]
      },
      "UpdateSBBudgetRulesRequest": {
        "type": "object",
        "properties": {
          "budgetRulesDetails": {
            "maxItems": 25,
            "description": "A list of budget rule details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBBudgetRule"
            }
          }
        }
      },
      "CreateAssociatedBudgetRulesResponse": {
        "type": "object",
        "properties": {
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssociatedBudgetRuleResponse"
            }
          }
        }
      },
      "BudgetRuleError": {
        "description": "The Error Response Object.",
        "type": "object",
        "properties": {
          "code": {
            "description": "An enumerated error code for machine use.",
            "type": "string"
          },
          "details": {
            "description": "A human-readable description of the response.",
            "type": "string"
          }
        }
      },
      "ListThemesRequestContent": {
        "type": "object",
        "properties": {
          "maxResults": {
            "description": "Optional. The max limit for the number of themes it can return.",
            "maximum": 100,
            "type": "number",
            "minimum": 1
          },
          "nextToken": {
            "description": "Optional. The pagination token to retrieve the next page of results.",
            "type": "string"
          }
        }
      },
      "BillingError": {
        "description": "Errors related to billing.",
        "type": "object",
        "properties": {
          "reason": {
            "description": "Exact error reason.",
            "type": "string"
          },
          "cause": {
            "$ref": "#/components/schemas/ErrorCause"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "cause",
          "message",
          "reason"
        ]
      },
      "CreateExtendedProductCollectionAd": {
        "type": "object",
        "properties": {
          "landingPage": {
            "$ref": "#/components/schemas/LandingPage"
          },
          "name": {
            "minLength": 1,
            "description": "The name of the ad.",
            "type": "string",
            "maxLength": 255
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          },
          "adGroupId": {
            "description": "The adGroup identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateExtendedProductCollectionCreative"
          }
        },
        "required": [
          "adGroupId",
          "creative",
          "landingPage",
          "name",
          "state"
        ]
      },
      "CreateSponsoredBrandsAdGroupsRequestContent": {
        "type": "object",
        "properties": {
          "adGroups": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateAdGroup"
            }
          }
        },
        "required": [
          "adGroups"
        ]
      },
      "UpdateSPBudgetRulesRequest": {
        "description": "Request object for updating budget rule for SP campaign",
        "type": "object",
        "properties": {
          "budgetRulesDetails": {
            "maxItems": 25,
            "description": "A list of budget rule details.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SPBudgetRule"
            }
          }
        }
      },
      "CreativeRecommendationsResponse": {
        "type": "object",
        "properties": {
          "primaryHeadlines": {
            "$ref": "#/components/schemas/PrimaryHeadlineRecommendationGroups"
          },
          "secondaryHeadlines": {
            "$ref": "#/components/schemas/SecondaryHeadlineRecommendationGroups"
          }
        }
      },
      "BulkAdOperationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdSuccessResponseItem"
            }
          },
          "error": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdFailureResponseItem"
            }
          }
        }
      },
      "SBTargetingGetTargetableASINCountsRequestContent": {
        "type": "object",
        "properties": {
          "ageRanges": {
            "maxItems": 100,
            "description": "List of Age Range Refinement Ids.",
            "type": "array",
            "items": {
              "description": "Id of Age Range. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Age Range Refinement IDs.",
              "type": "string"
            }
          },
          "brands": {
            "maxItems": 100,
            "description": "List of Brand Refinement Ids.",
            "type": "array",
            "items": {
              "description": "Id of brand. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Brand Refinement IDs.",
              "type": "string"
            }
          },
          "genres": {
            "maxItems": 100,
            "description": "List of Genre Refinement Ids.",
            "type": "array",
            "items": {
              "description": "Id of Genre. Use /sb/targets/categories/{categoryRefinementId}/refinements to retrieve Genre Refinement IDs.",
              "type": "string"
            }
          },
          "isPrimeShipping": {
            "description": "Indicates if products have prime shipping. Leave empty to include both prime shipping and non-prime shipping products.",
            "type": "boolean"
          },
          "ratingRange": {
            "$ref": "#/components/schemas/SBTargetingRatingRange"
          },
          "category": {
            "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.",
            "type": "string"
          },
          "priceRange": {
            "$ref": "#/components/schemas/SBTargetingPriceRange"
          }
        },
        "required": [
          "category"
        ]
      },
      "ListThemesResponseContent": {
        "type": "object",
        "properties": {
          "themes": {
            "minItems": 0,
            "maxItems": 100,
            "description": "List of themes",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Theme"
            }
          },
          "nextToken": {
            "description": "If nextToken is not null, it means there are more results.",
            "type": "string"
          },
          "totalCount": {
            "type": "number"
          }
        }
      },
      "TextPosition": {
        "type": "object",
        "properties": {
          "start": {
            "format": "int64",
            "description": "Zero-based index into the text in reviewedText where the text specified in violatingText starts.",
            "type": "integer"
          },
          "end": {
            "format": "int64",
            "description": "Zero-based index into the text in reviewedText where the text specified in violatingText ends.",
            "type": "integer"
          }
        }
      },
      "CampaignMutationError": {
        "type": "object",
        "properties": {
          "errorType": {
            "description": "The type of the error.",
            "type": "string"
          },
          "errorValue": {
            "$ref": "#/components/schemas/CampaignMutationErrorSelector"
          }
        },
        "required": [
          "errorType",
          "errorValue"
        ]
      },
      "AdSuccessResponseItem": {
        "type": "object",
        "properties": {
          "adId": {
            "description": "the Ad ID.",
            "type": "string"
          },
          "ad": {
            "$ref": "#/components/schemas/MultiAdGroupAd"
          },
          "index": {
            "description": "The index in the original list from the request.",
            "maximum": 10,
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "index"
        ]
      },
      "DisassociateAssociatedBudgetRuleResponse": {
        "type": "object"
      },
      "OptimizationRulesError": {
        "type": "object",
        "properties": {
          "code": {
            "description": "The type of the error.",
            "type": "string"
          },
          "message": {
            "description": "Human readable error message.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ]
      },
      "SDHeadlineRecommendationInternalServerException": {
        "type": "object",
        "properties": {
          "code": {
            "description": "InternalErrorCode.",
            "type": "string",
            "enum": [
              "INTERNAL_ERROR"
            ]
          },
          "details": {
            "description": "A human-readable description of the error response.",
            "type": "string"
          }
        }
      },
      "CampaignExtendedData": {
        "description": "CampaignExtendedData can only be retrieved via the list API. It won't be available in the response during update/create.",
        "type": "object",
        "properties": {
          "servingStatus": {
            "$ref": "#/components/schemas/CampaignServingStatus"
          },
          "lastUpdateDate": {
            "description": "Date of last update in epoch time.",
            "type": "number"
          },
          "servingStatusDetails": {
            "minItems": 0,
            "maxItems": 100,
            "description": "The serving status reasons of the Campaign.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "creationDate": {
            "description": "Creation date in epoch time.",
            "type": "number"
          }
        }
      },
      "SBTargetingCategory": {
        "description": "Category details.",
        "type": "object",
        "properties": {
          "asinCountRange": {
            "$ref": "#/components/schemas/SBTargetingIntegerRange"
          },
          "isTargetable": {
            "description": "If the category is targetable or not.",
            "type": "boolean"
          },
          "parentCategoryRefinementId": {
            "description": "The category refinement id of the parent category. Missing parentCategoryRefinementId signifies this is a root category.",
            "type": "string"
          },
          "estimatedReach": {
            "$ref": "#/components/schemas/SBTargetingEstimatedReachRange"
          },
          "name": {
            "description": "Name of category.",
            "type": "string"
          },
          "translatedName": {
            "description": "Translated name of the category.",
            "type": "string"
          },
          "categoryRefinementId": {
            "description": "The category refinement id. Please use /sb/targets/categories or /sb/recommendations/targets/category to retrieve category IDs.",
            "type": "string"
          }
        }
      },
      "SBCampaignPerformanceForecastsRequestContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingRequestCampaignObject"
            },
            "maxItems": 1,
            "minItems": 1
          }
        },
        "required": [
          "campaigns"
        ]
      },
      "SBCampaignPerformanceForecastsResponseContent": {
        "type": "object",
        "description": "Response object for /sb/forecasts containing a list of performance forecast for the campaign.",
        "properties": {
          "campaigns": {
            "$ref": "#/components/schemas/SBForecastingResponseCampaignObject"
          }
        }
      },
      "SBForecastingAccessDeniedExceptionResponseContent": {
        "type": "object",
        "description": "Returns information about an AccessDeniedException.",
        "properties": {
          "code": {
            "type": "string",
            "description": "The HTTP status code of the response."
          },
          "details": {
            "type": "string",
            "description": "A human-readable description of the response."
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "SBForecastingAdGroup": {
        "type": "object",
        "description": "The ad group settings.",
        "properties": {
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingProductTarget"
            },
            "maxItems": 100,
            "minItems": 0
          },
          "negativeTargets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingNegativeProductTarget"
            },
            "maxItems": 100,
            "minItems": 0
          },
          "landingPages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingLandingPageObject"
            },
            "maxItems": 100,
            "minItems": 0
          },
          "themes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingTheme"
            },
            "maxItems": 100,
            "minItems": 0
          },
          "keywords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingKeyword"
            },
            "maxItems": 100,
            "minItems": 0
          },
          "negativeKeywords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingNegativeKeyword"
            },
            "maxItems": 100,
            "minItems": 0
          },
          "creativeAsins": {
            "type": "array",
            "items": {
              "description": "Optional. An array of creative ASINs that are displayed in the SB creative.",
              "type": "string",
              "maxItems": 1000,
              "minItems": 0
            }
          }
        }
      },
      "SBForecastingBadRequestExceptionResponseContent": {
        "type": "object",
        "description": "Returns information about a BadRequestException.",
        "properties": {
          "code": {
            "type": "string",
            "description": "The HTTP status code of the response."
          },
          "details": {
            "type": "string",
            "description": "A human-readable description of the response."
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "SBForecastingErrorObject": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "description": "Correlates the campaign to the campaign list index specified in the request. Zero-based."
          },
          "code": {
            "type": "string",
            "description": "The forecast error code."
          },
          "description": {
            "type": "string",
            "description": "The forecast error description."
          }
        }
      },
      "SBForecastingInternalServerExceptionResponseContent": {
        "type": "object",
        "description": "Returns information about a InternalServerException.",
        "properties": {
          "code": {
            "type": "string",
            "description": "The HTTP status code of the response."
          },
          "details": {
            "type": "string",
            "description": "A human-readable description of the response."
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "BulkCreateOptimizationRuleOperationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateOptimizationRuleSuccessResponseItem"
            }
          },
          "error": {
            "minItems": 1,
            "maxItems": 10,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OptimizationRuleFailureResponseItem"
            }
          }
        }
      },
      "SBForecastingKeyword": {
        "type": "object",
        "description": "Keyword associated with the campaign.",
        "properties": {
          "keywordText": {
            "type": "string",
            "description": "The keyword text. Maximum of 10 words."
          },
          "matchType": {
            "type": "string",
            "description": "The match type. Valid value: EXACT, PHRASE, BROAD. For more information, see [match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center."
          },
          "bid": {
            "type": "number",
            "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account.",
            "format": "float"
          }
        }
      },
      "SBForecastingLandingPageObject": {
        "type": "object",
        "properties": {
          "landingPageUrl": {
            "type": "string",
            "description": "Landing page information."
          }
        }
      },
      "SBForecastingMetric": {
        "type": "object",
        "description": "The forecast metric.",
        "properties": {
          "metric": {
            "type": "string",
            "description": "The forecast metric name. Currently supported metrics are IMPRESSION and CLICK."
          },
          "value": {
            "$ref": "#/components/schemas/SBForecastingMetricValue"
          }
        }
      },
      "SBForecastingMetricValue": {
        "type": "object",
        "description": "The forecast min and max value.",
        "properties": {
          "min": {
            "type": "number",
            "maximum": 10000.0,
            "minimum": 0.0,
            "description": "The forecast min value.",
            "format": "float"
          },
          "max": {
            "type": "number",
            "maximum": 10000.0,
            "minimum": 0.0,
            "description": "The forecast max value.",
            "format": "float"
          }
        }
      },
      "SBForecastingNegativeKeyword": {
        "type": "object",
        "description": "Negative keyword associated with the campaign.",
        "properties": {
          "keywordText": {
            "type": "string",
            "description": "The keyword text. Maximum of 10 words."
          },
          "matchType": {
            "type": "string",
            "description": "The negative match type. Valid value: NEGATIVE_EXACT, NEGATIVE_PHRASE. For more information, see [negative keyword match types](https://advertising.amazon.com/help#GHTRFDZRJPW6764R) in the Amazon Advertising support center."
          }
        }
      },
      "CreateOptimizationRule": {
        "type": "object",
        "properties": {
          "entityType": {
            "description": "Enum: \"CAMPAIGN\"\n\nThe type of entity passed.",
            "type": "string"
          },
          "entityId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "conditions": {
            "minItems": 1,
            "maxItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RuleCondition"
            }
          }
        }
      },
      "SBForecastingNegativeProductExpression": {
        "type": "object",
        "description": "Negative expression settings for the target.",
        "properties": {
          "type": {
            "type": "string",
            "description": "The negative expression type associated with the target. Valid value: ASIN_BRAND_SAME_AS, ASIN_SAME_AS."
          },
          "value": {
            "type": "string",
            "description": "The expression value associated with targets."
          }
        }
      },
      "SBForecastingNegativeProductTarget": {
        "type": "object",
        "description": "The negative target associated with the ad group.",
        "properties": {
          "expressions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingNegativeProductExpression"
            },
            "maxItems": 100,
            "minItems": 0
          }
        }
      },
      "SBForecastingProductExpression": {
        "type": "object",
        "description": "Expression settings for the target.",
        "properties": {
          "type": {
            "type": "string",
            "description": "The expression type associated with the target. Valid value: ASIN_CATEGORY_SAME_AS, ASIN_BRAND_SAME_AS, ASIN_PRICE_LESS_THAN, ASIN_PRICE_BETWEEN, ASIN_PRICE_GREATER_THAN, ASIN_REVIEW_RATING_LESS_THAN, ASIN_REVIEW_RATING_BETWEEN, ASIN_REVIEW_RATING_GREATER_THAN, ASIN_SAME_AS."
          },
          "value": {
            "type": "string",
            "description": "The expression value associated with targets."
          }
        }
      },
      "SBForecastingProductTarget": {
        "type": "object",
        "description": "The target associated with the ad group.",
        "properties": {
          "expressions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingProductExpression"
            },
            "maxItems": 100,
            "minItems": 0
          },
          "bid": {
            "type": "number",
            "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account.",
            "format": "float"
          }
        }
      },
      "SBForecastingRequestCampaignObject": {
        "type": "object",
        "description": "The campaign settings.",
        "properties": {
          "budget": {
            "type": "number",
            "description": "The amount of the budget.",
            "format": "double"
          },
          "budgetType": {
            "type": "string",
            "description": "Budget can be set to DAILY or LIFETIME. \n\n|BudgetType|Description|\n|-----------|-----------|\n|DAILY| The amount that you're willing to spend on this campaign each day. If the campaign spends less than your daily budget, the unspent amount can be used to increase your daily budget on the other days of the calendar month.|\n|LIFETIME| The total amount that you are willing to spend on this campaign.| \n\n"
          },
          "forecastType": {
            "type": "string",
            "description": "The forecast type. can be set to WEEKLY or MONTHLY. \n\n**If have not set the forecastType during campaign creation then use WEEKLY as goal value.**\n"
          },
          "startDate": {
            "type": "string",
            "description": "The YYYY-MM-DD start date for the campaign. If this field is not set to a value, the current date is used.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "The YYYY-MM-DD end date for the campaign. Must be greater than the value for `startDate`. If not specified, the campaign has no end date and runs continuously.",
            "format": "date-time"
          },
          "goal": {
            "type": "string",
            "description": "Goal will allow you to set goal type to help drive your campaign performance. \n\n**If have not set the goal during campaign creation then use PAGE_VISIT as goal type.** \n\n\nThe goal type of the campaign. Initial launch only supports PAGE_VISIT. \n\nBRAND_IMPRESSION_SHARE - This goal is a PREVIEW ONLY and cannot be set currently. It will allow you grown your brand impression share on top of search placement. \n\nPAGE_VISIT - This goal drives traffic to your landing and detail pages through all placements. \n\nACQUIRE_NEW_CUSTOMERS - This property is a PREVIEW ONLY and cannot be used as part of a request or response. This goal drives new customer acquisition for your brands. \n\nAD_VIEWS - This property is a PREVIEW ONLY and cannot be used as part of a request or response. This goal maximizes view for your ads. \n\n"
          },
          "adGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingAdGroup"
            },
            "maxItems": 1,
            "minItems": 1
          }
        },
        "required": [
          "adGroups",
          "budget",
          "budgetType",
          "forecastType"
        ]
      },
      "SBForecastingResponseCampaignObject": {
        "type": "object",
        "properties": {
          "successes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingSuccessObject"
            },
            "maxItems": 1,
            "minItems": 0
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingErrorObject"
            },
            "maxItems": 1,
            "minItems": 0
          }
        }
      },
      "SBForecastingSuccessCampaign": {
        "type": "object",
        "properties": {
          "forecasts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SBForecastingMetric"
            },
            "maxItems": 2,
            "minItems": 1
          },
          "forecastTimestamp": {
            "type": "string",
            "description": "The forecast timestamp."
          }
        }
      },
      "ValueTypeRuleCriteria": {
        "type": "object",
        "properties": {
          "comparisonOperator": {
            "description": "Enum: \"LESS_THAN_OR_EQUAL_TO\"\n\nThe comparison operator.",
            "type": "string"
          },
          "value": {
            "description": "The value of the threshold associated with the attribute.",
            "format": "double",
            "type": "number"
          }
        }
      },
      "SBForecastingSuccessObject": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "description": "Correlates the campaign to the campaign list index specified in the request. Zero-based."
          },
          "campaign": {
            "$ref": "#/components/schemas/SBForecastingSuccessCampaign"
          }
        }
      },
      "SBForecastingTheme": {
        "type": "object",
        "description": "The theme.",
        "properties": {
          "themeType": {
            "type": "string",
            "description": "The theme target type. Valid value: KEYWORDS_RELATED_TO_YOUR_BRAND, KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES. \n\nKEYWORDS_RELATED_TO_YOUR_BRAND - keywords related to brands. \n\nKEYWORDS_RELATED_TO_YOUR_LANDING_PAGES - keywords related to your landing pages."
          },
          "bid": {
            "type": "number",
            "description": "The associated bid. Note that this value must be less than the budget associated with the Advertiser account.",
            "format": "float"
          }
        }
      },
      "SBForecastingThrottlingExceptionResponseContent": {
        "type": "object",
        "description": "Returns information about a ThrottlingException.",
        "properties": {
          "code": {
            "type": "string",
            "description": "The HTTP status code of the response."
          },
          "details": {
            "type": "string",
            "description": "A human-readable description of the response."
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "SBForecastingUnauthorizedExceptionResponseContent": {
        "type": "object",
        "description": "Returns information about an UnauthorizedException.",
        "properties": {
          "code": {
            "type": "string",
            "description": "The HTTP status code of the response."
          },
          "details": {
            "type": "string",
            "description": "A human-readable description of the response."
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "SBForecastingUnprocessableEntityExceptionResponseContent": {
        "type": "object",
        "description": "Returns information about an UnprocessableEntityException.",
        "properties": {
          "code": {
            "type": "string",
            "description": "The HTTP status code of the response."
          },
          "details": {
            "type": "string",
            "description": "A human-readable description of the response."
          }
        },
        "required": [
          "code",
          "details"
        ]
      },
      "StartMigrationJobRequestContent": {
        "type": "object",
        "properties": {
          "campaignIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 0,
            "description": "Provide list of campaign ids that needs to be migrated"
          },
          "isStagedMigration": {
            "type": "boolean",
            "description": "Set this flag to true if you want generate new campaign ID based on V3 campaign ID. These campaigns will not be visible through V4 campaign list call. If set to true not all campaign entities such as ad group, targeting, ad, or creatives are created. Use this flag for staging purpose only.\nBy default it will always be false"
          },
          "newCampaignState": {
            "type": "string",
            "description": "This is optional parameter. By default, the new migrated campaigns will have the original status of V3 campaigns. If this parameter is set, then all newly migrated campaigns will have this state.\n Supported campaign states\n| State                                              |  Description |\n|----------------------------------------------------------|--------------|\n| ENABLED                               | Campaign entity has ENABLED state |"
          },
          "enableThemeTargeting": {
            "type": "boolean",
            "description": "By default, theme targeting is set true if no value is provide. To disable theme targeting, set this flag to false."
          },
          "brandEntityId": {
            "type": "string",
            "description": "Please note that brandEntityId is only required for sellers. You can get the brandEntityId by calling the <a href = https://advertising.amazon.com/API/docs/en-us/sponsored-brands/3-0/openapi#tag/Brands/operation/getBrands>GET /brands</a> endpoint."
          }
        },
        "required": [
          "campaignIds",
          "enableThemeTargeting"
        ]
      },
      "StartMigrationJobResponseContent": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "This jobId can be used to track migration status through /sb/v4/legacyCampaigns/migrationJob/status\nand results of each campaign through /sb/v4/legacyCampaigns/migrationJob/results API"
          }
        }
      },
      "MigrationJobResultsRequestContent": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          },
          "nextToken": {
            "type": "string",
            "description": "Token value allowing to navigate to the next response page."
          }
        },
        "required": [
          "jobId"
        ]
      },
      "MigrationJobResultsResponseContent": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          },
          "migrationJobStatus": {
            "type": "string",
            "description": "Enumerated status code for migration job status\n| Status                                             |  Description |\n|----------------------------------------------------------|--------------|\n| COMPLETE  | Migration job is complete |\n| FAILED    | Migration failed and no V3 campaigns were migrated |\n| IN_PROGRESS    | Migration job is running |"
          },
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignMigrationFinalStatus"
            }
          },
          "nextToken": {
            "type": "string",
            "description": "Token value allowing to navigate to the next response page."
          }
        }
      },
      "MigrationJobStatusRequestContent": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ]
      },
      "MigrationJobStatusResponseContent": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string"
          },
          "migrationJobStatus": {
            "type": "string",
            "description": "Enumerated status code for migration job status\n| Status                                             |  Description |\n|----------------------------------------------------------|--------------|\n| COMPLETE  | Migration job is complete |\n| FAILED    | Migration failed and no V3 campaigns were migrated |\n| IN_PROGRESS    | Migration job is running |"
          },
          "migrationJobStatusReason": {
            "type": "string",
            "description": "Status reason for the migration job status"
          }
        }
      },
      "MigrationResultsRequestContent": {
        "type": "object",
        "properties": {
          "nextToken": {
            "type": "string",
            "description": "Token value allowing to navigate to the next response page."
          }
        }
      },
      "MigrationResultsResponseContent": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignMigrationFinalStatus"
            }
          },
          "nextToken": {
            "type": "string",
            "description": "Token value allowing to navigate to the next response page."
          }
        }
      },
      "CampaignMigrationFinalStatus": {
        "type": "object",
        "properties": {
          "legacyCampaignId": {
            "type": "string",
            "description": "Entity object identifier."
          },
          "newCampaignId": {
            "type": "string"
          },
          "migrationStatus": {
            "type": "string",
            "description": "Enumerated status code for migration job status\n| Status                                             |  Description |\n|----------------------------------------------------------|--------------|\n| MIGRATION_COMPLETE  | Migration is complete and new V4 campaigns are ready to serve. The V3 campaigns are archived |\n| STAGING_COMPLETE    | Staging of V4 campaign IDs are complete |\n| MIGRATION_FAILED         | Migration of V3 campaign failed  |\n| MIGRATION_IN_PROGRESS   | Migration for V3 campaign is in-progress |"
          },
          "migrationStatusReason": {
            "type": "string",
            "description": "Status reason for the given migration status"
          }
        }
      },
      "SiteRestriction": {
        "type": "string",
        "enum": [
          "AMAZON_BUSINESS"
        ]
      },
      "CreateAutoCollectionAd": {
        "properties": {
          "adGroupId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateAutoCollectionCreative"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          }
        },
        "required": [
          "adGroupId",
          "creative",
          "name",
          "state"
        ],
        "type": "object"
      },
      "CreateAutoCollectionCreative": {
        "properties": {
          "asinExclusions": {
            "items": {
              "type": "string"
            },
            "maxItems": 1000,
            "minItems": 0,
            "type": "array"
          },
          "brandLogoAssetID": {
            "type": "string"
          },
          "brandLogoCrop": {
            "$ref": "#/components/schemas/BrandLogoCrop"
          },
          "brandName": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "brandName"
        ],
        "type": "object"
      },
      "CreateSponsoredBrandsAutoCollectionAdsRequestContent": {
        "properties": {
          "ads": {
            "items": {
              "$ref": "#/components/schemas/CreateAutoCollectionAd"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "ads"
        ],
        "type": "object"
      },
      "CreateSponsoredBrandsAutoCollectionAdsResponseContent": {
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        },
        "type": "object"
      },
      "UpdateAutoCollectionAd": {
        "properties": {
          "adId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateAutoCollectionCreative"
          }
        },
        "required": [
          "adId",
          "creative"
        ],
        "type": "object"
      },
      "UpdateSponsoredBrandsAutoCollectionAdsRequestContent": {
        "description": "Updates the ad settings for an automatic collection by creating a new version",
        "properties": {
          "ads": {
            "description": "List of Automatic Collection Ad Updates",
            "items": {
              "$ref": "#/components/schemas/UpdateAutoCollectionAd"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "ads"
        ],
        "type": "object"
      },
      "UpdateSponsoredBrandsAutoCollectionAdsResponseContent": {
        "properties": {
          "creatives": {
            "$ref": "#/components/schemas/BulkCreativeResponse"
          }
        },
        "type": "object"
      },
      "CreateManualCollectionAd": {
        "properties": {
          "adGroupId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateManualCollectionCreative"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/CreateOrUpdateEntityState"
          }
        },
        "required": [
          "adGroupId",
          "creative",
          "name",
          "state"
        ],
        "type": "object"
      },
      "CreateManualCollectionCreative": {
        "properties": {
          "asins": {
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 3,
            "type": "array"
          },
          "brandLogoAssetID": {
            "type": "string"
          },
          "brandLogoCrop": {
            "$ref": "#/components/schemas/BrandLogoCrop"
          },
          "brandName": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string"
          },
          "landingPage": {
            "$ref": "#/components/schemas/BrandCollectionLandingPage"
          },
          "title": {
            "description": "Optional title for the collection. If not provided, title will be auto-generated.",
            "maxLength": 32,
            "type": "string"
          }
        },
        "required": [
          "asins",
          "brandName"
        ],
        "type": "object"
      },
      "CreateSponsoredBrandsManualCollectionAdsRequestContent": {
        "properties": {
          "ads": {
            "items": {
              "$ref": "#/components/schemas/CreateManualCollectionAd"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "ads"
        ],
        "type": "object"
      },
      "CreateSponsoredBrandsManualCollectionAdsResponseContent": {
        "properties": {
          "ads": {
            "$ref": "#/components/schemas/BulkAdOperationResponse"
          }
        },
        "type": "object"
      },
      "UpdateManualCollectionAd": {
        "properties": {
          "adId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "creative": {
            "$ref": "#/components/schemas/CreateManualCollectionCreative"
          }
        },
        "required": [
          "adId",
          "creative"
        ],
        "type": "object"
      },
      "UpdateSponsoredBrandsManualCollectionAdsRequestContent": {
        "description": "Updates the ad settings for a manual collection by creating a new version",
        "properties": {
          "ads": {
            "description": "List of Manual Collection Ad Updates",
            "items": {
              "$ref": "#/components/schemas/UpdateManualCollectionAd"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "ads"
        ],
        "type": "object"
      },
      "UpdateSponsoredBrandsManualCollectionAdsResponseContent": {
        "properties": {
          "creatives": {
            "$ref": "#/components/schemas/BulkCreativeResponse"
          }
        },
        "type": "object"
      },
      "BulkCreativeResponse": {
        "properties": {
          "error": {
            "items": {
              "$ref": "#/components/schemas/CreativeFailureResponseItem"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          },
          "success": {
            "items": {
              "$ref": "#/components/schemas/CreativeSuccessResponseItem"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          }
        },
        "type": "object"
      },
      "CreativeFailureResponseItem": {
        "properties": {
          "errors": {
            "description": "A list of validation errors.",
            "items": {
              "$ref": "#/components/schemas/CreativeMutationError"
            },
            "maxItems": 100,
            "minItems": 0,
            "type": "array"
          },
          "index": {
            "description": "the index of the creative in the array from the request body.",
            "maximum": 10,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "index"
        ],
        "type": "object"
      },
      "CreativeMutationError": {
        "properties": {
          "errorType": {
            "description": "The type of the error.",
            "type": "string"
          },
          "errorValue": {
            "$ref": "#/components/schemas/CreativeMutationErrorSelector"
          }
        },
        "required": [
          "errorType",
          "errorValue"
        ],
        "type": "object"
      },
      "CreativeMutationErrorSelector": {
        "properties": {
          "otherError": {
            "$ref": "#/components/schemas/OtherError"
          },
          "rangeError": {
            "$ref": "#/components/schemas/RangeError"
          }
        },
        "type": "object"
      },
      "CreativeSuccessResponseItem": {
        "properties": {
          "adId": {
            "description": "Entity object identifier.",
            "type": "string"
          },
          "creativeVersion": {
            "type": "string"
          },
          "index": {
            "description": "The index in the original list from the request.",
            "maximum": 10,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "adId",
          "index"
        ],
        "type": "object"
      },
      "BrandCollectionLandingPage": {
        "properties": {
          "pageType": {
            "$ref": "#/components/schemas/BrandCollectionLandingPageType"
          },
          "url": {
            "description": "URL of an existing simple landing page or Store page for brand collection ads.\nIf the pageType is PRODUCT_LIST, the landing page must include the ASINs of at least three products that are\nadvertised as part of the campaign. Do not include this property in the request if the asins property is also\nincluded, these properties are mutually exclusive.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "BrandCollectionLandingPageType": {
        "description": "The BrandCollectionLandingPageType is used for brand collection ads, supporting only store page and product list landing pages.",
        "enum": [
          "PRODUCT_LIST",
          "STORE"
        ],
        "type": "string"
      },
      "MigrationStatus": {
        "description": "The lifecycle status of a migration option.",
        "enum": [
          "ACCEPTED",
          "ELIGIBLE",
          "MIGRATED",
          "MIGRATION_FAILED"
        ],
        "type": "string"
      },
      "MigrationOptionType": {
        "description": "The type of SB Collection to migrate to.",
        "enum": [
          "AUTO_COLLECTION",
          "MANUAL_COLLECTION"
        ],
        "type": "string"
      },
      "MigrationType": {
        "description": "The type of migration being offered for this option.\n- MIGRATE: Preserves the advertiser's original configuration as closely as possible.\n- IMPROVE: Optimizes the configuration for better performance.",
        "enum": [
          "IMPROVE",
          "MIGRATE"
        ],
        "type": "string"
      },
      "MigrationStatusFilter": {
        "description": "Filter migrations by option-level status. Returns migrations with at least one option matching the filter.",
        "properties": {
          "include": {
            "items": {
              "$ref": "#/components/schemas/MigrationStatus"
            },
            "maxItems": 4,
            "minItems": 0,
            "type": "array"
          }
        },
        "type": "object"
      },
      "MigrationOption": {
        "description": "A replacement option offered to the advertiser for a source PC ad.",
        "properties": {
          "adGroupId": {
            "description": "The adGroupId of the created ad. Populated only after status = MIGRATED.",
            "type": "string"
          },
          "adId": {
            "description": "The adId of the created ad. Populated only after status = MIGRATED.",
            "type": "string"
          },
          "asins": {
            "description": "For MANUAL_COLLECTION: 3-10 recommended ASINs.\nFor AUTO_COLLECTION: empty (system selects dynamically at serve time).",
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 0,
            "type": "array"
          },
          "errorCode": {
            "description": "Error code. Populated only when status = MIGRATION_FAILED.",
            "type": "string"
          },
          "errorMessage": {
            "description": "Error message. Populated only when status = MIGRATION_FAILED.",
            "type": "string"
          },
          "migrationType": {
            "$ref": "#/components/schemas/MigrationType"
          },
          "optionType": {
            "$ref": "#/components/schemas/MigrationOptionType"
          },
          "rationale": {
            "description": "Rationale explaining why this migration option is being offered.",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/MigrationStatus"
          }
        },
        "required": [
          "optionType"
        ],
        "type": "object"
      },
      "MigrationEntity": {
        "description": "The source ad being migrated, enriched with campaign and ad group display names.",
        "properties": {
          "ad": {
            "$ref": "#/components/schemas/Ad"
          },
          "adGroupName": {
            "description": "Display name of the source ad group.",
            "type": "string"
          },
          "campaignName": {
            "description": "Display name of the source campaign.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Migration": {
        "description": "A migration represents one source PC ad with its recommended replacement options.",
        "properties": {
          "migrationEntity": {
            "$ref": "#/components/schemas/MigrationEntity"
          },
          "migrationId": {
            "description": "Unique identifier for this migration. Currently equal to the source adId.",
            "type": "string"
          },
          "migrationOptions": {
            "description": "The recommended replacement options (1-2 options: Manual Collection, Auto Collection).",
            "items": {
              "$ref": "#/components/schemas/MigrationOption"
            },
            "maxItems": 2,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "migrationEntity",
          "migrationId",
          "migrationOptions"
        ],
        "type": "object"
      },
      "ListMigrationsRequestContent": {
        "properties": {
          "adGroupIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "adIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "adStateFilter": {
            "$ref": "#/components/schemas/EntityStateFilter"
          },
          "campaignIdFilter": {
            "$ref": "#/components/schemas/ObjectIdFilter"
          },
          "maxResults": {
            "description": "Default: 20, Max: 100.",
            "maximum": 100,
            "minimum": 1,
            "type": "number"
          },
          "migrationStatusFilter": {
            "$ref": "#/components/schemas/MigrationStatusFilter"
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ListMigrationsResponseContent": {
        "properties": {
          "migrations": {
            "items": {
              "$ref": "#/components/schemas/Migration"
            },
            "maxItems": 100,
            "minItems": 0,
            "type": "array"
          },
          "nextToken": {
            "description": "Token value allowing to navigate to the next response page.",
            "type": "string"
          },
          "totalCount": {
            "description": "The total number of migrations matching the request filters. Only returned on the first page.",
            "type": "number"
          }
        },
        "type": "object"
      }
    },
    "requestBodies": {},
    "responses": {
      "SBKeywordRecommendationThemeResponse": {
        "description": "Successful theme keyword recommendations response.",
        "content": {
          "application/vnd.sbkeywordrecommendationtheme.v3+json": {
            "schema": {
              "minItems": 0,
              "maxItems": 100,
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SBKeywordRecommendationThemeSuggestion"
              },
              "example": [
                {
                  "keywords": [
                    {
                      "recommendationId": "recommendationId1",
                      "value": "running shoes"
                    },
                    {
                      "recommendationId": "recommendationId2",
                      "value": "shoes"
                    }
                  ],
                  "themeType": "KEYWORDS_RELATED_TO_YOUR_BRAND"
                },
                {
                  "keywords": [
                    {
                      "recommendationId": "recommendationId3",
                      "value": "backpacks"
                    },
                    {
                      "recommendationId": "recommendationId4",
                      "value": "camping backpack"
                    }
                  ],
                  "themeType": "KEYWORDS_RELATED_TO_YOUR_LANDING_PAGES"
                }
              ]
            }
          }
        }
      }
    },
    "callbacks": {},
    "links": {},
    "securitySchemes": {},
    "parameters": {
      "clientHeader": {
        "schema": {
          "type": "string"
        },
        "in": "header",
        "name": "Amazon-Advertising-API-ClientId",
        "description": "The identifier of a client associated with a \"Login with Amazon\" account.",
        "required": true
      },
      "profileHeader": {
        "schema": {
          "type": "string"
        },
        "in": "header",
        "name": "Amazon-Advertising-API-Scope",
        "description": "The identifier of a profile associated with the advertiser account. Use `GET` method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header and choose profile id `profileId` from the response to pass it as input.",
        "required": true
      }
    }
  },
  "openapi": "3.0.1"
}