Moloco Commerce Media Management API

REST API for retail-media platform operators to manage ad manager accounts, ad accounts, campaigns, sponsored product/brand/display and reserved-display line items, image and video assets, custom targeting keys and values, campaign reviews, spend caps, spending limits, credits, wallets, change history, item kill switch, data-export key rotation and user data deletion requests, plus reporting and forecasting.

OpenAPI Specification

moloco-commerce-media-management-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Management API
  description: MOLOCO RMP Management API provides functionalities for MOLOCO RMP systems.
  version: '1.0'
  contact:
    name: Moloco Inc.
    url: https://www.molocoads.com
tags:
- name: RmpManagementApi
paths:
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts:
    get:
      summary: ListAdAccounts
      description: List all the ad accounts on the platform.
      operationId: RmpManagementApi_ListAdAccounts
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicListAdAccountsResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      tags:
      - AdAccount
    post:
      summary: CreateAdAccount
      description: Create a new ad account.
      operationId: RmpManagementApi_CreateAdAccount
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicCreateAdAccountResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ad_account:
                  $ref: '#/components/schemas/publicCreateAdAccountRequestAdAccountInfo'
              description: CreateAdAccount request.
              required:
              - ad_account
              additionalProperties: true
        required: true
      tags:
      - AdAccount
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}:
    get:
      summary: ReadAdAccount
      description: Read a ad account.
      operationId: RmpManagementApi_ReadAdAccount
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicReadAdAccountResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: AdAccount id.
        in: path
        required: true
        schema:
          type: string
      tags:
      - AdAccount
    put:
      summary: UpdateAdAccount
      description: Update an ad account.
      operationId: RmpManagementApi_UpdateAdAccount
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicUpdateAdAccountResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: AdAccount id.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ad_account:
                  $ref: '#/components/schemas/publicUpdateAdAccountRequestAdAccountInfo'
              description: UpdateAdAccount request.
              required:
              - ad_account
              additionalProperties: true
        required: true
      tags:
      - AdAccount
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/audience-report:
    post:
      summary: QueryAudienceSummary
      description: Read summarized reporting information of campaign with respect to audience targeting.
      operationId: RmpManagementApi_QueryAudienceSummary
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicReadAudienceReportSummaryResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: AdAccount id.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                date_start:
                  type: string
                  description: Date in 'YYYY-MM-DD' when summary begins. Inclusive. The allowed maximum duration for the date
                    range is 30 days.
                date_end:
                  type: string
                  description: Date in 'YYYY-MM-DD' when summary ends. Inclusive. The allowed maximum duration for the date
                    range is 30 days.
                limit:
                  type: string
                  format: int64
                  description: Maximum number of rows to be returned. Cannot exceed 50,000.
              description: ReadAudienceReportSummary request.
              required:
              - date_start
              - date_end
              additionalProperties: true
        required: true
      tags:
      - Report
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-forecast:
    post:
      summary: ReadCampaignForecast
      description: Show campaign forecast metrics such as click, imp, and purchase when an advertiser sets up their campaign.
      operationId: RmpManagementApi_ReadCampaignForecast
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicReadCampaignForecastResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: AdAccount id. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                forecast_campaign:
                  $ref: '#/components/schemas/ReadCampaignForecastRequestForecastCampaignParams'
              description: ReadCampaignForecast request.
              required:
              - forecast_campaign
              additionalProperties: true
        required: true
      tags:
      - Intelligence
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-guidances:
    get:
      summary: ReadCampaignGuidance
      description: Read guidance for a reasonable campaign setup.
      operationId: RmpManagementApi_ReadCampaignGuidance
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicReadCampaignGuidanceResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: AdAccount id.
        in: path
        required: true
        schema:
          type: string
      - name: campaign_id
        description: Campaign id must be specified when requesting guidance for an existing campaign to be guided according
          to the campaign history.
        in: query
        required: false
        schema:
          type: string
      - name: goal_type
        description: Campaign goal type must be specified when requesting guidance for a new campaign to be selectively guided
          according to the goal.
        in: query
        required: false
        schema:
          type: string
          enum:
          - FIXED_CPC
          - OPTIMIZE_ROAS
          - FIXED_COMMISSION_RATE
          default: UNKNOWN_CAMPAIGN_GOAL_TYPE
      - name: ad_type
        description: Campaign ad type must be specified when requesting guidance for a new campaign.
        in: query
        required: false
        schema:
          type: string
          enum:
          - ITEM
          default: UNKNOWN_AD_TYPE
      tags:
      - Intelligence
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-reviews:
    get:
      summary: ListCampaignReviews
      description: List campaign reviews.
      operationId: RmpManagementApi_ListCampaignReviews
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicListCampaignReviewsResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: The id of the ad account that owns this campaign review.
        in: path
        required: true
        schema:
          type: string
      - name: campaign_id
        description: The id of the campaign that owns this campaign review.
        in: query
        required: false
        schema:
          type: string
      - name: brand_entity_type
        description: Brand entity type to be listed. Default is ALL type.
        in: query
        required: false
        schema:
          type: string
          enum:
          - ALL
          - ASSET
          - LANDING_PAGE
          default: ALL
      - name: brand_entity_ids
        description: Lists campaign reviews for given entity ids.
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      tags:
      - Campaign
    post:
      summary: CreateCampaignReview
      description: Create a campaign component's review. It generates the review for the given campaign's resources such as
        assets or landing page
      operationId: RmpManagementApi_CreateCampaignReview
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicCreateCampaignReviewResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: The id of the ad account that owns this campaign review.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                campaign_id:
                  type: string
                  description: The id of the campaign that owns this campaign review.
                brand_entity_type:
                  $ref: '#/components/schemas/commonBrandEntityType'
                brand_entity_id:
                  type: string
                  description: Brand entity id of the review. It must be asset id or landing page id.
                review_status:
                  $ref: '#/components/schemas/commonReviewStatus'
                rejection_reason:
                  type: string
                  description: If the review status is rejected, this field must contain the reason for rejection.
              description: CreateCampaignReview request.
              required:
              - campaign_id
              - brand_entity_type
              - brand_entity_id
              - review_status
              additionalProperties: true
        required: true
      tags:
      - Campaign
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-reviews-bulk:
    put:
      summary: UpdateCampaignReviewsBulk
      description: Update campaign components' reviews in bulk.
      operationId: RmpManagementApi_UpdateCampaignReviewsBulk
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicUpdateCampaignReviewsBulkResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: The id of the ad account that owns this campaign review.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                campaign_id:
                  type: string
                  description: The id of the campaign that owns this campaign review.
                campaign_reviews:
                  type: array
                  items:
                    $ref: '#/components/schemas/v1CampaignReview'
                  description: Campaign reviews bulk update information.
              description: UpdateCampaignReviewsBulk request.
              required:
              - campaign_id
              - campaign_reviews
              additionalProperties: true
        required: true
      tags:
      - Campaign
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-reviews/{brand_entity_id}:
    put:
      summary: UpdateCampaignReview
      description: Update a campaign component's review. It updates the review status of the given campaign's resources such
        as assets or landing page
      operationId: RmpManagementApi_UpdateCampaignReview
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicUpdateCampaignReviewResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: The id of the ad account that owns this campaign review.
        in: path
        required: true
        schema:
          type: string
      - name: brand_entity_id
        description: Brand entity id of the review. It must be asset id or landing page id.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                campaign_id:
                  type: string
                  description: The id of the campaign that owns this campaign review.
                campaign_review:
                  $ref: '#/components/schemas/v1CampaignReview'
              description: UpdateCampaignReview request.
              required:
              - campaign_id
              - campaign_review
              additionalProperties: true
        required: true
      tags:
      - Campaign
  /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaigns:
    get:
      summary: ListCampaigns
      description: List all the campaigns of an ad account.
      operationId: RmpManagementApi_ListCampaigns
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicListCampaignsResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
          description: Internal server error. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
      parameters:
      - name: platform_id
        description: Identifier of the platform who requests management api. It is passed as a path parameter.
        in: path
        required: true
        schema:
          type: string
      - name: ad_account_id
        description: AdAccount id.
        in: path
        required: true
        schema:
          type: string
      - name: without_catalog_item_ids
        description: Option to exclude catalog item ids which belonging to the campaign. It is passed as a query parameter.
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - Campaign
    post:
      summary: CreateCampaign
      description: Create a campaign of an ad account. The daily_budget field is deprecated. Please use the budget field as
        an alternative.
      operationId: RmpManagementApi_CreateCampaign
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicCreateCampaignResponse'
        '400':
          description: Bad request. Detailed cause can be found in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '404':
          description: Not found. One or more required resources do not exist.You can see the details in the response message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/publicRepresentedError'
        '500':
        

# --- truncated at 32 KB (727 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/moloco/refs/heads/main/openapi/moloco-commerce-media-management-openapi.yml