Scope3 Advertisers API

Manage advertisers

Operations 22

GET /advertisers List advertisers #
POST /advertisers Create advertiser #
GET /all-advertisers-home List all advertisers home #
GET /advertisers/{advertiserId} Get advertiser #
PUT /advertisers/{advertiserId} Update advertiser #
DELETE /advertisers/{advertiserId} Delete advertiser #
POST /advertisers/{advertiserId}/restore Restore advertiser #
POST /advertisers/{advertiserId}/data-delivery-credentials/{name}/validate Revalidate data delivery credential #
GET /advertisers/{advertiserId}/accounts List advertiser accounts #
POST /advertisers/{advertiserId}/accounts Assign account #
GET /advertisers/{advertiserId}/accounts/{accountId} Get advertiser account #
GET /advertisers/{advertiserId}/accounts/available List available accounts #
DELETE /advertisers/{advertiserId}/accounts/{linkId} Unmap a partner account from an advertiser #
PUT /advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket Update account reporting bucket #
GET /advertisers/{advertiserId}/catalogs List catalogs #
POST /advertisers/{advertiserId}/catalogs/sync Sync catalogs #
PUT /advertisers/{advertiserId}/catalogs/{catalogId}/transform Save catalog transform #
POST /advertisers/{advertiserId}/catalogs/{catalogId}/activation-plan/preview Preview catalog activation plan #
POST /advertisers/{advertiserId}/catalogs/{catalogId}/refresh Refresh catalog #
POST /advertisers/{advertiserId}/catalogs/{catalogId}/activation-plan/execute Execute catalog activation plan #
POST /advertisers/{accountId}/audiences/sync Sync audiences #
GET /advertisers/{accountId}/audiences List audiences #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scope3-advertisers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scope3-advertisers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Scope3 Buyer Advertisers API
  version: 2.0.0
  description: 'REST API for advertisers to manage advertisers, campaigns, and reporting.


    ## Authentication


    All endpoints require a Bearer token in the Authorization header:

    ```

    Authorization: Bearer your-api-key

    ```


    ## Base URL


    `https://api.interchange.io/api/v2/buyer`


    ## For AI Agents


    AI agents can use the MCP endpoint at `/mcp/v2/buyer` with three tools:

    - `initialize`: Start an MCP session

    - `api_call`: Make REST API calls

    - `ask_about_capability`: Learn about API features'
servers:
- url: https://api.interchange.io/api/v2/buyer
  description: Production server
tags:
- name: Advertisers
  description: Manage advertisers
