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

# /2025-04/retail-media/accounts/{accountId}/catalogs

> Create a request for a Catalog available to the indicated account.



## OpenAPI

````yaml https://api.criteo.com/2025-04/retailmedia/open-api-specifications.json post /2025-04/retail-media/accounts/{accountId}/catalogs
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - RetailMedia
  version: 2025-04
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Accounts
  - name: Analytics
  - name: Audience
  - name: Balance
  - name: Campaign
  - name: Gateway
paths:
  /2025-04/retail-media/accounts/{accountId}/catalogs:
    post:
      tags:
        - Campaign
      summary: /2025-04/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
components:
  schemas:
    JsonApiRequestOfCatalogRequest:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest
      additionalProperties: false
      description: >-
        A JSON:API wrapper class to format a <typeparamref name="TAttributes" />
        with Type, and Attributes properties
    JsonApiSingleResponseOfCatalogStatus:
      required:
        - data
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus
        errors:
          type: array
          items:
            $ref: '#/components/schemas/CommonError'
          nullable: true
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/CommonWarning'
          nullable: true
      additionalProperties: false
      description: >-
        A JSON:API wrapper class to add one JSON:API <typeparamref name="T" />
        within a data property
    JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest:
      required:
        - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ExternalCatalogRequest'
        type:
          type: string
      additionalProperties: false
      description: "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with Type, and\r\nAttributes properties"
    JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus:
      required:
        - id
        - type
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/ExternalCatalogStatus'
        id:
          type: string
          format: long-id
        type:
          type: string
      additionalProperties: false
      description: "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties"
    CommonError:
      type: object
      properties:
        code:
          type: string
          description: >-
            (REQUIRED) A machine-readable unique error code, expressed as a
            string value. The format used must be kebab-case.
          nullable: true
        detail:
          type: string
          description: >-
            (RECOMMENDED) A human-readable explanation specific to this
            occurrence of the problem.
          nullable: true
        instance:
          type: string
          description: >-
            (REQUIRED) A URI reference that identifies the specific occurrence
            of the problem.
          nullable: true
        source:
          type: object
          additionalProperties:
            type: string
          description: >-
            (OPTIONAL) A machine-readable structure to reference to the exact
            location(s) causing the error(s)
          nullable: true
        stackTrace:
          type: string
          description: >-
            (NEVER IN PRODUCTION) A human-readable stacktrace produced by the
            implementation technology
          nullable: true
        title:
          type: string
          description: (RECOMMENDED) A short, human-readable summary of the problem type.
          nullable: true
        traceId:
          type: string
          description: >-
            (REQUIRED) The Correlation ID provided by the Gateway. It is also a
            unique identifier for this particular occurrence of the problem.
          nullable: true
        type:
          enum:
            - unknown
            - access-control
            - authentication
            - authorization
            - availability
            - deprecation
            - quota
            - validation
          type: string
          description: (REQUIRED) The classification of the error.
          nullable: true
      additionalProperties: false
      description: A JSON:API Common error structure
    CommonWarning:
      type: object
      properties:
        code:
          type: string
          description: >-
            (REQUIRED) A machine-readable unique error code, expressed as a
            string value. The format used must be kebab-case.
          nullable: true
        detail:
          type: string
          description: >-
            (RECOMMENDED) A human-readable explanation specific to this
            occurrence of the problem.
          nullable: true
        instance:
          type: string
          description: >-
            (REQUIRED) A URI reference that identifies the specific occurrence
            of the problem.
          nullable: true
        source:
          type: object
          additionalProperties:
            type: string
          description: >-
            (OPTIONAL) A machine-readable structure to reference to the exact
            location(s) causing the error(s)
          nullable: true
        stackTrace:
          type: string
          description: >-
            (NEVER IN PRODUCTION) A human-readable stacktrace produced by the
            implementation technology
          nullable: true
        title:
          type: string
          description: (RECOMMENDED) A short, human-readable summary of the problem type.
          nullable: true
        traceId:
          type: string
          description: >-
            (REQUIRED) The Correlation ID provided by the Gateway. It is also a
            unique identifier for this particular occurrence of the problem.
          nullable: true
        type:
          enum:
            - unknown
            - access-control
            - authentication
            - authorization
            - availability
            - deprecation
            - quota
            - validation
          type: string
          description: (REQUIRED) The classification of the error.
          nullable: true
      additionalProperties: false
      description: A JSON:API Base common warning
    ExternalCatalogRequest:
      type: object
      properties:
        brandIdFilter:
          type: array
          items:
            type: string
            format: long-id
          nullable: true
        format:
          enum:
            - unknown
            - json-newline
          type: string
          description: An enumeration of Catalog formats
          default: json-newline
      additionalProperties: false
      description: >-
        A request for a catalog under the specified format. Currently
        "json-newline" is supported.
    ExternalCatalogStatus:
      required:
        - createdAt
        - currency
        - fileSizeBytes
        - md5Checksum
        - message
        - rowCount
        - status
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            The time this catalog was created. Represented as a UTC ISO8601
            string.
          format: date-time
        currency:
          type: string
          description: >-
            An ISO4217 representation of the currency products are listed under
            in this catalog.
          nullable: true
        fileSizeBytes:
          type: integer
          description: >-
            The size of this catalog in bytes. Available when this catalog
            reaches a success status.
          format: int32
          nullable: true
        md5Checksum:
          type: string
          description: "An MD5 checksum of the catalog for use in confirming complete and uncorrupted retrieval.\r\nAvailable when this catalog reaches a success status."
          nullable: true
        message:
          type: string
          description: An optional information message intended for developer consumption.
          nullable: true
        rowCount:
          type: integer
          description: "An indication of the number of products contained in this catalog. Available when\r\nthis catalog reaches a success status."
          format: int32
          nullable: true
        status:
          enum:
            - unknown
            - pending
            - success
            - failure
            - expired
          type: string
          description: An enumeration of the status of the catalog.
      additionalProperties: false
      description: The status of an asynchronous request to generate a catalog
      nullable: true
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}
        authorizationCode:
          authorizationUrl: https://api.criteo.com/oauth2
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}

````