---
title: "Get Campaign Meta (V1 — Legacy)"
method: POST
path: "/campaigns/meta"
tags: ["Get Campaign Details"]
---

# Get Campaign Meta (V1 — Legacy)

`POST /campaigns/meta`

## Request

- Base URL: `https://api-01.moengage.com/core-services/v1`
- URL: `https://api-01.moengage.com/core-services/v1/campaigns/meta`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/moengage/apis/moengage-campaigns-api/docs/campaigns/meta/post.ts> (a function with typed inputs; its response is checked against the schema)

This API retrieves campaign details and reachability information for scheduled campaigns.

## Headers

- `MOE-APPKEY` string, required

## Request body

- CampaignMetaRequest
  - `request_id` string, required: A unique identifier for this metadata retrieval request.
  - `campaign_fields` CampaignMetaSearchFields: Filter criteria for retrieving campaign metadata.
    - `id` string: The unique identifier to identify the campaign.
    - `channels` string[]: Filter campaigns by channel type.
    - `created_by` string[]: Filter by email ID of the user who created the campaign. **Note:** Only email IDs are supported.
    - `created_date` object: Filter campaigns by creation date range.
      - `from_date` string, required: The starting point of the date range in which campaigns were created. **Recommended format:** YYYY-MM-DD or DD-MM-YYYY
      - `to_date` string, required: The ending point of the date range in which campaigns were created. **Recommended format:** YYYY-MM-DD or DD-MM-YYYY
    - `delivery_type` string[]: Filter campaigns by delivery type.
    - `name` string: Filter by campaign name.
    - `status` string[]: Filter campaigns by status. `RETIRED` is a terminal status applied automatically to campaigns that have reached their end condition (for example, a campaign whose end date has passed). Retired campaigns cannot be reactivated. This status is distinct from `STOPPED` (manually halted) and `ARCHIVED` (explicitly archived by a user).
    - `tags` string[]: Filter campaigns by tags that describe the campaign's nature or theme.
  - `include_child_campaigns` boolean: Whether to include child campaign information. Set to `true` to fetch details of child campaigns (flow nodes and periodic children). Use `flow_id`, `flow_name`, or `parent_campaign_id` in the response to identify relationships.
  - `limit` integer, required: The number of campaigns to display per page. **Maximum:** 15
  - `page` integer, required: The page number to retrieve. For example, if there are 200 campaigns and limit is 10, there will be 20 pages.

## Response `200`

Successfully retrieved campaign metadata

- CampaignMetaResponse[]
  - `campaign_id` string: The unique ID of the campaign.
  - `channel` 'EMAIL' | 'PUSH' | 'SMS' | 'WHATSAPP' | 'FACEBOOK' | 'GOOGLE ADS' | 'CONNECTORS': The communication channel.
  - `platform` string[]: The platform types supported for the campaign (applicable for Push).
  - `created_by` string, email: The email ID of the user who created the campaign.
  - `campaign_delivery_type` 'ONE_TIME' | 'PERIODIC' | 'EVENT_TRIGGERED' | 'BUSINESS_EVENT_TRIGGERED' | 'DEVICE_TRIGGERED' | 'LOCATION_TRIGGERED' | 'BROADCAST_LIVE_ACTIVITY': The delivery type of the campaign.
  - `campaign_name` string: The name of the campaign.
  - `campaign_team` string: The team name associated with the campaign.
  - `campaign_tags` string[]: Tags associated with the campaign.
  - `campaign_status` 'SCHEDULED' | 'ACTIVE' | 'PAUSED' | 'SENT' | 'STOPPED' | 'RETIRED' | 'ARCHIVED': The current status of the campaign. `RETIRED` is a terminal status applied automatically to campaigns that have reached their end condition. Retired campaigns cannot be reactivated and are distinct from `STOPPED` (manually halted) and `ARCHIVED` (explicitly archived).
  - `campaign_start_time` string, date-time: The start time of the campaign in ISO 8601 format. This value is returned in UTC.
  - `parent_campaign_id` string: The campaign ID of the parent campaign. Only shown if the requested campaign_id belongs to a child campaign and `include_child_campaigns` is true.
  - `total_child_campaigns` integer: The number of child campaigns. Only shown if the campaign_id belongs to a parent campaign. Only applicable for periodic campaigns.
  - `reachability_details` object: Reachability information for the campaign. **Important:** Only populated for **scheduled** campaigns (one-time, business event-triggered, and event-triggered). Reachability is calculated once daily and cached for 24 hours.
    - `count` integer: The estimated number of users the scheduled campaign will reach.
    - `last_updated_time` string, date-time: The timestamp when reachability was last calculated, in ISO 8601 format. This value is returned in UTC.

## Other responses

- `400`: Bad Request - Missing or invalid parameters
- `401`: Authentication Failure - Invalid or missing authentication credentials
- `500`: Internal Server Error - Unexpected system error

---

[API](https://skmtc.dev/moengage/apis/moengage-campaigns-api.md) - [All operations](https://skmtc.dev/moengage/apis/moengage-campaigns-api/llms.txt) - [OpenAPI document](https://skmtc.dev/moengage/apis/moengage-campaigns-api/revisions/7fc8a931584f?raw)