paths:
  /advertisers:
    get:
      operationId: listAdvertisers
      summary: List advertisers
      description: List all advertisers with optional filtering and pagination.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: query
        name: status
        schema:
          description: Filter by advertiser status. Use ALL to include both active and archived. Defaults to ACTIVE.
          default: ACTIVE
          type: string
          enum:
          - ACTIVE
          - ARCHIVED
          - ALL
        description: Filter by advertiser status. Use ALL to include both active and archived. Defaults to ACTIVE.
      - in: query
        name: name
        schema:
          description: Filter by advertiser name (case-insensitive, partial match)
          example: Acme
          type: string
        description: Filter by advertiser name (case-insensitive, partial match)
      - in: query
        name: linkedAccountPartnerId
        schema:
          description: Filter to advertisers linked to at least one account from this partner / sales agent ID.
          example: snap
          type: string
        description: Filter to advertisers linked to at least one account from this partner / sales agent ID.
      - in: query
        name: sandbox
        schema:
          description: Filter by sandbox mode. true returns only sandbox advertisers, false returns only production advertisers. Omit to return all.
          type: boolean
        description: Filter by sandbox mode. true returns only sandbox advertisers, false returns only production advertisers. Omit to return all.
      - in: query
        name: includeBrand
        schema:
          description: When true, include linked brand identity data on advertiser summary rows so creative agents can use brand logos, colors, tone, and catalog data.
          type: boolean
        description: When true, include linked brand identity data on advertiser summary rows so creative agents can use brand logos, colors, tone, and catalog data.
      - in: query
        name: limit
        schema:
          description: 'Maximum number of advertisers to return per page (default: 100, max: 100)'
          example: 100
          default: 100
          type: integer
          maximum: 100
          minimum: 1
        description: 'Maximum number of advertisers to return per page (default: 100, max: 100)'
      - in: query
        name: offset
        schema:
          description: 'Number of advertisers to skip for pagination (default: 0)'
          example: 0
          default: 0
          type: integer
          minimum: 0
          maximum: 9007199254740991
        description: 'Number of advertisers to skip for pagination (default: 0)'
      responses:
        '200':
          description: List advertisers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvertiserListResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: createAdvertiser
      summary: Create advertiser
      description: Create a new advertiser. Advertisers are the top-level entity for campaigns.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAdvertiserBody'
      responses:
        '201':
          description: Create advertiser
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advertiser'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /all-advertisers-home:
    get:
      operationId: listAllAdvertisersHome
      summary: List all advertisers home
      description: 'Pre-assembled data for the buyer "All Advertisers Landing" widget: advertiser rows (brand kit, campaign count, resumable-draft flag) plus a portfolio summary. Money rollups (`managed`/`tracked`) are always null pending AI-5642; `attention`/`nextAction` are omitted pending AI-5643.'
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      responses:
        '200':
          description: List all advertisers home
          content:
            application/json:
              schema:
                type: object
                properties:
                  portfolio:
                    type: object
                    properties:
                      tracked:
                        type: string
                      managed:
                        type: string
                      waitingOnYou:
                        type: number
                    required:
                    - tracked
                    - managed
                    - waitingOnYou
                    additionalProperties: false
                  advertisers:
                    type: array
                    items:
                      type: object
                      properties:
                        advertiserId:
                          type: string
                        name:
                          type: string
                        initials:
                          type: string
                        brandColors:
                          type: object
                          additionalProperties:
                            type: string
                        logoUrl:
                          type: string
                        logoTileColor:
                          type: string
                        logoFill:
                          type: boolean
                        managed:
                          type:
                          - string
                          - 'null'
                        tracked:
                          type:
                          - string
                          - 'null'
                        campaignCount:
                          type: number
                        resumableDraft:
                          type: boolean
                        attention:
                          type: object
                          properties:
                            flags:
                              type: array
                              items:
                                type: object
                                properties:
                                  label:
                                    type: string
                                  tone:
                                    type: string
                                    enum:
                                    - critical
                                    - needsAction
                                    - info
                                required:
                                - label
                                - tone
                                additionalProperties: false
                          required:
                          - flags
                          additionalProperties: false
                        nextAction:
                          type: object
                          properties:
                            label:
                              type: string
                          required:
                          - label
                          additionalProperties: false
                      required:
                      - advertiserId
                      - name
                      - initials
                      - managed
                      - tracked
                      - campaignCount
                      - resumableDraft
                      additionalProperties: false
                  currentAdvertiserId:
                    type: string
                required:
                - portfolio
                - advertisers
                additionalProperties: false
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}:
    get:
      operationId: getAdvertiser
      summary: Get advertiser
      description: Get a single advertiser by ID. Always returns full brand details including the ADCP manifest.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      responses:
        '200':
          description: Get advertiser
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advertiser'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: updateAdvertiser
      summary: Update advertiser
      description: Update an existing advertiser.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAdvertiserBody'
      responses:
        '200':
          description: Update advertiser
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advertiser'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteAdvertiser
      summary: Delete advertiser
      description: Delete (archive) an advertiser.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      responses:
        '204':
          description: No content
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/restore:
    post:
      operationId: restoreAdvertiser
      summary: Restore advertiser
      description: Restore a previously deleted (archived) advertiser, making it active again.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      responses:
        '200':
          description: Restore advertiser
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advertiser'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No archived advertiser with this id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/data-delivery-credentials/{name}/validate:
    post:
      operationId: revalidateDataDeliveryCredential
      summary: Revalidate data delivery credential
      description: Re-runs the destination Probe for a supported object-storage credential and returns the updated record with a fresh status (VALIDATED or FAILED). Use after fixing a buyer-side destination access issue (e.g., re-granting GCS bucket IAM) without otherwise editing the credential.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Advertiser ID (numeric, as a string).
          type: string
          minLength: 1
        required: true
        description: Advertiser ID (numeric, as a string).
      - in: path
        name: name
        schema:
          description: Credential name (unique per advertiser).
          type: string
          minLength: 1
        required: true
        description: Credential name (unique per advertiser).
      responses:
        '200':
          description: Revalidate data delivery credential
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevalidateDataDeliveryCredentialResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/accounts:
    get:
      operationId: listAdvertiserAccounts
      summary: List advertiser accounts
      description: List the sales-agent accounts already linked to an advertiser, with optional filtering by sales agent.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: query
        name: storefrontId
        schema:
          description: Filter accounts to those reachable through this storefront. Pair with `sourceId`.
          example: 42
          type: integer
          maximum: 9007199254740991
          minimum: 1
        description: Filter accounts to those reachable through this storefront. Pair with `sourceId`.
      - in: query
        name: sourceId
        schema:
          description: Filter accounts to those reachable through this inventory source. Pair with `storefrontId`.
          example: src_main
          type: string
          minLength: 1
        description: Filter accounts to those reachable through this inventory source. Pair with `storefrontId`.
      - in: query
        name: status
        schema:
          description: Filter by account status
          type: string
          enum:
          - active
          - pending_approval
          - payment_required
          - suspended
          - closed
          - unreachable
        description: Filter by account status
      - in: query
        name: take
        schema:
          description: Number of results to return (max 250)
          example: 50
          default: 50
          type: integer
          maximum: 250
          minimum: 1
        description: Number of results to return (max 250)
      - in: query
        name: skip
        schema:
          description: Number of results to skip for pagination
          example: 0
          default: 0
          type: integer
          minimum: 0
          maximum: 9007199254740991
        description: Number of results to skip for pagination
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      responses:
        '200':
          description: List advertiser accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountListResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: assignAccount
      summary: Assign account
      description: Link a partner (source) account discovered via `list_available_accounts` to an advertiser.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssignAccountBody'
      responses:
        '201':
          description: Assign account
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/accounts/{accountId}:
    get:
      operationId: getAdvertiserAccount
      summary: Get advertiser account
      description: Get a single linked sales-agent account on an advertiser by its account id.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      - in: path
        name: accountId
        schema:
          description: Unique identifier for the account
          example: acc_67890
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the account
      responses:
        '200':
          description: Get advertiser account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdvertiserAccount'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No linked account with this id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/accounts/available:
    get:
      operationId: listAvailableAccounts
      summary: List available accounts
      description: Discover accounts available to link to an advertiser from a specific sales agent.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: query
        name: storefrontId
        schema:
          description: Storefront the source lives on. Pair with `sourceId` to identify the source whose accounts to list.
          example: 42
          type: integer
          maximum: 9007199254740991
          minimum: 1
        required: true
        description: Storefront the source lives on. Pair with `sourceId` to identify the source whose accounts to list.
      - in: query
        name: sourceId
        schema:
          description: Inventory source within `storefrontId` whose accounts to list.
          example: src_main
          type: string
          minLength: 1
        required: true
        description: Inventory source within `storefrontId` whose accounts to list.
      - in: query
        name: refresh
        schema:
          description: When true, re-fetches accounts from the source before returning results. Defaults to false (returns cached accounts).
          example: 'false'
          type: string
          enum:
          - 'true'
          - 'false'
        description: When true, re-fetches accounts from the source before returning results. Defaults to false (returns cached accounts).
      - in: query
        name: billingType
        schema:
          description: Billing arrangement type to filter accounts by (e.g. "advertiser", "operator", "agent"). Must be one of the values supported by this source. Defaults to the source's default billing type if omitted.
          example: advertiser
          type: string
        description: Billing arrangement type to filter accounts by (e.g. "advertiser", "operator", "agent"). Must be one of the values supported by this source. Defaults to the source's default billing type if omitted.
      - in: query
        name: credentialId
        schema:
          description: ID of a specific registered credential to use for account discovery. Required when the customer has multiple credentials registered for this source. Use GET /storefronts/credentials to list registered credentials and their IDs.
          example: '42'
          type: string
        description: ID of a specific registered credential to use for account discovery. Required when the customer has multiple credentials registered for this source. Use GET /storefronts/credentials to list registered credentials and their IDs.
      - in: query
        name: take
        schema:
          description: Number of results to return (max 250)
          example: 50
          default: 50
          type: integer
          maximum: 250
          minimum: 1
        description: Number of results to return (max 250)
      - in: query
        name: skip
        schema:
          description: Number of results to skip for pagination
          example: 0
          default: 0
          type: integer
          minimum: 0
          maximum: 9007199254740991
        description: Number of results to skip for pagination
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      responses:
        '200':
          description: List available accounts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailableAccountListResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/accounts/{linkId}:
    delete:
      operationId: unassignAccount
      summary: Unmap a partner account from an advertiser
      description: Soft-delete an advertiser-account link by its `linkId` (returned on mapping rows). The link is preserved for period history; buys for the advertiser on that platform fail with `account_mapping_required` until a new mapping is made.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      - in: path
        name: linkId
        schema:
          description: Identifier of the advertiser-account link row (numeric primary key)
          example: '42'
          type: string
          pattern: ^\d{1,15}$
        required: true
        description: Identifier of the advertiser-account link row (numeric primary key)
      responses:
        '200':
          description: Unmap a partner account from an advertiser
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUnlinked'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: The advertiser does not belong to the caller
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The link does not exist or belongs to another advertiser
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket:
    put:
      operationId: updateAccountReportingBucket
      summary: Update account reporting bucket
      description: 'Set or clear the offline `reporting_bucket` configuration on a linked partner account, then notify the seller via `sync_accounts`. Pass `reporting_bucket: null` to clear the bucket.'
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: path
        name: advertiserId
        schema:
          description: Unique identifier for the advertiser
          example: '12345'
          type: string
          minLength: 1
        required: true
        description: Unique identifier for the advertiser
      - in: path
        name: linkId
        schema:
          description: Identifier of the advertiser-account link row (numeric primary key)
          example: '42'
          type: string
          pattern: ^\d{1,15}$
        required: true
        description: Identifier of the advertiser-account link row (numeric primary key)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateReportingBucketBody'
      responses:
        '200':
          description: Update account reporting bucket
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /advertisers/{advertiserId}/catalogs:
    get:
      operationId: listCatalogs
      summary: List catalogs
      description: List catalogs that have been synced for an advertiser.
      tags:
      - Advertisers
      security:
      - bearerAuth: []
      parameters:
      - in: query
        name: type
        schema:
          type: string
          enum:
          - offering
          - product
          - inventory
       

# --- truncated at 32 KB (223 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/scope3/refs/heads/main/openapi/scope3-advertisers-api-openapi.yml