---
updatedAt: 2026-08-13T03:59:09.000Z
agentTools:
  projectIndex: https://mcm-docs.moloco.com/llms.txt
---

# ListCampaignRecommendations

List active campaign recommendations for an ad account.

# OpenAPI definition

```json
{
  "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"
    }
  },
  "paths": {
    "/rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-recommendations": {
      "get": {
        "summary": "ListCampaignRecommendations",
        "description": "List active campaign recommendations for an ad account.",
        "operationId": "RmpManagementApi_ListCampaignRecommendations",
        "responses": {
          "200": {
            "description": "A successful response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/publicListPublicCampaignRecommendationsResponse"
                }
              }
            }
          },
          "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. It is passed as a path parameter.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ad_account_id",
            "description": "Identifier of the ad account. It is passed as a path parameter.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "tags": [
          "CampaignRecommendation"
        ]
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "x-readme": {
    "explorer-enabled": false
  },
  "servers": [
    {
      "url": "https://<platform>-mgmt.mcm-api.moloco.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header"
      }
    },
    "schemas": {
      "CampaignGoalMaximizeSales": {
        "type": "object",
        "description": "Detailed configuration of MAXIMIZE_SALES goal.",
        "additionalProperties": true
      },
      "CampaignGoalOptimizeFixedCommissionRate": {
        "type": "object",
        "properties": {
          "commission_rate": {
            "type": "number",
            "format": "double",
            "description": "Target commission rate percentage, rounded off to one decimal point."
          }
        },
        "description": "Detailed configuration of FIXED_COMMISSION_RATE goal.",
        "required": [
          "commission_rate"
        ],
        "additionalProperties": true
      },
      "CampaignGoalOptimizeFixedCpm": {
        "type": "object",
        "properties": {
          "target_cpm": {
            "$ref": "#/components/schemas/rmpcommonMoneyMicro"
          }
        },
        "description": "Detailed configuration of FIXED_CPM goal.",
        "required": [
          "target_cpm"
        ],
        "additionalProperties": true
      },
      "CampaignRecommendationCampaignRecommendationStatus": {
        "type": "string",
        "enum": [
          "UNKNOWN_CAMPAIGN_RECOMMENDATION_STATUS",
          "CAMPAIGN_RECOMMENDATION_STATUS_ACTIVE",
          "CAMPAIGN_RECOMMENDATION_STATUS_ACCEPTED",
          "CAMPAIGN_RECOMMENDATION_STATUS_DISMISSED",
          "CAMPAIGN_RECOMMENDATION_STATUS_EXPIRED"
        ],
        "default": "UNKNOWN_CAMPAIGN_RECOMMENDATION_STATUS"
      },
      "CampaignRecommendationCampaignRecommendationTriggerType": {
        "type": "string",
        "enum": [
          "UNKNOWN_CAMPAIGN_RECOMMENDATION_TRIGGER_TYPE",
          "CAMPAIGN_RECOMMENDATION_TRIGGER_TYPE_NEW_USER",
          "CAMPAIGN_RECOMMENDATION_TRIGGER_TYPE_DORMANT_USER",
          "CAMPAIGN_RECOMMENDATION_TRIGGER_TYPE_CHURNED_USER"
        ],
        "default": "UNKNOWN_CAMPAIGN_RECOMMENDATION_TRIGGER_TYPE"
      },
      "CampaignRecommendationCampaignRecommendationType": {
        "type": "string",
        "enum": [
          "UNKNOWN_CAMPAIGN_RECOMMENDATION_TYPE",
          "CAMPAIGN_RECOMMENDATION_TYPE_NEW_ITEM",
          "CAMPAIGN_RECOMMENDATION_TYPE_HIGH_POTENTIAL",
          "CAMPAIGN_RECOMMENDATION_TYPE_SMART_SELECTION",
          "CAMPAIGN_RECOMMENDATION_TYPE_INTELLIGENT",
          "CAMPAIGN_RECOMMENDATION_TYPE_TOTAL_REACH"
        ],
        "default": "UNKNOWN_CAMPAIGN_RECOMMENDATION_TYPE",
        "description": "Recommendation campaign type produced by the recommendation engine."
      },
      "RepresentedErrorDetail": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the metadata."
          },
          "category": {
            "$ref": "#/components/schemas/commonErrorCategory"
          },
          "metadata": {
            "type": "object",
            "description": "The metadata of the responded error.",
            "additionalProperties": true
          }
        },
        "required": [
          "type",
          "category"
        ],
        "additionalProperties": true
      },
      "commonErrorCategory": {
        "type": "string",
        "enum": [
          "DEFAULT_ERROR_CATEGORY",
          "INPUT_VALIDATION",
          "CHARACTER_LIMIT_EXCEEDED",
          "TIMESTAMP_MISMATCH",
          "FEATURE_NOT_ALLOWED",
          "REINVITE_NOT_ALLOWED",
          "LAST_OWNER_REVOKE_NOT_ALLOWED",
          "LAST_OWNER_DELETE_NOT_ALLOWED",
          "SSO_USER_JOIN_REQUEST_NOT_ALLOWED",
          "MFA_VERIFICATION_FAILED",
          "INSUFFICIENT_SPENDING_LIMIT",
          "AD_ACCOUNT_ALREADY_OWNED",
          "INSUFFICIENT_WALLET_BALANCE",
          "INSUFFICIENT_SPEND_CAP_BUDGET",
          "MAX_SPEND_CAP_COUNT_REACHED",
          "MAX_CAMPAIGNS_COUNT_PER_SPEND_CAP_REACHED",
          "MAX_CAMPAIGN_COUNT_REACHED",
          "MODIFY_ARCHIVED_CAMPAIGN_NOT_ALLOWED",
          "INVALID_CAMPAIGN_STATUS_FOR_ARCHIVE",
          "INVALID_MANAGED_CPT_CAMPAIGN_SCHEDULE",
          "INACTIVE_AD_ACCOUNT",
          "DUPLICATE_AUDIENCE",
          "INVALID_RESERVED_TIME_LINE_ITEM_SCHEDULE",
          "EXCEED_MAX_IMAGE_SIZE",
          "MAX_LABEL_COUNT_REACHED",
          "MAX_LABEL_VALUE_COUNT_REACHED",
          "MAX_LABEL_VALUE_RELATIONSHIP_COUNT_REACHED",
          "PLATFORM_INSIGHT_UNAVAILABLE",
          "MAX_CUSTOM_TARGETING_KEY_COUNT_REACHED",
          "INVALID_CUSTOM_TARGETING"
        ],
        "default": "DEFAULT_ERROR_CATEGORY",
        "title": "- INPUT_VALIDATION: INPUT_VALIDATION: reserved for 1 ~ 99\n - TIMESTAMP_MISMATCH: TIMESTAMP_MISSMATCH: reserved for 100 ~ 199\n - FEATURE_NOT_ALLOWED: General policy: 1000 ~ 1999\n - REINVITE_NOT_ALLOWED: User policy: 2000 ~ 2999\n - INSUFFICIENT_SPENDING_LIMIT: Account policy: 3000 ~ 3999\nThis policy includes ad manager account, ad account, and wallet related policies\n - MAX_CAMPAIGN_COUNT_REACHED: Campaign policy: 4000 ~ 4999\n - INVALID_RESERVED_TIME_LINE_ITEM_SCHEDULE: Returned when a RESERVED_TIME line item's schedule overlaps an existing enabled RD booking on the same inventory.\n - EXCEED_MAX_IMAGE_SIZE: Asset policy: 5000 ~ 5999\n - MAX_LABEL_COUNT_REACHED: Labeling policy: 6000 ~ 6999\n - PLATFORM_INSIGHT_UNAVAILABLE: Insight metric policy: 7000 ~ 7999\n - MAX_CUSTOM_TARGETING_KEY_COUNT_REACHED: Custom Targeting policy: 8000 ~ 8999"
      },
      "managementv1CampaignGoal": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/rmpcommonCampaignGoalType"
          },
          "optimize_fixed_cpc": {
            "$ref": "#/components/schemas/managementv1CampaignGoalOptimizeFixedCpc"
          },
          "optimize_roas": {
            "$ref": "#/components/schemas/managementv1CampaignGoalOptimizeRoas"
          },
          "optimize_fixed_commission_rate": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeFixedCommissionRate"
          },
          "optimize_fixed_cpm": {
            "$ref": "#/components/schemas/CampaignGoalOptimizeFixedCpm"
          },
          "maximize_sales": {
            "$ref": "#/components/schemas/CampaignGoalMaximizeSales"
          }
        },
        "description": "CampaignGoal describes which cost-metric goal a campaign aims for.",
        "required": [
          "type"
        ],
        "additionalProperties": true
      },
      "managementv1CampaignGoalOptimizeFixedCpc": {
        "type": "object",
        "properties": {
          "target_cpc": {
            "$ref": "#/components/schemas/rmpcommonMoneyMicro"
          }
        },
        "description": "Detailed configuration of FIXED_CPC goal.",
        "required": [
          "target_cpc"
        ],
        "additionalProperties": true
      },
      "managementv1CampaignGoalOptimizeRoas": {
        "type": "object",
        "properties": {
          "target_roas": {
            "type": "integer",
            "format": "int64",
            "description": "Target ROAS in percent."
          }
        },
        "description": "Detailed configuration of OPTIMIZE_ROAS goal.",
        "required": [
          "target_roas"
        ],
        "additionalProperties": true
      },
      "publicListPublicCampaignRecommendationsResponse": {
        "type": "object",
        "properties": {
          "campaign_recommendations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/publicPublicCampaignRecommendation"
            }
          }
        },
        "description": "ListCampaignRecommendations response.",
        "additionalProperties": true
      },
      "publicPublicCampaignRecommendation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The recommendation id. Pass it as campaign_recommendation_id on CreateCampaign so the created campaign is attributed to this recommendation."
          },
          "recommendation_id": {
            "type": "string",
            "description": "Idempotency key from the recommendation engine."
          },
          "ad_account_id": {
            "type": "string",
            "description": "The id of the ad account that owns this recommendation."
          },
          "status": {
            "$ref": "#/components/schemas/CampaignRecommendationCampaignRecommendationStatus"
          },
          "campaign": {
            "$ref": "#/components/schemas/publicRecommendedCampaign"
          },
          "recommendation_reason": {
            "type": "string",
            "description": "Human-readable recommendation reason, in platform locale."
          },
          "expired_at": {
            "type": "string",
            "format": "date-time",
            "description": "When this recommendation expires."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "Created timestamp."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "Updated timestamp."
          },
          "trigger_type": {
            "$ref": "#/components/schemas/CampaignRecommendationCampaignRecommendationTriggerType"
          },
          "recommendation_type": {
            "$ref": "#/components/schemas/CampaignRecommendationCampaignRecommendationType"
          }
        },
        "description": "An active campaign recommendation for an ad account.",
        "additionalProperties": true
      },
      "publicRecommendedCampaign": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Suggested campaign title."
          },
          "ad_type": {
            "$ref": "#/components/schemas/rmpcommonAdType"
          },
          "goal": {
            "$ref": "#/components/schemas/managementv1CampaignGoal"
          },
          "budget": {
            "$ref": "#/components/schemas/rmpcommonBudget"
          },
          "schedule": {
            "$ref": "#/components/schemas/rmpcommonTimeInterval"
          },
          "catalog_item_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Recommended catalog items; empty for smart-selection campaigns that target no explicit items."
          }
        },
        "description": "A recommended, not-yet-created campaign.",
        "additionalProperties": true
      },
      "publicRepresentedError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "The status code, which should be an enum value of google.rpc.Code.(https://developers.google.com/actions-center/reference/grpc-api/status_codes)"
          },
          "message": {
            "type": "string",
            "description": "The detailed message of responded error."
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepresentedErrorDetail"
            },
            "description": "The detailed information of responded error. Please refer to the error category section in guides for more detailed information.(https://rmp-docs.moloco.com/docs/management-api-error-categories)"
          }
        },
        "title": "Overridden from grpc status(https://github.com/grpc/grpc/blob/master/src/proto/grpc/status/status.proto)",
        "required": [
          "code",
          "message",
          "details"
        ],
        "additionalProperties": true
      },
      "rmpcommonAdType": {
        "type": "string",
        "enum": [
          "UNKNOWN_AD_TYPE",
          "ITEM",
          "BRAND",
          "DISPLAY",
          "RESERVED_DISPLAY"
        ],
        "default": "UNKNOWN_AD_TYPE"
      },
      "rmpcommonBudget": {
        "type": "object",
        "properties": {
          "period": {
            "$ref": "#/components/schemas/rmpcommonBudgetPeriod"
          },
          "amount": {
            "$ref": "#/components/schemas/rmpcommonMoneyMicro"
          }
        },
        "description": "Budget describes the amount of budget to be consumed during the designated period.",
        "required": [
          "period",
          "amount"
        ],
        "additionalProperties": true
      },
      "rmpcommonBudgetPeriod": {
        "type": "string",
        "enum": [
          "UNKNOWN_PERIOD",
          "DAILY",
          "WEEKLY"
        ],
        "default": "UNKNOWN_PERIOD"
      },
      "rmpcommonCampaignGoalType": {
        "type": "string",
        "enum": [
          "UNKNOWN_TYPE",
          "FIXED_CPC",
          "OPTIMIZE_ROAS",
          "FIXED_COMMISSION_RATE",
          "FIXED_CPM",
          "MAXIMIZE_SALES"
        ],
        "default": "UNKNOWN_TYPE",
        "description": "CampaignGoalType enumerates available goal types of campaign, which is Immutable.\n\n - FIXED_CPC: Goal type for the campaigns should be set to OptimizeFixedCpc message as setting value.\n - OPTIMIZE_ROAS: Goal type for the campaigns should be set to OptimizeRoas message as setting value.\n - FIXED_COMMISSION_RATE: Goal type for the campaigns should be set to OptimizeFixedCommissionRate message as setting value.\n - FIXED_CPM: Goal type for the campaigns should be set to OptimizeFixedCpm message as setting value.\n - MAXIMIZE_SALES: Goal type for the campaigns should have MaximizeSales message as setting value."
      },
      "rmpcommonCurrency": {
        "type": "string",
        "enum": [
          "UNKNOWN_CURRENCY",
          "USD",
          "KRW",
          "JPY",
          "EUR",
          "GBP",
          "SEK",
          "INR",
          "THB",
          "IDR",
          "CNY",
          "CAD",
          "RUB",
          "BRL",
          "SGD",
          "HKD",
          "AUD",
          "PLN",
          "DKK",
          "VND",
          "MYR",
          "PHP",
          "TRY",
          "VES",
          "AED",
          "CHF"
        ],
        "default": "UNKNOWN_CURRENCY",
        "description": "Currency enumerates available currencies.\n\n - UNKNOWN_CURRENCY: Unknown currency.\n - USD: US Dollar.\n - KRW: Korean Won.\n - JPY: Japanese Yen.\n - EUR: EU Euro.\n - GBP: British Pound.\n - SEK: Swedish Krona.\n - INR: India Rupee.\n - THB: Thailand Baht.\n - IDR: Indonesia Rupiah.\n - CNY: China Yuan.\n - CAD: Canada Dollar.\n - RUB: Russia Ruble.\n - BRL: Brazil Real.\n - SGD: Singapore Dollar.\n - HKD: Hong Kong Dollar.\n - AUD: Autrailia Dollar.\n - PLN: Poland Zloty.\n - DKK: Denmark Krone.\n - VND: Viet Nam Dong.\n - MYR: Malaysia Ringgit.\n - PHP: Philippines Peso.\n - TRY: Turkey Lira.\n - VES: Venezuela Bolívar Soberano.\n - AED: United Arab Emirates Dirham.\n - CHF: Swiss Franc."
      },
      "rmpcommonMoneyMicro": {
        "type": "object",
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/rmpcommonCurrency"
          },
          "amount_micro": {
            "type": "string",
            "format": "int64",
            "description": "Amount in micro unit. (e.g., 1234 means 0.001234)"
          }
        },
        "description": "A monetary amount in a specific currency; the unit is micro at fixed point value for accurate accumulation operation.\nFor example, `{\"currency\": \"USD\", \"amount_micro\": \"1234\"}` means $0.001234.",
        "required": [
          "currency",
          "amount_micro"
        ],
        "additionalProperties": true
      },
      "rmpcommonTimeInterval": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "format": "date-time",
            "description": "Start time in RFC3339 format, e.g. \"2017-04-01T12:34:56+00:00\""
          },
          "end": {
            "type": "string",
            "format": "date-time",
            "description": "End time in RFC3339 format, e.g. \"2017-05-01-T21:09:08+00:00\""
          }
        },
        "description": "Campaign's interval with start and end timestamps in RFC3339 format.\nThe Campaign will conceptually run during [schedule_start, schedule_end] inclusively.\nIt is highly recommended that schedule.start is set to UTC corresponding to the beginning of the day (00:00:00), and schedule.end is set to UTC corresponding to the end of the day (23:59:59) both in the ad account's timezone.\nIf you want to set no end date, make sure your platform supports no end date setting and just leave schedule_end blank.",
        "required": [
          "start"
        ],
        "additionalProperties": true
      }
    }
  }
}
```