Skip to main content
POST

Rate Limits

The rate limits are at the workspace level. A maximum of 10 requests per second, 100 requests per minute, and 6,000 requests per hour are allowed per workspace.

Authorizations

Authorization
string
header
required

Authentication is done via Basic Auth. This requires a base64-encoded string of your credentials in the format 'username:password'.

  • Username: Use your MoEngage workspace ID (also known as the App ID). You can find it in the MoEngage dashboard at Settings > Account > APIs > Workspace ID (earlier app id).
  • Password: On your MoEngage workspace, navigate to SettingsAccountAPI keys and click Create new key. The tab lists every API surface (Data, Segmentation, Push, Email, Campaigns, Templates, and more) and exposes per-resource actions. Flows reuse the Campaigns permissions — ensure the View checkbox (for the read endpoints) and the Create & Manage checkbox (for Update Flow Status) are selected.

For more information on authentication and getting your credentials, refer to Getting your credentials.

Send the value in the Authorization header as Basic followed by Base64-encoding of appkey:apisecret (workspace ID and API key).

Headers

X-MOE-Tenant-ID
string

Identifies the tenant/workspace making the request. Optional — when omitted, the workspace is resolved from the Basic Auth credentials in the Authorization header.

X-MOE-Request-Id
string

Client-supplied trace ID. The server echoes it in the X-MOE-Request-Id response header and in response_id. If you omit it, the server generates one.

Body

application/json

Filters for listing flows. All filters are optional and combine with AND. Enum filters (status, delivery_type) are case-insensitive.

request_id
string

Optional if supplied via the X-MOE-Request-Id header; echoed in response_id.

status
enum<string>[]

Keeps only flows whose status is in this set.

Public lifecycle status of a flow (or of a specific version), independent of the archived flag.

Available options:
DRAFT,
ACTIVE,
SCHEDULED,
PAUSED,
STOPPED,
COMPLETED,
RETIRED,
UNDER_REVIEW,
REJECTED
delivery_type
enum<string>[]

Keeps only flows that have one of these delivery types.

Indicates how users enter the flow.

Available options:
ONE_TIME,
PERIODIC,
ON_FLOW_EXIT,
EVENT_TRIGGERED,
BUSINESS_EVENT_TRIGGERED
tags
string[]

The tag names to match; flows that carry any of them are kept.

teams
string[]

Team names. Required when the Flows-teams feature is enabled for the workspace — omitting it or sending an empty list returns 400 VALIDATION_FAILED ("teams is required when the team feature is enabled"). When the feature is off, sending teams is rejected with 400.

name
string

Matches flows whose name contains this text, case-insensitively.

created_by
string<email>[]

The email addresses of the flow creators to filter by.

creation_start_time
string

The inclusive lower bound on the creation time, in ISO 8601 UTC format.

Example:

"2025-01-01T00:00:00Z"

creation_end_time
string

The inclusive upper bound on the creation time, in ISO 8601 UTC format. It must be on or after creation_start_time.

Example:

"2026-12-31T23:59:59Z"

include_archived
boolean
default:false

false (default) excludes archived flows; true returns both archived and non-archived.

limit
integer
default:20

The number of results returned per page.

Required range: 1 <= x <= 100
cursor
string

The cursor from a previous page's next_cursor. Omit for the first page.

Response

Flows matching the filters.

response_id
string
required

Echo of the request_id that you supplied, or a generated ID when absent.

type
enum<string>
required
Available options:
flow
data
object
required