List all workflows
Retrieves a list of workflows with optional filtering and pagination
Authorization
Authorization
<token>API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
In: header
Query Parameters
limit
numberNumber of items to return per page
offset
numberNumber of items to skip before starting to return results
orderDirection
stringDirection of sorting
Value in:
"ASC" | "DESC"
orderBy
stringField to sort the results by
Value in:
"createdAt" | "updatedAt" | "name" | "lastTriggeredAt"
query
stringSearch query to filter workflows
tags
array<string>Filter workflows by tags
status
array<string>Filter workflows by status
Header Parameters
idempotency-key
stringA header for idempotency purposes
Response Body
OK
workflows
Requiredarray<object>List of workflows
totalCount
RequirednumberTotal number of workflows
export interface Response {
/**
* List of workflows
*/
workflows: WorkflowListResponseDto[];
/**
* Total number of workflows
*/
totalCount: number;
}
export interface WorkflowListResponseDto {
/**
* Name of the workflow
*/
name: string;
/**
* Tags associated with the workflow
*/
tags?: string[];
/**
* Last updated timestamp
*/
updatedAt: string;
/**
* Creation timestamp
*/
createdAt: string;
/**
* User who last updated the workflow
*/
updatedBy?: UserResponseDto;
/**
* Timestamp of the last workflow publication
*/
lastPublishedAt?: string | null;
/**
* User who last published the workflow
*/
lastPublishedBy?: UserResponseDto1;
/**
* Unique database identifier
*/
_id: string;
/**
* Workflow identifier
*/
workflowId: string;
/**
* Workflow slug
*/
slug: string;
/**
* Status of the workflow
*/
status: "ACTIVE" | "INACTIVE" | "ERROR";
/**
* Origin of the layout
*/
origin: "novu-cloud" | "novu-cloud-v1" | "external";
/**
* Timestamp of the last workflow trigger
*/
lastTriggeredAt?: string | null;
/**
* Overview of step types in the workflow
*/
stepTypeOverviews: ("in_app" | "email" | "sms" | "chat" | "push" | "digest" | "trigger" | "delay" | "custom")[];
/**
* Is translation enabled for the workflow
*/
isTranslationEnabled?: boolean;
/**
* Steps of the workflow
*/
steps: StepListResponseDto[];
}
export interface UserResponseDto {
/**
* User ID
*/
_id: string;
/**
* User first name
*/
firstName?: string | null;
/**
* User last name
*/
lastName?: {} | null;
/**
* User external ID
*/
externalId?: string | null;
}
export interface UserResponseDto1 {
/**
* User ID
*/
_id: string;
/**
* User first name
*/
firstName?: string | null;
/**
* User last name
*/
lastName?: {} | null;
/**
* User external ID
*/
externalId?: string | null;
}
export interface StepListResponseDto {
/**
* Slug of the step
*/
slug: {};
/**
* Type of the step
*/
type: "in_app" | "email" | "sms" | "chat" | "push" | "digest" | "trigger" | "delay" | "custom";
/**
* Issues associated with the step
*/
issues?: StepIssuesDto;
}
export interface StepIssuesDto {
/**
* Controls-related issues
*/
controls?: {
/**
* @minItems 0
*
* @minItems 0
*/
[k: string]: StepContentIssueDto[];
};
/**
* Integration-related issues
*/
integration?: {
/**
* @minItems 0
*
* @minItems 0
*/
[k: string]: StepIntegrationIssue[];
};
}
export interface StepContentIssueDto {
/**
* Type of step content issue
*/
issueType:
| "ILLEGAL_VARIABLE_IN_CONTROL_VALUE"
| "INVALID_FILTER_ARG_IN_VARIABLE"
| "MISSING_VALUE"
| "TIER_LIMIT_EXCEEDED";
/**
* Name of the variable related to the issue
*/
variableName?: string;
/**
* Detailed message describing the issue
*/
message: string;
}
export interface StepIntegrationIssue {
/**
* Type of integration issue
*/
issueType: "MISSING_INTEGRATION" | "INBOX_NOT_CONNECTED";
/**
* Name of the variable related to the issue
*/
variableName?: string;
/**
* Detailed message describing the issue
*/
message: string;
}
curl -X GET "https://api.novu.co/v2/workflows?limit=0&offset=0&orderDirection=ASC&orderBy=createdAt&query=string&tags=string&status=ACTIVE" \
-H "idempotency-key: string" \
-H "Authorization: <token>"
{
"workflows": [
{
"name": "string",
"tags": [
"string"
],
"updatedAt": "string",
"createdAt": "string",
"updatedBy": {
"_id": "string",
"firstName": "string",
"lastName": {},
"externalId": "string"
},
"lastPublishedAt": "string",
"lastPublishedBy": {
"_id": "string",
"firstName": "string",
"lastName": {},
"externalId": "string"
},
"_id": "string",
"workflowId": "string",
"slug": "string",
"status": "ACTIVE",
"origin": "novu-cloud",
"lastTriggeredAt": "string",
"stepTypeOverviews": [
"in_app"
],
"isTranslationEnabled": true,
"steps": [
{
"slug": {},
"type": "in_app",
"issues": {
"controls": {
"property1": [
{
"issueType": "ILLEGAL_VARIABLE_IN_CONTROL_VALUE",
"variableName": "string",
"message": "string"
}
],
"property2": [
{
"issueType": "ILLEGAL_VARIABLE_IN_CONTROL_VALUE",
"variableName": "string",
"message": "string"
}
]
},
"integration": {
"property1": [
{
"issueType": "MISSING_INTEGRATION",
"variableName": "string",
"message": "string"
}
],
"property2": [
{
"issueType": "MISSING_INTEGRATION",
"variableName": "string",
"message": "string"
}
]
}
}
}
]
}
],
"totalCount": 0
}