Retrieve workflow step

Retrieves data for a specific step in a workflow

GET
/v2/workflows/{workflowId}/steps/{stepId}

Authorization

Authorization<token>

API key authentication. Allowed headers-- "Authorization: ApiKey <api_key>".

In: header

Path Parameters

workflowIdRequiredstring
stepIdRequiredstring

Header Parameters

idempotency-keystring

A header for idempotency purposes

Response Body

OK

controlsRequiredobject

Controls metadata for the step

controlValuesobject

Control values for the step (alias for controls.values)

variablesRequiredobject

JSON Schema for variables, follows the JSON Schema standard

stepIdRequiredstring

Unique identifier of the step

_idRequiredstring

Database identifier of the step

nameRequiredstring

Name of the step

slugRequiredobject

Slug of the step

typeRequiredstring

Type of the step

Value in: "in_app" | "email" | "sms" | "chat" | "push" | "digest" | "trigger" | "delay" | "custom"
originRequiredstring

Origin of the workflow

Value in: "novu-cloud" | "novu-cloud-v1" | "external"
workflowIdRequiredstring

Workflow identifier

workflowDatabaseIdRequiredstring

Workflow database identifier

issuesobject

Issues 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";
  /**
   * 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"
    | "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";
}
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";
  /**
   * 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"
        },
        "property2": {
          "placeholder": "string",
          "component": "EMAIL_EDITOR_SELECT"
        }
      }
    }
  },
  "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"
        }
      ]
    }
  }
}

On this page

No Headings
Edit this page on GitHub