Criteo Retail Media API

The Criteo Retail Media API lets retailers, brands, agencies and partners build retail media programmatically. 115 operations across eight tags cover accounts and brand/seller hierarchies, campaigns, auction and preferred line items, keywords and bids, promoted products, add-to-basket/audience/store targeting, balances and funding, retailer catalogs and categories, creative templates, partner billing, and asynchronous analytics (performance, revenue, fill rate, missed opportunities, attributed transactions, unfilled placements) plus synchronous real-time performance. OAuth 2.0 client credentials or authorization code; 12 Retail Media scopes.

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/criteo-retail-media-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

criteo-retail-media-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - RetailMedia
  version: 2026-07
servers:
- url: https://api.criteo.com
paths:
  /2026-07/retail-media/account-management/accounts/{accountId}/brands/add:
    post:
      tags:
      - Accounts
      summary: /2026-07/retail-media/account-management/accounts/{accountId}/brands/add
      description: Add brands to an account
      operationId: AddBrands
      parameters:
      - name: accountId
        in: path
        description: the account id to update
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfRetailMediaBrands'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValueResourceOutcomeOfRetailMediaBrands'
      security:
      - oauth:
        - RetailMedia_Accounts_Manage
  /2026-07/retail-media/account-management/accounts/{accountId}/brands/remove:
    post:
      tags:
      - Accounts
      summary: /2026-07/retail-media/account-management/accounts/{accountId}/brands/remove
      description: Remove brands from an account
      operationId: RemoveBrands
      parameters:
      - name: accountId
        in: path
        description: the account id to update
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfRetailMediaBrands'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValueResourceOutcomeOfRetailMediaBrands'
      security:
      - oauth:
        - RetailMedia_Accounts_Manage
  /2026-07/retail-media/account-management/accounts/{accountId}/create-brand-account:
    post:
      tags:
      - Accounts
      summary: /2026-07/retail-media/account-management/accounts/{accountId}/create-brand-account
      description: Creates a new child Demand Brand account for the provided parent Private Market account
      operationId: CreatePrivateMarketDemandBrandAccount
      parameters:
      - name: accountId
        in: path
        description: The given account id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfRetailMediaAccount'
      security:
      - oauth:
        - RetailMedia_Accounts_Manage
  /2026-07/retail-media/account-management/accounts/{accountId}/create-seller-account:
    post:
      tags:
      - Accounts
      summary: /2026-07/retail-media/account-management/accounts/{accountId}/create-seller-account
      description: Creates a new child Demand Seller account for the provided parent Private Market account
      operationId: CreatePrivateMarketDemandSellerAccount
      parameters:
      - name: accountId
        in: path
        description: The given account id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfRetailMediaAccount'
      security:
      - oauth:
        - RetailMedia_Accounts_Manage
  /2026-07/retail-media/account-management/accounts/{accountId}/private-market-child-accounts:
    get:
      tags:
      - Accounts
      summary: /2026-07/retail-media/account-management/accounts/{accountId}/private-market-child-accounts
      description: Gets Private Market child accounts that are associated with the given account
      operationId: GetPrivateMarketChildAccountsByAccountId
      parameters:
      - name: accountId
        in: path
        description: Account Id
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The number of accounts to be returned. The default is 25.
        schema:
          type: integer
          format: int32
          default: 25
      - name: offset
        in: query
        description: The (zero-based) offset into the collection of accounts. The default is 0.
        schema:
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceCollectionOutcomeOfRetailMediaChildAccountAndMetadata'
      security:
      - oauth:
        - RetailMedia_Accounts_Read
  /2026-07/retail-media/account-management/accounts/{accountId}/sellers:
    put:
      tags:
      - Accounts
      summary: /2026-07/retail-media/account-management/accounts/{accountId}/sellers
      description: Replace the sellers associated with an account
      operationId: UpdateSellers
      parameters:
      - name: accountId
        in: path
        description: The given account id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValueResourceCollectionOutcomeOfRetailMediaSeller'
      security:
      - oauth:
        - RetailMedia_Accounts_Manage
  /2026-07/retail-media/accounts:
    get:
      tags:
      - Accounts
      summary: /2026-07/retail-media/accounts
      description: Gets page of account objects that the current user can access
      operationId: GetAccounts
      parameters:
      - name: limitToId
        in: query
        description: The ids that you would like to limit your result set to
        schema:
          type: array
          items:
            type: string
      - name: pageIndex
        in: query
        description: The 0 indexed page index you would like to receive given the page size
        schema:
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: The maximum number of items you would like to receive in this request
        schema:
          type: integer
          format: int32
          default: 25
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiPageResponseOfAccount'
      security:
      - oauth:
        - RetailMedia_Accounts_Read
  /2026-07/retail-media/accounts/{account-id}/audience-segments:
    patch:
      tags:
      - Audience
      summary: /2026-07/retail-media/accounts/{account-id}/audience-segments
      description: Updates the properties of all segments with a valid configuration, and returns the full segments. For those that cannot be updated, one or multiple errors are returned.
      operationId: bulkUpdateAudienceSegments
      parameters:
      - name: account-id
        in: path
        description: Account id
        required: true
        schema:
          type: string
      requestBody:
        description: Segment Update request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RmAudienceSegmentBulkUpdateInputV1'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: Success or partial success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RmAudienceSegmentEntityV1ListResponse'
      security:
      - oauth:
        - RetailMedia_Audience_Manage
  /2026-07/retail-media/accounts/{account-id}/audience-segments/{audience-segment-id}/contact-list:
    get:
      tags:
      - Audience
      summary: /2026-07/retail-media/accounts/{account-id}/audience-segments/{audience-segment-id}/contact-list
      description: Returns the statistics of a contact list segment.
      operationId: getAudienceSegmentContactListStatistics
      parameters:
      - name: account-id
        in: path
        description: Account Id
        required: true
        schema:
          type: string
      - name: audience-segment-id
        in: path
        description: Segment Id.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success or partial success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RmContactListStatisticsEntityV1Response'
      security:
      - oauth:
        - RetailMedia_Audience_Read
  /2026-07/retail-media/accounts/{account-id}/audience-segments/create:
    post:
      tags:
      - Audience
      summary: /2026-07/retail-media/accounts/{account-id}/audience-segments/create
      description: Creates all segments with a valid configuration, and returns the full segments. For those that cannot be created, one or multiple errors are returned.
      operationId: bulkCreateAudienceSegments
      parameters:
      - name: account-id
        in: path
        description: Account Id
        required: true
        schema:
          type: string
      requestBody:
        description: Segment creation parameter
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RmAudienceSegmentBulkCreateInputV1'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: Success or partial success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RmAudienceSegmentEntityV1ListResponse'
      security:
      - oauth:
        - RetailMedia_Audience_Manage
  /2026-07/retail-media/accounts/{account-id}/audience-segments/delete:
    post:
      tags:
      - Audience
      summary: /2026-07/retail-media/accounts/{account-id}/audience-segments/delete
      description: Delete the segments associated to the given IDs.
      operationId: bulkDeleteAudienceSegments
      parameters:
      - name: account-id
        in: path
        description: Account id
        required: true
        schema:
          type: string
      requestBody:
        description: Segment delete request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RmAudienceSegmentBulkDeleteInputV1'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: Success or partial success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RmAudienceSegmentIdEntityV1ListResponse'
      security:
      - oauth:
        - RetailMedia_Audience_Manage
  /2026-07/retail-media/accounts/{account-id}/audience-segments/search:
    post:
      tags:
      - Audience
      summary: /2026-07/retail-media/accounts/{account-id}/audience-segments/search
      description: Returns a list of segments that match the provided filters. If present, the filters are AND'ed together when applied.
      operationId: searchAudienceSegments
      parameters:
      - name: account-id
        in: path
        description: Account Id
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The number of elements to be returned. The default is 50 and the maximum is 500.
        schema:
          maximum: 500
          minimum: 0
          type: integer
          format: int32
          default: 50
      - name: offset
        in: query
        description: The (zero-based) offset into the collection. The default is 0.
        schema:
          type: integer
          format: int32
          default: 0
      requestBody:
        description: Segment search filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RmAudienceSegmentSearchInputV1'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: Success or partial success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RmAudienceSegmentEntityV1RmAudienceSegmentSearchMetadataV1ListResponse'
      security:
      - oauth:
        - RetailMedia_Audience_Read
  /2026-07/retail-media/accounts/{account-id}/audiences/search:
    post:
      tags:
      - Audience
      summary: /2026-07/retail-media/accounts/{account-id}/audiences/search
      description: Returns a list of audiences that match the provided filters. If present, the filters are AND'ed together when applied.
      operationId: searchAudiences
      parameters:
      - name: account-id
        in: path
        description: Account Id
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The number of elements to be returned. The default is 50 and the maximum is 500.
        schema:
          maximum: 500
          minimum: 0
          type: integer
          format: int32
          default: 50
      - name: offset
        in: query
        description: The (zero-based) offset into the collection. The default is 0.
        schema:
          type: integer
          format: int32
          default: 0
      requestBody:
        description: Audience search filters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RmAudienceSearchInputV1'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: Success or partial success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RmAudienceEntityV1RmAudienceSearchMetadataV1ListResponse'
      security:
      - oauth:
        - RetailMedia_Audience_Read
  /2026-07/retail-media/accounts/{account-id}/balances:
    post:
      tags:
      - Balance
      summary: /2026-07/retail-media/accounts/{account-id}/balances
      description: Create balance for the given account id
      operationId: CreateBalanceByAccountId
      parameters:
      - name: account-id
        in: path
        description: The account to create balances for
        required: true
        schema:
          type: string
      requestBody:
        description: An object that represents the available options to set when creating a Retail Media Balance
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBalanceV3Request'
        required: true
        x-bodyName: createBalance
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceResponseV3Response'
      security:
      - oauth:
        - RetailMedia_Balance_Manage
  /2026-07/retail-media/accounts/{account-id}/balances/{balance-id}:
    patch:
      tags:
      - Balance
      summary: /2026-07/retail-media/accounts/{account-id}/balances/{balance-id}
      description: Modify a balance for the given account id
      operationId: UpdateBalanceV1
      parameters:
      - name: account-id
        in: path
        description: The account of the balance
        required: true
        schema:
          type: string
      - name: balance-id
        in: path
        description: The balance to change the dates
        required: true
        schema:
          type: string
      requestBody:
        description: An object that represents the available options to modify a balance.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfUpdateBalanceModelV1'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfBalanceResponseV1'
      security:
      - oauth:
        - RetailMedia_Balance_Manage
    get:
      tags:
      - Balance
      summary: /2026-07/retail-media/accounts/{account-id}/balances/{balance-id}
      description: Get a balance for the given account id and balance id
      operationId: GetBalanceByAccountAndBalanceId
      parameters:
      - name: account-id
        in: path
        description: The account of the balance
        required: true
        schema:
          type: string
      - name: balance-id
        in: path
        description: The balance id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceResponseV2Response'
      security:
      - oauth:
        - RetailMedia_Balance_Read
  /2026-07/retail-media/accounts/{account-id}/balances/{balance-id}/add-funds:
    post:
      tags:
      - Balance
      summary: /2026-07/retail-media/accounts/{account-id}/balances/{balance-id}/add-funds
      description: Add funds to a balance for the given account id
      operationId: AddFundsByAccountAndBalanceId
      parameters:
      - name: account-id
        in: path
        description: The account of the balance
        required: true
        schema:
          type: string
      - name: balance-id
        in: path
        description: The balance to add funds to
        required: true
        schema:
          type: string
      requestBody:
        description: An object that represents the available options of adding funds to a balance.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddFundsToBalanceV3Request'
        required: true
        x-bodyName: addFundsToBalance
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceResponseV3Response'
      security:
      - oauth:
        - RetailMedia_Balance_Manage
  /2026-07/retail-media/accounts/{account-id}/balances/{balance-id}/change-dates:
    post:
      tags:
      - Balance
      summary: /2026-07/retail-media/accounts/{account-id}/balances/{balance-id}/change-dates
      description: Change dates of a balance for the given account id
      operationId: ChangeDatesByAccountAndBalanceId
      parameters:
      - name: account-id
        in: path
        description: The account of the balance
        required: true
        schema:
          type: string
      - name: balance-id
        in: path
        description: The balance to change the dates
        required: true
        schema:
          type: string
      requestBody:
        description: An object that represents the available options to modify schedule of a balance.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeDatesOfBalanceV2Request'
        required: true
        x-bodyName: changeDatesOfBalance
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceResponseV2Response'
      security:
      - oauth:
        - RetailMedia_Balance_Manage
  /2026-07/retail-media/accounts/{account-id}/campaigns:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/campaigns
      description: Gets page of campaign objects for the given account id
      operationId: GetCampaignsByAccountId
      parameters:
      - name: account-id
        in: path
        description: The given account id
        required: true
        schema:
          type: string
      - name: limitToId
        in: query
        description: The ids that you would like to limit your result set to
        schema:
          type: array
          items:
            type: string
      - name: pageIndex
        in: query
        description: The 0 indexed page index you would like to receive given the page size
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: The maximum number of items you would like to receive in this request
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
          default: 25
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiPageResponseOfCampaignV202301'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/campaigns
      description: Creates a new campaign with the specified settings
      operationId: CreateCampaignsByAccountId
      parameters:
      - name: account-id
        in: path
        description: The given account id
        required: true
        schema:
          type: string
      requestBody:
        description: The campaign settings to create a campaign with
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCampaignV202301'
        required: true
        x-bodyName: campaign
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiSingleResponseOfCampaignV202301'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/accounts/{account-id}/creatives:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/creatives
      description: Get account creatives
      operationId: GetAccountCreatives
      parameters:
      - name: account-id
        in: path
        description: External account id to retrieve creatives for
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Creatives found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Creative202110ListResponse'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/creatives
      description: Create a creative for an account
      operationId: CreateCreative
      parameters:
      - name: account-id
        in: path
        description: External account id to create a creative for
        required: true
        schema:
          type: string
      requestBody:
        description: The creative to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreativeCreateModel202207'
        required: true
      responses:
        '201':
          description: Creatives created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Creative202210Response'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/accounts/{account-id}/creatives/{creative-id}:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/creatives/{creative-id}
      description: Get the specified creative
      operationId: GetCreative
      parameters:
      - name: account-id
        in: path
        description: External account id to retrieve creatives for
        required: true
        schema:
          type: string
      - name: creative-id
        in: path
        description: Creative to get
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Creatives found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Creative2Response'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    put:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/creatives/{creative-id}
      description: Update a creative
      operationId: UpdateCreative
      parameters:
      - name: account-id
        in: path
        description: External account id containing the creative
        required: true
        schema:
          type: string
      - name: creative-id
        in: path
        description: Creative to update
        required: true
        schema:
          type: string
      requestBody:
        description: The creative to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreativeUpdateModel202207'
        required: true
      responses:
        '201':
          description: Creative updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Creative202210Response'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/accounts/{account-id}/creatives/search:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/creatives/search
      description: Get account creatives
      operationId: SearchAccountCreatives
      parameters:
      - name: account-id
        in: path
        description: External account id to retrieve creatives for
        required: true
        schema:
          type: string
      - name: creative-ids
        in: query
        description: Creatives to filter by
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Creatives found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Creative2ListResponse'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/accounts/{account-id}/keywords/in-review-report:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/keywords/in-review-report
      description: Generate a list of reports for line items which contain one or more actionable keyword reviews
      operationId: GetKeywordInReviewReport
      parameters:
      - name: account-id
        in: path
        description: The account to generate a report for
        required: true
        schema:
          type: string
          format: int64
      - name: limit
        in: query
        description: Number of items per page
        schema:
          maximum: 50
          minimum: 1
          type: integer
          format: int32
          default: 25
      - name: offset
        in: query
        description: Offset for pagination
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceCollectionOutcomeLineItemKeywordReviewReportAndMetadata'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/accounts/{account-id}/line-items:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{account-id}/line-items
      description: Gets page of line item objects for the given account id
      operationId: GetLineItemsByAccountId
      parameters:
      - name: account-id
        in: path
        description: The given account id
        required: true
        schema:
          type: string
      - name: limitToCampaignId
        in: query
        description: The campaign ids that you would like to limit your result set to
        schema:
          type: array
          items:
            type: string
      - name: limitToId
        in: query
        description: The ids that you would like to limit your result set to
        schema:
          type: array
          items:
            type: string
      - name: limitToType
        in: query
        description: The campaign types that you would like to limit your result set to
        schema:
          enum:
          - Unknown
          - Auction
          - Preferred
          type: string
          nullable: true
      - name: pageIndex
        in: query
        description: The 0 indexed page index you would like to receive given the page size
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: The maximum number of items you would like to receive in this request
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
          default: 25
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonLineItemPagedListResponse'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/accounts/{accountId}/balances:
    get:
      tags:
      - Balance
      summary: /2026-07/retail-media/accounts/{accountId}/balances
      description: Gets page of balance objects for the given account id.
      operationId: GetPageOfBalancesV1
      parameters:
      - name: accountId
        in: path
        description: The account to get balances for.
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The number of elements to be returned.
        schema:
          maximum: 500
          minimum: 1
          type: integer
          format: int32
          default: 25
      - name: limit-to-id
        in: query
        description: The balance ids which the result is limited to.
        schema:
          maxItems: 50
          type: array
          items:
            type: string
      - name: offset
        in: query
        description: The (zero-based) starting offset in the collection.
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceCollectionOutcomeBalanceV1AndMetadata'
      security:
      - oauth:
        - RetailMedia_Balance_Read
  /2026-07/retail-media/accounts/{accountId}/brand-catalog-export:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{accountId}/brand-catalog-export
      description: Create a request for a Catalog available to the indicated account.
      operationId: CreateBrandCatalogExport
      parameters:
      - name: accountId
        in: path
        description: The account to request the catalog for.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfBrandCatalogRequestV2'
        required: true
      responses:
        '200':
          description: Catalog request successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfCata

# --- truncated at 32 KB (396 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/criteo/refs/heads/main/openapi/criteo-retail-media-api-openapi.yml