> ## 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.

# /preview/retail-media/reports/missed-opportunities

> Creates a missed-opportunities async report. The request accepts explicit missed-opportunities dimensions, metrics, and filters.
<br />
This endpoint is subject to specific rate limits.



## OpenAPI

````yaml https://api.criteo.com/preview/retailmedia/open-api-specifications.json post /preview/retail-media/reports/missed-opportunities
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - RetailMedia
  version: Preview
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Accounts
  - name: Analytics
  - name: Audience
  - name: Balance
  - name: Campaign
  - name: Catalog
  - name: Gateway
  - name: OnSiteRecommendation
  - name: ThirdPartyAccounts
paths:
  /preview/retail-media/reports/missed-opportunities:
    post:
      tags:
        - Analytics
      summary: /preview/retail-media/reports/missed-opportunities
      description: "Creates a missed-opportunities async report. The request accepts explicit missed-opportunities dimensions, metrics, and filters.\r\n<br />\r\nThis endpoint is subject to specific rate limits."
      operationId: CreateAsyncMissedOpportunitiesReport
      requestBody:
        description: Required create payload.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AsyncMissedOpportunitiesReportRequest'
        required: true
        x-bodyName: request
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncReportResponse'
      security:
        - oauth:
            - RetailMedia_Analytics_Read
components:
  schemas:
    AsyncMissedOpportunitiesReportRequest:
      required:
        - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AsyncMissedOpportunitiesReportResource'
      additionalProperties: false
      description: >-
        A top-level object that encapsulates a missed-opportunities async report
        create request.
    AsyncReportResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StatusResponseResource'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          nullable: true
          readOnly: true
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          nullable: true
          readOnly: true
      description: Async Report response format
    AsyncMissedOpportunitiesReportResource:
      required:
        - attributes
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/AsyncMissedOpportunitiesReport'
        type:
          enum:
            - AsyncMissedOpportunitiesReport
          type: string
          description: >-
            Optional JSON:API resource type. If provided, it must match this
            create resource.
      additionalProperties: false
      description: >-
        JSON:API resource wrapper for a missed-opportunities async report create
        request.
    StatusResponseResource:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/StatusResponse'
        id:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
      description: A class that represents a domain entity exposed by an API
      nullable: true
    CommonProblem:
      type: object
      properties:
        code:
          type: string
          description: A machine-readable error code, expressed as a string value.
          nullable: true
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem
          nullable: true
        instance:
          type: string
          description: A URI that identifies the specific occurrence of the problem.
          nullable: true
        source:
          type: object
          additionalProperties:
            type: string
          description: >-
            A machine-readable structure to reference to the exact location(s)
            causing the error(s)
          nullable: true
        stackTrace:
          type: string
          nullable: true
        title:
          type: string
          description: A short human-readable description of the problem type
          nullable: true
        traceId:
          type: string
          description: The request correlation ID this problem comes from.
          nullable: true
        traceIdentifier:
          type: string
          description: >-
            The request correlation ID this problem comes from. (deprecated, use
            traceId instead)
          nullable: true
        type:
          enum:
            - unknown
            - access-control
            - authentication
            - authorization
            - availability
            - deprecation
            - quota
            - validation
          type: string
          description: The problem's category.
          nullable: true
      description: Common problem object.
    AsyncMissedOpportunitiesReport:
      required:
        - endDate
        - filters
        - metrics
        - dimensions
        - startDate
      type: object
      properties:
        dimensions:
          type: array
          items:
            enum:
              - date
              - campaignId
              - campaignName
              - lineItemId
              - lineItemName
              - retailerId
              - retailerName
              - buyType
              - bidStrategy
            type: string
          description: >-
            Required output grouping fields. Empty array means no grouping
            fields. At least one of dimensions or metrics must be non-empty.
        endDate:
          type: string
          description: >-
            Required inclusive report end date in YYYY-MM-DD format. Must be
            greater than or equal to startDate.
          format: date
        filters:
          $ref: '#/components/schemas/MissedOpportunitiesReportFilters'
        format:
          enum:
            - json
            - json-compact
            - json-newline
            - csv
          type: string
          description: Output format. If omitted, json-compact is used.
          default: json-compact
        metrics:
          type: array
          items:
            enum:
              - daypartingScheduled
              - totalSpend
              - roas
              - capoutHour
              - attributedSales
              - impressions
              - clicks
              - cpc
              - cpm
              - ctr
              - missedTraffic
              - missedSpend
              - missedClicks
              - missedImpressions
              - missedSales
            type: string
          description: >-
            Required output measure fields. Empty array means no measure fields.
            At least one of dimensions or metrics must be non-empty.
        startDate:
          type: string
          description: Required inclusive report start date in YYYY-MM-DD format.
          format: date
      additionalProperties: false
      description: Create payload attributes for a missed-opportunities async report.
    StatusResponse:
      type: object
      properties:
        createdAt:
          type: string
          nullable: true
        expiresAt:
          type: string
          nullable: true
        fileSizeBytes:
          type: integer
          format: int64
          nullable: true
        id:
          type: string
          nullable: true
        md5CheckSum:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
        rowCount:
          type: integer
          format: int32
          nullable: true
        status:
          enum:
            - pending
            - success
            - failure
            - expired
          type: string
          nullable: true
      description: Status of an async report request
      nullable: true
      x-criteo-canonical:
        infoType: entity
    MissedOpportunitiesReportFilters:
      type: object
      properties:
        accountIds:
          maxItems: 5
          minItems: 1
          type: array
          items:
            type: string
          description: Optional scope filter. Allows up to 5 account IDs per request.
        campaignIds:
          maxItems: 50
          minItems: 1
          type: array
          items:
            type: string
          description: Optional scope filter. Allows up to 50 campaign IDs per request.
        lineItemIds:
          maxItems: 50
          minItems: 1
          type: array
          items:
            type: string
          description: Optional scope filter. Allows up to 50 line-item IDs per request.
        mediaTypes:
          minItems: 1
          type: array
          items:
            enum:
              - unknown
              - video
              - display
            type: string
          description: Optional inherited media type filter.
        salesChannels:
          minItems: 1
          type: array
          items:
            enum:
              - online
              - offline
            type: string
          description: Optional inherited sales channel filter.
      additionalProperties: false
      description: >-
        Array-valued constraints for missed-opportunities reporting. At least
        one of accountIds, campaignIds, or lineItemIds is required.
  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: {}

````