HookLogic (Criteo) Campaign API

The Campaign API from HookLogic (Criteo) — 54 operation(s) for campaign.

OpenAPI Specification

hooklogic-criteo-campaign-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Criteo Accounts Campaign API
  description: Criteo API - RetailMedia
  version: 2026-07
servers:
- url: https://api.criteo.com
security:
- oauth: []
tags:
- name: Campaign
paths:
  /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}/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/EntityResourceOutcomeOfCatalogStatusV2'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/accounts/{accountId}/brands:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{accountId}/brands
      description: Gets page of retailer objects that are associated with the given account
      operationId: GetBrandsByAccountId
      parameters:
      - name: accountId
        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:
          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/JsonApiPageResponseOfBrand'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/accounts/{accountId}/catalogs:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{accountId}/catalogs
      description: Create a request for a Catalog available to the indicated account.
      operationId: CatalogApi_PostApiV1ExternalAccountCatalogsByAccountId
      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/JsonApiRequestOfCatalogRequest'
        required: true
      responses:
        '200':
          description: Catalog request successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiSingleResponseOfCatalogStatus'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/accounts/{accountId}/catalogs/sellers:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{accountId}/catalogs/sellers
      description: Create a request for a Catalog available to the indicated account.
      operationId: Catalog_PostApiExternalV1AccountCatalogsSellersByAccountId
      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/JsonApiRequestOfSellerCatalogRequest'
        required: true
      responses:
        '200':
          description: Catalog request successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiSingleResponseOfCatalogStatus'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/accounts/{accountId}/retailers/search:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{accountId}/retailers/search
      description: Searches for retailers associated with the specified account and returns budget model availability for each retailer
      operationId: SearchAccountRetailers
      parameters:
      - name: accountId
        in: path
        description: The external account identifier
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The maximum number of items to return. Must be between 1 and 10. Default is 5.
        schema:
          maximum: 10
          minimum: 1
          type: integer
          format: int32
          default: 5
      - name: offset
        in: query
        description: The number of items to skip before starting to collect the result set. Default is 0.
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      requestBody:
        description: The search request containing filtering parameters
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfRetailerSearchRequestV2'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceCollectionOutcomeOfRetailerResultV2AndMetadata'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/accounts/{accountId}/seller-catalog-export:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/accounts/{accountId}/seller-catalog-export
      description: Create a request for a Catalog available to the indicated account.
      operationId: CreateSellerCatalogExport
      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/ValueResourceInputOfSellerCatalogRequestV2'
        required: true
      responses:
        '200':
          description: Catalog request successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfCatalogStatusV2'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/assets:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/assets
      description: Creates an asset
      operationId: CreateAsset
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - AssetFile
              properties:
                AssetFile:
                  type: string
                  description: The asset binary content
                  format: binary
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetResponse'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/auction-line-items/{lineItemId}:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/auction-line-items/{lineItemId}
      description: Gets a sponsored product line item by its id.
      operationId: GetAuctionLineItem
      parameters:
      - name: lineItemId
        in: path
        description: The id of the line item
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfSponsoredProductsLineItem'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    put:
      tags:
      - Campaign
      summary: /2026-07/retail-media/auction-line-items/{lineItemId}
      description: Updates a Sponsored Products Line Item given a line item id and a request.
      operationId: UpdateAuctionLineItem
      parameters:
      - name: lineItemId
        in: path
        description: The external line item ID of the sponsored products line item.
        required: true
        schema:
          type: string
      requestBody:
        description: An update request containing all details of the requested update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfSponsoredProductsLineItemUpdateRequestModel'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfSponsoredProductsLineItem'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/balances/{balance-id}/campaigns/append:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/balances/{balance-id}/campaigns/append
      description: appends one or more campaigns to the specified balance
      operationId: AppendCampaignsByBalanceId
      parameters:
      - name: balance-id
        in: path
        description: The balance to add campaigns from
        required: true
        schema:
          type: string
      requestBody:
        description: The campaigns to append
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BalanceCampaign202110ListRequest'
        x-bodyName: campaigns
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceCampaign202110PagedListResponse'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/balances/{balance-id}/campaigns/delete:
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/balances/{balance-id}/campaigns/delete
      description: Removes one or more campaigns on the specified balance
      operationId: DeleteCampaignsByBalanceId
      parameters:
      - name: balance-id
        in: path
        description: The balance to remove campaigns from
        required: true
        schema:
          type: string
      requestBody:
        description: The campaigns to append
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BalanceCampaign202110ListRequest'
        x-bodyName: campaigns
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceCampaign202110PagedListResponse'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/campaigns/{campaign-id}/preferred-line-items:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaign-id}/preferred-line-items
      description: Gets page of preferred line item objects for the given campaign id
      operationId: GetPreferredLineItemsByCampaignId
      parameters:
      - name: campaign-id
        in: path
        description: The given campaign 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/PreferredLineItemV2PagedListResponse'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaign-id}/preferred-line-items
      description: Creates a new preferred line item with the specified settings
      operationId: CreatePreferredLineItemByCampaignId
      parameters:
      - name: campaign-id
        in: path
        description: The given campaign id
        required: true
        schema:
          type: string
      requestBody:
        description: The line item settings to create a line item with
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreferredLineItemCreateModelV2Request'
        required: true
        x-bodyName: lineItem
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreferredLineItemV2Response'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/campaigns/{campaignId}:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaignId}
      description: Gets the campaign for the given campaign id
      operationId: GetCampaignByCampaignId
      parameters:
      - name: campaignId
        in: path
        description: The given campaign id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiSingleResponseOfCampaignV202301'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    put:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaignId}
      description: Updates the campaign for the given campaign id
      operationId: UpdateCampaignByCampaignId
      parameters:
      - name: campaignId
        in: path
        description: The given campaign id
        required: true
        schema:
          type: string
      requestBody:
        description: The campaign settings to update that campaign with
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutCampaignV202301'
        required: true
        x-bodyName: campaign
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiSingleResponseOfCampaignV202301'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/campaigns/{campaignId}/auction-line-items:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaignId}/auction-line-items
      description: Gets a page of sponsored product line items by campaign id.
      operationId: GetAuctionLineItemsByCampaign
      parameters:
      - name: campaignId
        in: path
        description: The id of the campaign
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: The number of elements to be returned on a page.
        schema:
          maximum: 500
          minimum: 1
          type: integer
          format: int32
          default: 25
      - name: limitToIds
        in: query
        description: The ids to limit the auction line item results to
        schema:
          type: array
          items:
            type: string
      - name: offset
        in: query
        description: The (zero-based) starting offset into the collection.
        schema:
          maximum: 2147483647
          minimum: 0
          type: integer
          format: int32
          default: 0
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceCollectionOutcomeOfSponsoredProductsLineItemAndMetadata'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    post:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaignId}/auction-line-items
      description: Creates new auction line item with the specified settings
      operationId: CreateAuctionLineItem
      parameters:
      - name: campaignId
        in: path
        description: The given campaign id
        required: true
        schema:
          type: string
      requestBody:
        description: The line item settings to create a line item with
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfSponsoredProductsLineItemCreateRequestModel'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityResourceOutcomeOfSponsoredProductsLineItem'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides
      description: Get current campaign budget overrides by given campaign id.
      operationId: GetCampaignBudgetOverrides
      parameters:
      - name: campaignId
        in: path
        description: Campaign id.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValueResourceOutcomeOfCampaignBudgetOverrides'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
    put:
      tags:
      - Campaign
      summary: /2026-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides
      description: Update campaign budget overrides by given campaign id and new campaign budget overrides settings.
      operationId: UpdateCampaignBudgetOverrides
      parameters:
      - name: campaignId
        in: path
        description: Campaign id.
        required: true
        schema:
          type: string
      requestBody:
        description: New campaign budget overrides settings value resource input.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides'
        required: true
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValueResourceOutcomeOfCampaignBudgetOverrides'
      security:
      - oauth:
        - RetailMedia_Campaign_Manage
  /2026-07/retail-media/catalogs/{catalogId}/output:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/catalogs/{catalogId}/output
      description: "Output the indicated catalog. Catalogs are only available for retrieval when their associated status request\r\nis at a Success status.\r\nProduces application/x-json-stream CatalogProduct json objects (first introduced in the 2021-07 version)."
      operationId: GetCatalogOutput
      parameters:
      - name: catalogId
        in: path
        description: A catalog ID returned from an account catalog request.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Catalog download initiated.
          content:
            application/x-json-stream:
              schema:
                type: string
                format: binary
        '204':
          description: Catalog has expired.
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/catalogs/{catalogId}/status:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/catalogs/{catalogId}/status
      description: Check the status of a catalog request.
      operationId: GetCatalogStatus
      parameters:
      - name: catalogId
        in: path
        description: A catalog ID returned from an account catalog request.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Catalog request found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonApiSingleResponseOfCatalogStatus'
      security:
      - oauth:
        - RetailMedia_Campaign_Read
  /2026-07/retail-media/categories:
    get:
      tags:
      - Campaign
      summary: /2026-07/retail-media/categories
      description: Endpoint to search categories by text and retailer.
      operationId: CategorySearch_GetApiExternalV1Categories
      parameters:
      - name: pageIndex
        in: query
        description: The start position in the overall list of matches. Must be zero or greater.
        schema:
          maximum: 500
          minimum: 0
          type: integer
          format: int32
          default: 0
      - name: pageSize
        in: query
        description: The maximum number of results to return with each call. Must be greater than zero.
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
        

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