Retrieve workflow step
Retrieves data for a specific step in a workflow
Authorization
Authorization<token>API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".
In: header
Path Parameters
workflowIdRequiredstringstepIdRequiredstringHeader Parameters
idempotency-keystringA header for idempotency purposes
Response Body
OK
controlsRequiredobjectControls metadata for the step
controlValuesobjectControl values for the step (alias for controls.values)
variablesRequiredobjectJSON Schema for variables, follows the JSON Schema standard
stepIdRequiredstringUnique identifier of the step
_idRequiredstringDatabase identifier of the step
nameRequiredstringName of the step
slugRequiredstringSlug of the step
typeRequiredstringType of the step
Value in:
"in_app" | "email" | "sms" | "chat" | "push" | "digest" | "trigger" | "delay" | "throttle" | "custom"originRequiredstringOrigin of the layout
Value in:
"novu-cloud" | "novu-cloud-v1" | "external"workflowIdRequiredstringWorkflow identifier
workflowDatabaseIdRequiredstringWorkflow database identifier
issuesobjectIssues associated with the step
export interface Response {
/**
* Controls metadata for the step
*/
controls: ControlsMetadataDto;
/**
* Control values for the step (alias for controls.values)
*/
controlValues?: {
[k: string]: unknown;
};
/**
* JSON Schema for variables, follows the JSON Schema standard
*/
variables: {
[k: string]: unknown;
};
/**
* Unique identifier of the step
*/
stepId: string;
/**
* Database identifier of the step
*/
_id: string;
/**
* Name of the step
*/
name: string;
/**
* Slug of the step
*/
slug: string;
/**
* Type of the step
*/
type: "in_app" | "email" | "sms" | "chat" | "push" | "digest" | "trigger" | "delay" | "throttle" | "custom";
/**
* Origin of the layout
*/
origin: "novu-cloud" | "novu-cloud-v1" | "external";
/**
* Workflow identifier
*/
workflowId: string;
/**
* Workflow database identifier
*/
workflowDatabaseId: string;
/**
* Issues associated with the step
*/
issues?: StepIssuesDto;
}
export interface ControlsMetadataDto {
/**
* JSON Schema for data
*/
dataSchema?: {
[k: string]: unknown;
};
/**
* UI Schema for rendering
*/
uiSchema?: UiSchema;
}
export interface UiSchema {
/**
* Group of the UI Schema
*/
group?: "IN_APP" | "EMAIL" | "DIGEST" | "DELAY" | "THROTTLE" | "SMS" | "CHAT" | "PUSH" | "SKIP" | "LAYOUT";
/**
* Properties of the UI Schema
*/
properties?: {
[k: string]: UiSchemaProperty;
};
}
export interface UiSchemaProperty {
/**
* Placeholder for the UI Schema Property
*/
placeholder?:
| string
| number
| boolean
| {
[k: string]: unknown;
}
| (
| string
| number
| boolean
| {
[k: string]: unknown;
}
)[];
/**
* Component type for the UI Schema Property
*/
component:
| "EMAIL_EDITOR_SELECT"
| "LAYOUT_SELECT"
| "BLOCK_EDITOR"
| "EMAIL_BODY"
| "TEXT_FULL_LINE"
| "TEXT_INLINE_LABEL"
| "IN_APP_BODY"
| "IN_APP_AVATAR"
| "IN_APP_PRIMARY_SUBJECT"
| "IN_APP_BUTTON_DROPDOWN"
| "IN_APP_DISABLE_SANITIZATION_SWITCH"
| "DISABLE_SANITIZATION_SWITCH"
| "URL_TEXT_BOX"
| "DIGEST_AMOUNT"
| "DIGEST_UNIT"
| "DIGEST_TYPE"
| "DIGEST_KEY"
| "DIGEST_CRON"
| "DELAY_AMOUNT"
| "DELAY_UNIT"
| "DELAY_TYPE"
| "DELAY_CRON"
| "THROTTLE_TYPE"
| "THROTTLE_WINDOW"
| "THROTTLE_UNIT"
| "THROTTLE_DYNAMIC_KEY"
| "THROTTLE_THRESHOLD"
| "THROTTLE_KEY"
| "EXTEND_TO_SCHEDULE"
| "SMS_BODY"
| "CHAT_BODY"
| "PUSH_BODY"
| "PUSH_SUBJECT"
| "QUERY_EDITOR"
| "DATA"
| "LAYOUT_EMAIL";
/**
* Properties of the UI Schema
*/
properties?: {
[k: string]: UiSchemaProperty1;
};
}
export interface UiSchemaProperty1 {
/**
* Placeholder for the UI Schema Property
*/
placeholder?:
| string
| number
| boolean
| {
[k: string]: unknown;
}
| (
| string
| number
| boolean
| {
[k: string]: unknown;
}
)[];
/**
* Component type for the UI Schema Property
*/
component:
| "EMAIL_EDITOR_SELECT"
| "LAYOUT_SELECT"
| "BLOCK_EDITOR"
| "EMAIL_BODY"
| "TEXT_FULL_LINE"
| "TEXT_INLINE_LABEL"
| "IN_APP_BODY"
| "IN_APP_AVATAR"
| "IN_APP_PRIMARY_SUBJECT"
| "IN_APP_BUTTON_DROPDOWN"
| "IN_APP_DISABLE_SANITIZATION_SWITCH"
| "DISABLE_SANITIZATION_SWITCH"
| "URL_TEXT_BOX"
| "DIGEST_AMOUNT"
| "DIGEST_UNIT"
| "DIGEST_TYPE"
| "DIGEST_KEY"
| "DIGEST_CRON"
| "DELAY_AMOUNT"
| "DELAY_UNIT"
| "DELAY_TYPE"
| "DELAY_CRON"
| "THROTTLE_TYPE"
| "THROTTLE_WINDOW"
| "THROTTLE_UNIT"
| "THROTTLE_DYNAMIC_KEY"
| "THROTTLE_THRESHOLD"
| "THROTTLE_KEY"
| "EXTEND_TO_SCHEDULE"
| "SMS_BODY"
| "CHAT_BODY"
| "PUSH_BODY"
| "PUSH_SUBJECT"
| "QUERY_EDITOR"
| "DATA"
| "LAYOUT_EMAIL";
/**
* Properties of the UI Schema
*/
properties?: {
[k: string]: UiSchemaProperty1;
};
}
export interface StepIssuesDto {
/**
* Controls-related issues
*/
controls?: {
[k: string]: StepContentIssueDto[];
};
/**
* Integration-related issues
*/
integration?: {
[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/string/steps/string" \
-H "idempotency-key: string" \
-H "Authorization: <token>"{
"controls": {
"dataSchema": {},
"uiSchema": {
"group": "IN_APP",
"properties": {
"property1": {
"placeholder": "string",
"component": "EMAIL_EDITOR_SELECT",
"properties": {
"property1": {
"placeholder": "string",
"component": "EMAIL_EDITOR_SELECT",
"properties": {}
},
"property2": {
"placeholder": "string",
"component": "EMAIL_EDITOR_SELECT",
"properties": {}
}
}
},
"property2": {
"placeholder": "string",
"component": "EMAIL_EDITOR_SELECT",
"properties": {
"property1": {
"placeholder": "string",
"component": "EMAIL_EDITOR_SELECT",
"properties": {}
},
"property2": {
"placeholder": "string",
"component": "EMAIL_EDITOR_SELECT",
"properties": {}
}
}
}
}
}
},
"controlValues": {},
"variables": {},
"stepId": "string",
"_id": "string",
"name": "string",
"slug": "string",
"type": "in_app",
"origin": "novu-cloud",
"workflowId": "string",
"workflowDatabaseId": "string",
"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"
}
]
}
}
}