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
workflowId
RequiredstringstepId
RequiredstringHeader Parameters
idempotency-key
stringA header for idempotency purposes
Response Body
OK
controls
RequiredobjectControls metadata for the step
controlValues
objectControl values for the step (alias for controls.values)
variables
RequiredobjectJSON Schema for variables, follows the JSON Schema standard
stepId
RequiredstringUnique identifier of the step
_id
RequiredstringDatabase identifier of the step
name
RequiredstringName of the step
slug
RequiredobjectSlug of the step
type
RequiredstringType of the step
Value in:
"in_app" | "email" | "sms" | "chat" | "push" | "digest" | "trigger" | "delay" | "custom"
origin
RequiredstringOrigin of the workflow
Value in:
"novu-cloud" | "novu-cloud-v1" | "external"
workflowId
RequiredstringWorkflow identifier
workflowDatabaseId
RequiredstringWorkflow database identifier
issues
objectIssues 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: {};
/**
* Type of the step
*/
type: "in_app" | "email" | "sms" | "chat" | "push" | "digest" | "trigger" | "delay" | "custom";
/**
* Origin of the workflow
*/
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" | "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_KEY"
| "DIGEST_CRON"
| "DELAY_TYPE"
| "DELAY_AMOUNT"
| "DELAY_UNIT"
| "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_KEY"
| "DIGEST_CRON"
| "DELAY_TYPE"
| "DELAY_AMOUNT"
| "DELAY_UNIT"
| "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?: {
/**
* @minItems 0
*/
[k: string]: StepContentIssueDto[];
};
/**
* Integration-related issues
*/
integration?: {
/**
* @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";
/**
* 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": {},
"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"
}
]
}
}
}