> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reply.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a sequence

> <small>_Requires the `sequences:write` scope (or a broader one that includes it)._</small>

Creates a new email sequence



## OpenAPI

````yaml /api-reference/bundled.yaml post /v3/sequences
openapi: 3.1.0
info:
  version: 3.0.0
  title: Reply API
  description: API for managing email sequences, contacts, and automation workflows
servers:
  - url: https://api.reply.io
security:
  - bearerAuth: []
tags:
  - name: User Account
    description: Account information and authentication verification
  - name: Accounts
    description: Manage accounts (companies/organizations)
  - name: AI SDR Insights
    description: Read AI SDR insights for sequence contacts
  - name: AI SDR Intent Signals
    description: >-
      Read Reply industry IDs and technology slugs used in AI SDR intent-signal
      configuration (typeahead)
  - name: AI SDR Sequences
    description: >-
      Manage AI SDR sequences and their AI SDR-specific settings — create, read
      settings, partial update, autopilot enable/disable/force-start, approval
      mode, generated step types, and playbook/knowledge-base connections
  - name: AI SDR Web Search
    description: Find contacts via AI-driven web search and review past searches
  - name: Attachments
    description: >-
      Upload file attachments used across email templates, sequence steps, and
      direct emails
  - name: Account Lists
    description: Manage account lists and account membership
  - name: Background Jobs
    description: >-
      Track and cancel asynchronous background operations (e.g., email
      validation)
  - name: Custom Fields
    description: Manage custom contact fields
  - name: Direct Outreach
    description: >-
      Send one-off outreach directly to a contact outside of any sequence —
      direct emails and LinkedIn connection requests, messages, InMails, and
      voice messages
  - name: Contact Blacklist Rules
    description: Manage blacklist rules for domains, emails, and email exceptions
  - name: Contact Enrichment
    description: >-
      Enrich contacts with emails, phone numbers, LinkedIn data, and AI-filled
      custom fields
  - name: Contact Lists
    description: Manage contact lists and contact membership
  - name: Contacts
    description: Manage individual contacts
  - name: Email Accounts
    description: Manage email accounts used for sending and receiving
  - name: Email Templates
    description: Manage email templates and template folders
  - name: Email Validations
    description: Estimate and schedule asynchronous email validation jobs
  - name: Holiday Calendars
    description: Manage holiday calendars for scheduling
  - name: Inbox
    description: >-
      Manage inbox threads and per-team thread categories — list/filter, read
      state, replies, category assignment, and meeting-intent flagging
  - name: LinkedIn Accounts
    description: Manage LinkedIn accounts for outreach
  - name: Live Data
    description: >-
      Find new contacts via Live Data searches and read typeahead values for the
      Live Data / Autopilot filter sidebar
  - name: AI SDR Knowledge Bases
    description: >-
      Manage AI SDR knowledge bases — collections of documents, links, reply
      handlers, and reengagement cards that inform the agent's responses
  - name: AI SDR Offers
    description: >-
      Manage AI SDR offers — bundles of company-context inputs (ICP, pain
      points, value propositions, etc.) used to personalize outreach
  - name: AI SDR Pending Approvals
    description: >-
      Review, send, regenerate, and provide feedback on AI-generated messages
      awaiting human approval
  - name: AI SDR Playbooks
    description: >-
      Manage AI SDR playbooks — tone, voice, and style guides applied during
      personalized message generation
  - name: Reports
    description: >-
      Generate and access performance reports across email, calls, tasks,
      LinkedIn, and team performance
  - name: Schedules
    description: Manage email send schedules and timing
  - name: Settings
    description: Manage team and user settings
  - name: Sequence Contacts
    description: Manage contacts within sequences
  - name: Sequence Email Accounts
    description: Manage email accounts linked to sequences
  - name: Sequence Folders
    description: Organize sequences into folders
  - name: Sequence LinkedIn Accounts
    description: Manage LinkedIn accounts linked to sequences
  - name: AI SDR Sequence Preview
    description: >-
      Read and regenerate per-contact previews of the messages a sequence will
      send, and provide feedback on preview messages
  - name: Sequence Steps
    description: Manage individual steps in sequences
  - name: Sequence Templates
    description: Manage sequence templates
  - name: Sequences
    description: Manage email automation sequences
  - name: AI SDR Strategist
    description: Trigger AI Strategist runs
  - name: Tasks
    description: Manage tasks and to-do items
  - name: Webhooks
    description: Manage webhook subscriptions and inspect delivery history
paths:
  /v3/sequences:
    post:
      tags:
        - Sequences
      summary: Create a sequence
      description: >-
        <small>_Requires the `sequences:write` scope (or a broader one that
        includes it)._</small>


        Creates a new email sequence
      operationId: CreateSequence
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Sequence Create
              description: Create a new sequence
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                  description: Name of the sequence
                scheduleId:
                  type: integer
                  minimum: 1
                  description: ID of the schedule to use
                settings:
                  type: object
                  title: Sequence Settings
                  description: Settings configuration for a sequence
                  required:
                    - emailsCountPerDay
                    - daysToFinishProspect
                    - emailSendingDelaySeconds
                    - dailyThrottling
                    - disableOpensTracking
                    - repliesHandlingType
                    - enableLinksTracking
                  properties:
                    emailsCountPerDay:
                      type: integer
                      description: Maximum number of emails sent daily
                    daysToFinishProspect:
                      type: integer
                      description: Days taken for a prospect to finish
                    emailSendingDelaySeconds:
                      type: integer
                      description: Delay between sending emails in seconds
                    dailyThrottling:
                      type: integer
                      description: Number of prospects processed within 24-hour period
                    useDailyThrottling:
                      type: boolean
                      description: Whether daily throttling is enabled
                    disableOpensTracking:
                      type: boolean
                      description: Whether to disable email open tracking
                    repliesHandlingType:
                      type: string
                      enum:
                        - markAsFinished
                        - continueSending
                      description: How replies are handled
                    enableLinksTracking:
                      type: boolean
                      description: Whether to enable link tracking
                    isSendingPlainTextEnabled:
                      type: boolean
                      description: Whether to send emails as plain text instead of HTML
                    isListUnsubscribeHeaderEnabled:
                      type: boolean
                      description: >-
                        Whether to include a List-Unsubscribe header in all
                        emails from this sequence
                    isSameDomainSendingLimitEnabled:
                      type: boolean
                      description: >-
                        Whether to limit the number of contacts from the same
                        domain contacted per day
                    numberOfSameDomainSendingLimit:
                      type: integer
                      nullable: true
                      description: >-
                        Maximum number of same-domain contacts per day
                        (applicable when `isSameDomainSendingLimitEnabled` is
                        true)
                    matchProspectToEmailAccountProvider:
                      type: boolean
                      description: >-
                        Whether to match prospect email provider to sender email
                        provider
                    callIsAutomatic:
                      type: boolean
                      description: Whether calls are handled automatically in this sequence
                    taskIsAutomatic:
                      type: boolean
                      description: Whether tasks are handled automatically in this sequence
                    generatedTaskOwner:
                      type: string
                      nullable: true
                      enum:
                        - contact
                        - sequence
                      default: sequence
                      description: >-
                        Who owns generated tasks — the contact owner or the
                        sequence owner. Defaults to `sequence` when omitted.
                emailAccounts:
                  type: array
                  items:
                    type: integer
                    format: int64
                    minimum: 1
                  description: Array of email account IDs
                linkedInAccounts:
                  type: array
                  items:
                    type: integer
                    minimum: 1
                  description: Array of LinkedIn account IDs
                steps:
                  type: array
                  description: >-
                    Array of sequence steps. Select a step type to see its
                    configuration.
                  items:
                    title: Sequence Step
                    discriminator:
                      propertyName: type
                      mapping:
                        email:
                          $ref: '#/components/schemas/email.type'
                        linkedIn:
                          $ref: '#/components/schemas/linkedin.type'
                        call:
                          $ref: '#/components/schemas/call.type'
                        sms:
                          $ref: '#/components/schemas/sms.type'
                        whatsApp:
                          $ref: '#/components/schemas/whatsapp.type'
                        zapier:
                          $ref: '#/components/schemas/zapier.type'
                        task:
                          $ref: '#/components/schemas/task.type'
                        condition:
                          $ref: '#/components/schemas/condition.type'
                    oneOf:
                      - type: object
                        title: Email
                        description: Email step with variant configuration
                        properties:
                          id:
                            type: integer
                            nullable: true
                            readOnly: true
                            description: Unique identifier for the step
                          parentId:
                            type: integer
                            nullable: true
                            description: ID of the parent step (for branching)
                          ifConditionPositive:
                            type: boolean
                            nullable: true
                            description: >-
                              Whether this step is on the positive branch of a
                              condition
                          type:
                            type: string
                            enum:
                              - email
                            description: Step type discriminator
                          delayInMinutes:
                            type: integer
                            minimum: 0
                            description: Delay in minutes before executing this step
                          executionMode:
                            type: string
                            description: Execution mode for the email step
                            enum:
                              - automatic
                              - manual
                          variants:
                            type: array
                            description: Array of email variants (A/B test versions)
                            items:
                              type: object
                              title: Email Variant
                              description: Individual email variant within an email step.
                              properties:
                                id:
                                  type: integer
                                  description: Unique identifier for this email variant
                                subject:
                                  type: string
                                  nullable: true
                                  description: Email subject line.
                                message:
                                  type: string
                                  nullable: true
                                  description: Email message content.
                                attachmentIds:
                                  type: array
                                  nullable: true
                                  writeOnly: true
                                  maxItems: 3
                                  items:
                                    type: integer
                                  description: >-
                                    **Write-only.** IDs of previously uploaded
                                    attachments to attach to this variant.
                                    Upload files via `POST /v3/attachments`
                                    first to obtain attachment IDs.

                                    A variant may carry up to 3 attachments.
                                    Omit to leave attachments unset.

                                    Not returned on read — use `hasAttachments`
                                    to detect presence.
                                hasAttachments:
                                  type: boolean
                                  readOnly: true
                                  description: >-
                                    Whether the variant has any attachments.
                                    Returned on read; ignored on write.
                        required:
                          - type
                          - delayInMinutes
                          - executionMode
                          - variants
                      - title: LinkedIn
                        description: >-
                          LinkedIn step with action type sub-discriminator. Uses
                          type "linkedIn" with a second discriminator actionType
                          to select the specific LinkedIn action.
                        discriminator:
                          propertyName: actionType
                          mapping:
                            message:
                              $ref: '#/components/schemas/linkedin-message.type'
                            connect:
                              $ref: '#/components/schemas/linkedin-connect.type'
                            inMail:
                              $ref: '#/components/schemas/linkedin-inmail.type'
                            viewProfile:
                              $ref: '#/components/schemas/linkedin-view-profile.type'
                            endorseSkills:
                              $ref: >-
                                #/components/schemas/linkedin-endorse-skills.type
                            voiceMessage:
                              $ref: '#/components/schemas/linkedin-voice-message.type'
                            likeRecentPosts:
                              $ref: >-
                                #/components/schemas/linkedin-like-recent-posts.type
                            followProfile:
                              $ref: >-
                                #/components/schemas/linkedin-follow-profile.type
                        oneOf:
                          - type: object
                            title: LinkedIn Message
                            description: LinkedIn message action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - message
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                              executionMode:
                                type: string
                                description: Execution mode for the action
                                enum:
                                  - automatic
                                  - manual
                              variants:
                                type: array
                                description: >-
                                  Array of LinkedIn message variants (A/B test
                                  versions)
                                items:
                                  type: object
                                  title: LinkedIn Variant
                                  description: Individual LinkedIn message/connect variant
                                  properties:
                                    id:
                                      type: integer
                                      description: >-
                                        Unique identifier for this LinkedIn
                                        variant
                                    message:
                                      type: string
                                      description: Message content
                                    isEnabled:
                                      type: boolean
                                      description: Indicates whether the variant is enabled
                                  required:
                                    - message
                                    - isEnabled
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                              - executionMode
                              - variants
                          - type: object
                            title: LinkedIn Connect
                            description: LinkedIn connect action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - connect
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                              executionMode:
                                type: string
                                description: Execution mode for the action
                                enum:
                                  - automatic
                                  - manual
                              variants:
                                type: array
                                description: >-
                                  Array of LinkedIn connect variants (A/B test
                                  versions). Message is optional, max 300
                                  characters.
                                items:
                                  type: object
                                  title: LinkedIn Variant
                                  description: Individual LinkedIn message/connect variant
                                  properties:
                                    id:
                                      type: integer
                                      description: >-
                                        Unique identifier for this LinkedIn
                                        variant
                                    message:
                                      type: string
                                      description: Message content
                                    isEnabled:
                                      type: boolean
                                      description: Indicates whether the variant is enabled
                                  required:
                                    - message
                                    - isEnabled
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                              - executionMode
                              - variants
                          - type: object
                            title: LinkedIn InMail
                            description: LinkedIn InMail action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - inMail
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                              executionMode:
                                type: string
                                description: Execution mode for the InMail
                                enum:
                                  - automatic
                                  - manual
                              variants:
                                type: array
                                description: >-
                                  Array of LinkedIn InMail variants (A/B test
                                  versions)
                                items:
                                  type: object
                                  title: LinkedIn InMail Variant
                                  description: Individual LinkedIn InMail variant
                                  properties:
                                    id:
                                      type: integer
                                      description: >-
                                        Unique identifier for this LinkedIn
                                        InMail variant
                                    subject:
                                      type: string
                                      description: InMail subject line
                                    message:
                                      type: string
                                      description: InMail message content
                                    isEnabled:
                                      type: boolean
                                      description: Indicates whether the variant is enabled
                                  required:
                                    - subject
                                    - message
                                    - isEnabled
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                              - executionMode
                              - variants
                          - type: object
                            title: LinkedIn View Profile
                            description: LinkedIn view profile action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - viewProfile
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                              executionMode:
                                type: string
                                description: Execution mode for the action
                                enum:
                                  - automatic
                                  - manual
                              description:
                                type: string
                                description: Description or notes for the profile view
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                              - executionMode
                          - type: object
                            title: LinkedIn Endorse Skills
                            description: LinkedIn endorse skills action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - endorseSkills
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                              numberOfSkills:
                                type: integer
                                minimum: 1
                                maximum: 3
                                description: Number of skills to endorse (1-3)
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                              - numberOfSkills
                          - type: object
                            title: LinkedIn Voice Message
                            description: LinkedIn voice message action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - voiceMessage
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                              audioFile:
                                type: string
                                description: The audio file URL for the voice message
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                              - audioFile
                          - type: object
                            title: LinkedIn Like Recent Posts
                            description: LinkedIn like recent posts action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - likeRecentPosts
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                          - type: object
                            title: LinkedIn Follow Profile
                            description: LinkedIn follow profile action step
                            properties:
                              id:
                                type: integer
                                nullable: true
                                readOnly: true
                                description: Unique identifier for the step
                              parentId:
                                type: integer
                                nullable: true
                                description: ID of the parent step (for branching)
                              ifConditionPositive:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether this step is on the positive branch of
                                  a condition
                              type:
                                type: string
                                enum:
                                  - linkedIn
                                description: Step type discriminator
                              actionType:
                                type: string
                                enum:
                                  - followProfile
                                description: LinkedIn action type discriminator
                              delayInMinutes:
                                type: integer
                                minimum: 0
                                description: Delay in minutes before executing this step
                            required:
                              - type
                              - actionType
                              - delayInMinutes
                      - type: object
                        title: Call
                        description: Call step with script/notes
                        properties:
                          id:
                            type: integer
                            nullable: true
                            readOnly: true
                            description: Unique identifier for the step
                          parentId:
                            type: integer
                            nullable: true
                            description: ID of the parent step (for branching)
                          ifConditionPositive:
                            type: boolean
                            nullable: true
                            description: >-
                              Whether this step is on the positive branch of a
                              condition
                          type:
                            type: string
                            enum:
                              - call
                            description: Step type discriminator
                          delayInMinutes:
                            type: integer
                            minimum: 0
                            description: Delay in minutes before executing this step
                          message:
                            type: string
                            description: Notes or script for the call
                        required:
                          - type
                          - delayInMinutes
                      - type: object
                        title: SMS
                        description: SMS step with message content
                        properties:
                          id:
                            type: integer
                            nullable: true
                            readOnly: true
                            description: Unique identifier for the step
                          parentId:
                            type: integer
                            nullable: true
                            description: ID of the parent step (for branching)
                          ifConditionPositive:
                            type: boolean
                            nullable: true
                            description: >-
                              Whether this step is on the positive branch of a
                              condition
                          type:
                            type: string
                            enum:
                              - sms
                            description: Step type discriminator
                          delayInMinutes:
                            type: integer
                            minimum: 0
                            description: Delay in minutes before executing this step
                          executionMode:
                            type: string
                            description: Execution mode for the SMS step
                            enum:
                              - automatic
                              - manual
                          message:
                            type: string
                            description: SMS message content
                        required:
                          - type
                          - delayInMinutes
                          - executionMode
                          - message
                      - type: object
                        title: WhatsApp
                        description: WhatsApp step with message content
                        properties:
                          id:
                            type: integer
                            nullable: true
                            readOnly: true
                            description: Unique identifier for the step
                          parentId:
                            type: integer
                            nullable: true
                            description: ID of the parent step (for branching)
                          ifConditionPositive:
                            type: boolean
                            nullable: true
                            description: >-
                              Whether this step is on the positive branch of a
                              condition
                          type:
                            type: string
                            enum:
                              - whatsApp
                            description: Step type discriminator
                          delayInMinutes:
                            type: integer
                            minimum: 0
                            description: Delay in minutes before executing this step
                          message:
                            type: string
                            description: WhatsApp message content
                        required:
                          - type
                          - delayInMinutes
                          - message
                      - type: object
                        title: Zapier
                        description: Zapier integration step
                        properties:
                          id:
                            type: integer
                            nullable: true
                            readOnly: true
                            description: Unique identifier for the step
                          parentId:
                            type: integer
                            nullable: true
                            description: ID of the parent step (for branching)
                          ifConditionPositive:
                            type: boolean
                            nullable: true
                            description: >-
                              Whether this step is on the positive branch of a
                              condition
                          type:
                            type: string
                            enum:
                              - zapier
                            description: Step type discriminator
                          delayInMinutes:
                            type: integer
                            minimum: 0
                            description: Delay in minutes before executing this step
                          name:
                            type: string
                            description: Name of the Zapier step
                          action:
                            type: string
                            description: Zapier action type
                            enum:
                              - immediately
                              - wait
                        required:
                          - type
                          - delayInMinutes
                          - name
                          - action
                      - type: object
                        title: Task
                        description: Task step for manual actions
                        properties:
                          id:
                            type: integer
                            nullable: true
                            readOnly: true
                            description: Unique identifier for the step
                          parentId:
                            type: integer
                            nullable: true
                            description: ID of the parent step (for branching)
                          ifConditionPositive:
                            type: boolean
                            nullable: true
                            description: >-
                              Whether this step is on the positive branch of a
                              condition
                          type:
                            type: string
                            enum:
                              - task
                            description: Step type discriminator
                          delayInMinutes:
                            type: integer
                            minimum: 0
                            description: Delay in minutes before executing this step
                          actionType:
                            type: string
                            description: Type of task action to perform
                            enum:
                              - toDo
                              - meeting
                          description:
                            type: string
                            description: Task description or instructions
                        required:
                          - type
                          - delayInMinutes
                          - actionType
                          - description
                      - type: object
                        title: Condition
                        description: Condition step that evaluates rules before proceeding
                        properties:
                          id:
                            type: integer
                            nullable: true
                            readOnly: true
                            description: Unique identifier for the step
                          parentId:
                            type: integer
                            nullable: true
                            description: ID of the parent step (for branching)
                          ifConditionPositive:
                            type: boolean
                            nullable: true
                            description: >-
                              Whether this step is on the positive branch of a
                              condition
                          type:
                            type: string
                            enum:
                              - condition
                            description: Step type discriminator
                          delayInMinutes:
                            type: integer
                            minimum: 0
                            description: Delay in minutes before executing this step
                          waitInMinutes:
                            type: integer
                            minimum: 0
                            description: Wait time in minutes for condition evaluation
                          conditions:
                            type: array
                            description: Array of condition templates to evaluate
                            items:
                              type: object
                              title: ConditionTemplate
                              description: >-
                                Template defining a condition with property and
                                rules
                              properties:
                                property:
                                  type: string
                                  description: Property name to evaluate
                                rules:
                                  type: array
                                  description: Set of rules to apply to the property
                                  items:
                                    type: object
                                    title: ConditionRule
                                    description: >-
                                      Rule defining operator and value for
                                      condition
                                    properties:
                                      operator:
                                        type: string
                                        description: >-
                                          Comparison operator (e.g., `isSet`,
                                          `isNotSet`, `equals`, etc.)
                                      value:
                                        type: string
                                        nullable: true
                                        description: >-
                                          Value to compare against. Null for
                                          operators like `isSet`/`isNotSet`.
                                    required:
                                      - operator
                              required:
                                - property
                                - rules
                        required:
                          - type
                          - delayInMinutes
                          - waitInMinutes
                          - conditions
              example:
                name: Sales Outreach 2024
                scheduleId: 1
                emailAccounts:
                  - 101
                  - 102
                linkedInAccounts:
                  - 42
                settings:
                  emailsCountPerDay: 50
                  daysToFinishProspect: 14
                  emailSendingDelaySeconds: 30
                  dailyThrottling: 200
                  useDailyThrottling: true
                  disableOpensTracking: false
                  repliesHandlingType: markAsFinished
                  enableLinksTracking: true
                steps:
                  - type: email
                    delayInMinutes: 0
                    executionMode: automatic
                    variants:
                      - subject: Quick question about {{companyName}}
                        message: >-
                          <p>Hi {{firstName}},</p><p>I noticed you are leading
                          initiatives at {{companyName}} and wanted to reach
                          out.</p><p>Best regards</p>
                  - type: linkedIn
                    actionType: message
                    delayInMinutes: 1440
                    executionMode: automatic
                    variants:
                      - message: Hi {{firstName}}, would love to connect!
                        isEnabled: true
      responses:
        '201':
          description: Sequence created successfully
          content:
            application/json:
              schema:
                title: Sequence
                description: >-
                  Full representation of a sequence, including its schedule and
                  the email and LinkedIn accounts used to send from it.
                allOf:
                  - type: object
                    properties:
                      id:
                        type: integer
                        readOnly: true
                        description: Unique identifier for the sequence
                      ownerUserId:
                        type: integer
                        readOnly: true
                        description: Identifier of the user who owns the sequence
                      name:
                        type: string
                        description: Name of the sequence
                      created:
                        type: string
                        format: date-time
                        readOnly: true
                        description: Sequence creation timestamp with timezone offset
                      status:
                        type: string
                        enum:
                          - new
                          - active
                          - paused
                        readOnly: true
                        description: Current status of the sequence
                      isArchived:
                        type: boolean
                        readOnly: true
                        description: Indicates if the sequence is archived
                      health:
                        type: string
                        description: >-
                          Overall health status of the sequence. Indicates
                          whether the sequence can operate normally or has
                          issues that need attention.


                          - `healthy` — Sequence is functioning normally with no
                          issues

                          - `stalled` — Sequence has stalled and is not
                          progressing

                          - `degraded` — Sequence is running but with reduced
                          effectiveness

                          - `blocked` — Sequence cannot proceed due to critical
                          issues
                        enum:
                          - healthy
                          - stalled
                          - degraded
                          - blocked
                        readOnly: true
                    example:
                      id: 12345
                      ownerUserId: 42
                      name: Sales Outreach
                      created: '2024-03-08T10:00:00+00:00'
                      status: active
                      isArchived: false
                      health: healthy
                  - type: object
                    properties:
                      scheduleId:
                        type: integer
                        description: Schedule ID
                      emailAccounts:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              format: int64
                              description: Email account ID
                            email:
                              type: string
                              description: Email address
                          required:
                            - id
                            - email
                        description: Email accounts used to send emails for this sequence
                      linkedInAccounts:
                        type: array
                        items:
                          type: object
                          title: Sequence LinkedIn Account
                          description: A LinkedIn account linked to a sequence
                          properties:
                            id:
                              type: integer
                              description: Unique identifier for the LinkedIn account
                            name:
                              type: string
                              description: Name of the LinkedIn account
                            profileUrl:
                              type: string
                              nullable: true
                              description: LinkedIn profile URL
                            status:
                              type: string
                              enum:
                                - disabled
                                - enabled
                                - dailyLimitReached
                                - cookieInvalid
                              description: Current status of the LinkedIn account
                          example:
                            id: 42
                            name: John Doe
                            profileUrl: https://www.linkedin.com/in/johndoe
                            status: enabled
                        description: LinkedIn accounts linked to this sequence
                      settings:
                        type: object
                        title: Sequence Settings
                        description: Settings configuration for a sequence
                        required:
                          - emailsCountPerDay
                          - daysToFinishProspect
                          - emailSendingDelaySeconds
                          - dailyThrottling
                          - disableOpensTracking
                          - repliesHandlingType
                          - enableLinksTracking
                        properties:
                          emailsCountPerDay:
                            type: integer
                            description: Maximum number of emails sent daily
                          daysToFinishProspect:
                            type: integer
                            description: Days taken for a prospect to finish
                          emailSendingDelaySeconds:
                            type: integer
                            description: Delay between sending emails in seconds
                          dailyThrottling:
                            type: integer
                            description: >-
                              Number of prospects processed within 24-hour
                              period
                          useDailyThrottling:
                            type: boolean
                            description: Whether daily throttling is enabled
                          disableOpensTracking:
                            type: boolean
                            description: Whether to disable email open tracking
                          repliesHandlingType:
                            type: string
                            enum:
                              - markAsFinished
                              - continueSending
                            description: How replies are handled
                          enableLinksTracking:
                            type: boolean
                            description: Whether to enable link tracking
                          isSendingPlainTextEnabled:
                            type: boolean
                            description: >-
                              Whether to send emails as plain text instead of
                              HTML
                          isListUnsubscribeHeaderEnabled:
                            type: boolean
                            description: >-
                              Whether to include a List-Unsubscribe header in
                              all emails from this sequence
                          isSameDomainSendingLimitEnabled:
                            type: boolean
                            description: >-
                              Whether to limit the number of contacts from the
                              same domain contacted per day
                          numberOfSameDomainSendingLimit:
                            type: integer
                            nullable: true
                            description: >-
                              Maximum number of same-domain contacts per day
                              (applicable when `isSameDomainSendingLimitEnabled`
                              is true)
                          matchProspectToEmailAccountProvider:
                            type: boolean
                            description: >-
                              Whether to match prospect email provider to sender
                              email provider
                          callIsAutomatic:
                            type: boolean
                            description: >-
                              Whether calls are handled automatically in this
                              sequence
                          taskIsAutomatic:
                            type: boolean
                            description: >-
                              Whether tasks are handled automatically in this
                              sequence
                          generatedTaskOwner:
                            type: string
                            nullable: true
                            enum:
                              - contact
                              - sequence
                            default: sequence
                            description: >-
                              Who owns generated tasks — the contact owner or
                              the sequence owner. Defaults to `sequence` when
                              omitted.
                      steps:
                        type: array
                        items:
                          title: Sequence Step
                          discriminator:
                            propertyName: type
                            mapping:
                              email:
                                $ref: '#/components/schemas/email.type'
                              linkedIn:
                                $ref: '#/components/schemas/linkedin.type'
                              call:
                                $ref: '#/components/schemas/call.type'
                              sms:
                                $ref: '#/components/schemas/sms.type'
                              whatsApp:
                                $ref: '#/components/schemas/whatsapp.type'
                              zapier:
                                $ref: '#/components/schemas/zapier.type'
                              task:
                                $ref: '#/components/schemas/task.type'
                              condition:
                                $ref: '#/components/schemas/condition.type'
                          oneOf:
                            - type: object
                              title: Email
                              description: Email step with variant configuration
                              properties:
                                id:
                                  type: integer
                                  nullable: true
                                  readOnly: true
                                  description: Unique identifier for the step
                                parentId:
                                  type: integer
                                  nullable: true
                                  description: ID of the parent step (for branching)
                                ifConditionPositive:
                                  type: boolean
                                  nullable: true
                                  description: >-
                                    Whether this step is on the positive branch
                                    of a condition
                                type:
                                  type: string
                                  enum:
                                    - email
                                  description: Step type discriminator
                                delayInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: Delay in minutes before executing this step
                                executionMode:
                                  type: string
                                  description: Execution mode for the email step
                                  enum:
                                    - automatic
                                    - manual
                                variants:
                                  type: array
                                  description: Array of email variants (A/B test versions)
                                  items:
                                    type: object
                                    title: Email Variant
                                    description: >-
                                      Individual email variant within an email
                                      step.
                                    properties:
                                      id:
                                        type: integer
                                        description: Unique identifier for this email variant
                                      subject:
                                        type: string
                                        nullable: true
                                        description: Email subject line.
                                      message:
                                        type: string
                                        nullable: true
                                        description: Email message content.
                                      attachmentIds:
                                        type: array
                                        nullable: true
                                        writeOnly: true
                                        maxItems: 3
                                        items:
                                          type: integer
                                        description: >-
                                          **Write-only.** IDs of previously
                                          uploaded attachments to attach to this
                                          variant. Upload files via `POST
                                          /v3/attachments` first to obtain
                                          attachment IDs.

                                          A variant may carry up to 3 attachments.
                                          Omit to leave attachments unset.

                                          Not returned on read — use
                                          `hasAttachments` to detect presence.
                                      hasAttachments:
                                        type: boolean
                                        readOnly: true
                                        description: >-
                                          Whether the variant has any attachments.
                                          Returned on read; ignored on write.
                              required:
                                - type
                                - delayInMinutes
                                - executionMode
                                - variants
                            - title: LinkedIn
                              description: >-
                                LinkedIn step with action type
                                sub-discriminator. Uses type "linkedIn" with a
                                second discriminator actionType to select the
                                specific LinkedIn action.
                              discriminator:
                                propertyName: actionType
                                mapping:
                                  message:
                                    $ref: '#/components/schemas/linkedin-message.type'
                                  connect:
                                    $ref: '#/components/schemas/linkedin-connect.type'
                                  inMail:
                                    $ref: '#/components/schemas/linkedin-inmail.type'
                                  viewProfile:
                                    $ref: >-
                                      #/components/schemas/linkedin-view-profile.type
                                  endorseSkills:
                                    $ref: >-
                                      #/components/schemas/linkedin-endorse-skills.type
                                  voiceMessage:
                                    $ref: >-
                                      #/components/schemas/linkedin-voice-message.type
                                  likeRecentPosts:
                                    $ref: >-
                                      #/components/schemas/linkedin-like-recent-posts.type
                                  followProfile:
                                    $ref: >-
                                      #/components/schemas/linkedin-follow-profile.type
                              oneOf:
                                - type: object
                                  title: LinkedIn Message
                                  description: LinkedIn message action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - message
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                    executionMode:
                                      type: string
                                      description: Execution mode for the action
                                      enum:
                                        - automatic
                                        - manual
                                    variants:
                                      type: array
                                      description: >-
                                        Array of LinkedIn message variants (A/B
                                        test versions)
                                      items:
                                        type: object
                                        title: LinkedIn Variant
                                        description: >-
                                          Individual LinkedIn message/connect
                                          variant
                                        properties:
                                          id:
                                            type: integer
                                            description: >-
                                              Unique identifier for this LinkedIn
                                              variant
                                          message:
                                            type: string
                                            description: Message content
                                          isEnabled:
                                            type: boolean
                                            description: Indicates whether the variant is enabled
                                        required:
                                          - message
                                          - isEnabled
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                                    - executionMode
                                    - variants
                                - type: object
                                  title: LinkedIn Connect
                                  description: LinkedIn connect action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - connect
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                    executionMode:
                                      type: string
                                      description: Execution mode for the action
                                      enum:
                                        - automatic
                                        - manual
                                    variants:
                                      type: array
                                      description: >-
                                        Array of LinkedIn connect variants (A/B
                                        test versions). Message is optional, max
                                        300 characters.
                                      items:
                                        type: object
                                        title: LinkedIn Variant
                                        description: >-
                                          Individual LinkedIn message/connect
                                          variant
                                        properties:
                                          id:
                                            type: integer
                                            description: >-
                                              Unique identifier for this LinkedIn
                                              variant
                                          message:
                                            type: string
                                            description: Message content
                                          isEnabled:
                                            type: boolean
                                            description: Indicates whether the variant is enabled
                                        required:
                                          - message
                                          - isEnabled
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                                    - executionMode
                                    - variants
                                - type: object
                                  title: LinkedIn InMail
                                  description: LinkedIn InMail action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - inMail
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                    executionMode:
                                      type: string
                                      description: Execution mode for the InMail
                                      enum:
                                        - automatic
                                        - manual
                                    variants:
                                      type: array
                                      description: >-
                                        Array of LinkedIn InMail variants (A/B
                                        test versions)
                                      items:
                                        type: object
                                        title: LinkedIn InMail Variant
                                        description: Individual LinkedIn InMail variant
                                        properties:
                                          id:
                                            type: integer
                                            description: >-
                                              Unique identifier for this LinkedIn
                                              InMail variant
                                          subject:
                                            type: string
                                            description: InMail subject line
                                          message:
                                            type: string
                                            description: InMail message content
                                          isEnabled:
                                            type: boolean
                                            description: Indicates whether the variant is enabled
                                        required:
                                          - subject
                                          - message
                                          - isEnabled
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                                    - executionMode
                                    - variants
                                - type: object
                                  title: LinkedIn View Profile
                                  description: LinkedIn view profile action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - viewProfile
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                    executionMode:
                                      type: string
                                      description: Execution mode for the action
                                      enum:
                                        - automatic
                                        - manual
                                    description:
                                      type: string
                                      description: >-
                                        Description or notes for the profile
                                        view
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                                    - executionMode
                                - type: object
                                  title: LinkedIn Endorse Skills
                                  description: LinkedIn endorse skills action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - endorseSkills
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                    numberOfSkills:
                                      type: integer
                                      minimum: 1
                                      maximum: 3
                                      description: Number of skills to endorse (1-3)
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                                    - numberOfSkills
                                - type: object
                                  title: LinkedIn Voice Message
                                  description: LinkedIn voice message action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - voiceMessage
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                    audioFile:
                                      type: string
                                      description: The audio file URL for the voice message
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                                    - audioFile
                                - type: object
                                  title: LinkedIn Like Recent Posts
                                  description: LinkedIn like recent posts action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - likeRecentPosts
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                                - type: object
                                  title: LinkedIn Follow Profile
                                  description: LinkedIn follow profile action step
                                  properties:
                                    id:
                                      type: integer
                                      nullable: true
                                      readOnly: true
                                      description: Unique identifier for the step
                                    parentId:
                                      type: integer
                                      nullable: true
                                      description: ID of the parent step (for branching)
                                    ifConditionPositive:
                                      type: boolean
                                      nullable: true
                                      description: >-
                                        Whether this step is on the positive
                                        branch of a condition
                                    type:
                                      type: string
                                      enum:
                                        - linkedIn
                                      description: Step type discriminator
                                    actionType:
                                      type: string
                                      enum:
                                        - followProfile
                                      description: LinkedIn action type discriminator
                                    delayInMinutes:
                                      type: integer
                                      minimum: 0
                                      description: >-
                                        Delay in minutes before executing this
                                        step
                                  required:
                                    - type
                                    - actionType
                                    - delayInMinutes
                            - type: object
                              title: Call
                              description: Call step with script/notes
                              properties:
                                id:
                                  type: integer
                                  nullable: true
                                  readOnly: true
                                  description: Unique identifier for the step
                                parentId:
                                  type: integer
                                  nullable: true
                                  description: ID of the parent step (for branching)
                                ifConditionPositive:
                                  type: boolean
                                  nullable: true
                                  description: >-
                                    Whether this step is on the positive branch
                                    of a condition
                                type:
                                  type: string
                                  enum:
                                    - call
                                  description: Step type discriminator
                                delayInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: Delay in minutes before executing this step
                                message:
                                  type: string
                                  description: Notes or script for the call
                              required:
                                - type
                                - delayInMinutes
                            - type: object
                              title: SMS
                              description: SMS step with message content
                              properties:
                                id:
                                  type: integer
                                  nullable: true
                                  readOnly: true
                                  description: Unique identifier for the step
                                parentId:
                                  type: integer
                                  nullable: true
                                  description: ID of the parent step (for branching)
                                ifConditionPositive:
                                  type: boolean
                                  nullable: true
                                  description: >-
                                    Whether this step is on the positive branch
                                    of a condition
                                type:
                                  type: string
                                  enum:
                                    - sms
                                  description: Step type discriminator
                                delayInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: Delay in minutes before executing this step
                                executionMode:
                                  type: string
                                  description: Execution mode for the SMS step
                                  enum:
                                    - automatic
                                    - manual
                                message:
                                  type: string
                                  description: SMS message content
                              required:
                                - type
                                - delayInMinutes
                                - executionMode
                                - message
                            - type: object
                              title: WhatsApp
                              description: WhatsApp step with message content
                              properties:
                                id:
                                  type: integer
                                  nullable: true
                                  readOnly: true
                                  description: Unique identifier for the step
                                parentId:
                                  type: integer
                                  nullable: true
                                  description: ID of the parent step (for branching)
                                ifConditionPositive:
                                  type: boolean
                                  nullable: true
                                  description: >-
                                    Whether this step is on the positive branch
                                    of a condition
                                type:
                                  type: string
                                  enum:
                                    - whatsApp
                                  description: Step type discriminator
                                delayInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: Delay in minutes before executing this step
                                message:
                                  type: string
                                  description: WhatsApp message content
                              required:
                                - type
                                - delayInMinutes
                                - message
                            - type: object
                              title: Zapier
                              description: Zapier integration step
                              properties:
                                id:
                                  type: integer
                                  nullable: true
                                  readOnly: true
                                  description: Unique identifier for the step
                                parentId:
                                  type: integer
                                  nullable: true
                                  description: ID of the parent step (for branching)
                                ifConditionPositive:
                                  type: boolean
                                  nullable: true
                                  description: >-
                                    Whether this step is on the positive branch
                                    of a condition
                                type:
                                  type: string
                                  enum:
                                    - zapier
                                  description: Step type discriminator
                                delayInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: Delay in minutes before executing this step
                                name:
                                  type: string
                                  description: Name of the Zapier step
                                action:
                                  type: string
                                  description: Zapier action type
                                  enum:
                                    - immediately
                                    - wait
                              required:
                                - type
                                - delayInMinutes
                                - name
                                - action
                            - type: object
                              title: Task
                              description: Task step for manual actions
                              properties:
                                id:
                                  type: integer
                                  nullable: true
                                  readOnly: true
                                  description: Unique identifier for the step
                                parentId:
                                  type: integer
                                  nullable: true
                                  description: ID of the parent step (for branching)
                                ifConditionPositive:
                                  type: boolean
                                  nullable: true
                                  description: >-
                                    Whether this step is on the positive branch
                                    of a condition
                                type:
                                  type: string
                                  enum:
                                    - task
                                  description: Step type discriminator
                                delayInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: Delay in minutes before executing this step
                                actionType:
                                  type: string
                                  description: Type of task action to perform
                                  enum:
                                    - toDo
                                    - meeting
                                description:
                                  type: string
                                  description: Task description or instructions
                              required:
                                - type
                                - delayInMinutes
                                - actionType
                                - description
                            - type: object
                              title: Condition
                              description: >-
                                Condition step that evaluates rules before
                                proceeding
                              properties:
                                id:
                                  type: integer
                                  nullable: true
                                  readOnly: true
                                  description: Unique identifier for the step
                                parentId:
                                  type: integer
                                  nullable: true
                                  description: ID of the parent step (for branching)
                                ifConditionPositive:
                                  type: boolean
                                  nullable: true
                                  description: >-
                                    Whether this step is on the positive branch
                                    of a condition
                                type:
                                  type: string
                                  enum:
                                    - condition
                                  description: Step type discriminator
                                delayInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: Delay in minutes before executing this step
                                waitInMinutes:
                                  type: integer
                                  minimum: 0
                                  description: >-
                                    Wait time in minutes for condition
                                    evaluation
                                conditions:
                                  type: array
                                  description: Array of condition templates to evaluate
                                  items:
                                    type: object
                                    title: ConditionTemplate
                                    description: >-
                                      Template defining a condition with
                                      property and rules
                                    properties:
                                      property:
                                        type: string
                                        description: Property name to evaluate
                                      rules:
                                        type: array
                                        description: Set of rules to apply to the property
                                        items:
                                          type: object
                                          title: ConditionRule
                                          description: >-
                                            Rule defining operator and value for
                                            condition
                                          properties:
                                            operator:
                                              type: string
                                              description: >-
                                                Comparison operator (e.g., `isSet`,
                                                `isNotSet`, `equals`, etc.)
                                            value:
                                              type: string
                                              nullable: true
                                              description: >-
                                                Value to compare against. Null for
                                                operators like `isSet`/`isNotSet`.
                                          required:
                                            - operator
                                    required:
                                      - property
                                      - rules
                              required:
                                - type
                                - delayInMinutes
                                - waitInMinutes
                                - conditions
                        description: Array of sequence steps
                example:
                  id: 123
                  ownerUserId: 42
                  name: Sales Outreach 2024
                  status: active
                  created: '2024-03-08T14:30:00+00:00'
                  isArchived: false
                  health: degraded
                  scheduleId: 1
                  emailAccounts:
                    - id: 1
                      email: sales@company.com
                    - id: 2
                      email: outreach@company.com
                  linkedInAccounts:
                    - id: 42
                      name: John Doe
                      profileUrl: https://www.linkedin.com/in/johndoe
                      status: enabled
                  settings:
                    emailsCountPerDay: 50
                    daysToFinishProspect: 14
                    emailSendingDelaySeconds: 30
                    dailyThrottling: 200
                    disableOpensTracking: false
                    repliesHandlingType: markAsFinished
                    enableLinksTracking: true
                  steps:
                    - id: 1323
                      type: email
                      delayInMinutes: 0
                      executionMode: automatic
                      variants:
                        - id: 1
                          subject: Quick question about {{companyName}}
                          message: >-
                            <p>Hi {{firstName}},</p><p>I noticed you are leading
                            initiatives at {{companyName}} and wanted to reach
                            out.</p><p>Best regards, John</p>
                    - id: 43432
                      type: linkedIn
                      actionType: message
                      delayInMinutes: 2880
                      executionMode: automatic
                      variants:
                        - id: 2
                          message: >-
                            Hi {{firstName}}, I noticed your great work at
                            {{companyName}}. Would love to connect!
                          isEnabled: true
        '400':
          description: >-
            Validation failure on the request body (e.g. invalid step or empty
            subject)
          content:
            application/problem+json:
              schema:
                allOf:
                  - allOf:
                      - type: object
                        title: Problem Details
                        description: >-
                          Bare RFC 9457 problem-details envelope. Returned by
                          middleware-level errors

                          that don't carry domain context: 401 Unauthorized
                          (auth middleware),

                          429 Too Many Requests (rate-limit middleware), and
                          route-level 404 / 405 /

                          415 (framework middleware).


                          Business and validation responses extend this envelope
                          and add additional

                          fields — see `business-problem.model.yaml` (adds
                          `code` slug) and

                          `validation-problem.model.yaml` (adds `errors[]`
                          array).
                        properties:
                          title:
                            type: string
                            description: Short, human-readable summary of the problem.
                          status:
                            type: integer
                            description: HTTP status code.
                            minimum: 100
                            maximum: 599
                          detail:
                            type: string
                            description: >-
                              Human-readable explanation specific to this
                              occurrence.
                      - type: object
                        properties:
                          errors:
                            type: array
                            description: >-
                              List of field-level validation errors. Always
                              non-empty when this

                              envelope is returned. Each entry pins a single
                              offending field

                              via JSON Pointer plus a sanitized detail string.
                            items:
                              type: object
                              title: Validation Error
                              description: A single field-level validation error.
                              properties:
                                pointer:
                                  type: string
                                  description: >-
                                    JSON Pointer (RFC 6901) to the offending
                                    field — e.g.

                                    `/steps/0/subject`.


                                    * An empty string (`""`) means the error
                                    applies to the whole
                                      request body (e.g. body is missing or unparseable).
                                    * For route or query parameter failures the
                                    pointer is the parameter
                                      name (e.g. `id`, `top`).
                                  example: /steps/0/subject
                                detail:
                                  type: string
                                  description: >-
                                    Sanitized, human-readable explanation of
                                    this field's error. One of a

                                    small set of templates — `"Field is
                                    required."`, `"Value has an

                                    invalid type."`, `"Value has an invalid
                                    format."`, `"Request body is

                                    not valid JSON."`, `"The request body is
                                    required and cannot be

                                    empty."` — or a FluentValidator message on
                                    body endpoints.
                                  example: Field is required.
                    title: Validation Problem
                    description: >-
                      Input-validation error response at 400. Returned when the
                      request body

                      fails binding, FluentValidator rules, or when route/query
                      parameter

                      attribute validation (`[Range]`, `[Required]`) fails.
                      Route, query, and

                      body errors are combined into a single `errors[]` array —
                      clients should

                      not assume one error per request.
                  - example:
                      title: Validation failed
                      status: 400
                      detail: The request body contains validation errors.
                      errors:
                        - pointer: /name
                          detail: Field is required.
              example:
                title: Validation failed
                status: 400
                detail: The request body contains validation errors.
                errors:
                  - pointer: /steps/0/subject
                    detail: First email should have subject.
        '401':
          description: >-
            Unauthorized. The response body is empty; check the
            `WWW-Authenticate` header for the expected scheme.
          content:
            application/problem+json:
              schema:
                allOf:
                  - type: object
                    title: Problem Details
                    description: >-
                      Bare RFC 9457 problem-details envelope. Returned by
                      middleware-level errors

                      that don't carry domain context: 401 Unauthorized (auth
                      middleware),

                      429 Too Many Requests (rate-limit middleware), and
                      route-level 404 / 405 /

                      415 (framework middleware).


                      Business and validation responses extend this envelope and
                      add additional

                      fields — see `business-problem.model.yaml` (adds `code`
                      slug) and

                      `validation-problem.model.yaml` (adds `errors[]` array).
                    properties:
                      title:
                        type: string
                        description: Short, human-readable summary of the problem.
                      status:
                        type: integer
                        description: HTTP status code.
                        minimum: 100
                        maximum: 599
                      detail:
                        type: string
                        description: >-
                          Human-readable explanation specific to this
                          occurrence.
                  - example:
                      title: Unauthorized
                      status: 401
                      detail: Authentication credentials are missing or invalid.
        '403':
          description: User lacks permission to create a sequence
          content:
            application/problem+json:
              schema:
                allOf:
                  - allOf:
                      - type: object
                        title: Problem Details
                        description: >-
                          Bare RFC 9457 problem-details envelope. Returned by
                          middleware-level errors

                          that don't carry domain context: 401 Unauthorized
                          (auth middleware),

                          429 Too Many Requests (rate-limit middleware), and
                          route-level 404 / 405 /

                          415 (framework middleware).


                          Business and validation responses extend this envelope
                          and add additional

                          fields — see `business-problem.model.yaml` (adds
                          `code` slug) and

                          `validation-problem.model.yaml` (adds `errors[]`
                          array).
                        properties:
                          title:
                            type: string
                            description: Short, human-readable summary of the problem.
                          status:
                            type: integer
                            description: HTTP status code.
                            minimum: 100
                            maximum: 599
                          detail:
                            type: string
                            description: >-
                              Human-readable explanation specific to this
                              occurrence.
                      - type: object
                        properties:
                          code:
                            type: string
                            description: >-
                              Stable, machine-readable error slug in the form

                              `"<resource>.<variant>"`.


                              * `resource` is the camelCased domain — e.g.
                              `sequence`,
                                `contact`, `inboxThread`, `blacklistDomainRule`.
                              * `variant` is the camelCased specific failure
                              mode — e.g.
                                `notFound`, `forbidden`, `duplicateName`, `globalRuleReadOnly`.

                              Use `code` for programmatic error handling; use
                              `detail` for

                              user-facing messages. Slugs are stable across
                              server-side enum

                              reorderings and never change meaning under a given
                              resource.
                            pattern: ^[a-z][a-zA-Z0-9]*(\.[a-z][a-zA-Z0-9]*)+$
                            example: sequence.notFound
                    title: Business Problem
                    description: >-
                      Domain error response carrying a stable, namespaced error
                      slug.

                      Emitted for most 4xx responses (business 400, 403, 404,
                      409, …) and

                      for 503 when a downstream dependency is unavailable.
                  - example:
                      title: Forbidden
                      status: 403
                      detail: You do not have permission to access this resource.
                      code: sequence.forbidden
              example:
                title: Forbidden
                status: 403
                detail: You do not have permission to create sequence.
                code: sequence.forbidden
        '404':
          description: >-
            Referenced email account, scheduler, template, or LinkedIn account
            not found
          content:
            application/problem+json:
              schema:
                allOf:
                  - allOf:
                      - type: object
                        title: Problem Details
                        description: >-
                          Bare RFC 9457 problem-details envelope. Returned by
                          middleware-level errors

                          that don't carry domain context: 401 Unauthorized
                          (auth middleware),

                          429 Too Many Requests (rate-limit middleware), and
                          route-level 404 / 405 /

                          415 (framework middleware).


                          Business and validation responses extend this envelope
                          and add additional

                          fields — see `business-problem.model.yaml` (adds
                          `code` slug) and

                          `validation-problem.model.yaml` (adds `errors[]`
                          array).
                        properties:
                          title:
                            type: string
                            description: Short, human-readable summary of the problem.
                          status:
                            type: integer
                            description: HTTP status code.
                            minimum: 100
                            maximum: 599
                          detail:
                            type: string
                            description: >-
                              Human-readable explanation specific to this
                              occurrence.
                      - type: object
                        properties:
                          code:
                            type: string
                            description: >-
                              Stable, machine-readable error slug in the form

                              `"<resource>.<variant>"`.


                              * `resource` is the camelCased domain — e.g.
                              `sequence`,
                                `contact`, `inboxThread`, `blacklistDomainRule`.
                              * `variant` is the camelCased specific failure
                              mode — e.g.
                                `notFound`, `forbidden`, `duplicateName`, `globalRuleReadOnly`.

                              Use `code` for programmatic error handling; use
                              `detail` for

                              user-facing messages. Slugs are stable across
                              server-side enum

                              reorderings and never change meaning under a given
                              resource.
                            pattern: ^[a-z][a-zA-Z0-9]*(\.[a-z][a-zA-Z0-9]*)+$
                            example: sequence.notFound
                    title: Business Problem
                    description: >-
                      Domain error response carrying a stable, namespaced error
                      slug.

                      Emitted for most 4xx responses (business 400, 403, 404,
                      409, …) and

                      for 503 when a downstream dependency is unavailable.
                  - example:
                      title: Not Found
                      status: 404
                      detail: The requested resource was not found.
                      code: sequence.notFound
              example:
                title: Not Found
                status: 404
                detail: Some of the email accounts are not found.
                code: sequence.emailAccountNotFound
        '429':
          description: Too Many Requests
          headers:
            Retry-After:
              description: Seconds to wait before retrying
              schema:
                type: integer
                minimum: 1
          content:
            application/problem+json:
              schema:
                allOf:
                  - type: object
                    title: Problem Details
                    description: >-
                      Bare RFC 9457 problem-details envelope. Returned by
                      middleware-level errors

                      that don't carry domain context: 401 Unauthorized (auth
                      middleware),

                      429 Too Many Requests (rate-limit middleware), and
                      route-level 404 / 405 /

                      415 (framework middleware).


                      Business and validation responses extend this envelope and
                      add additional

                      fields — see `business-problem.model.yaml` (adds `code`
                      slug) and

                      `validation-problem.model.yaml` (adds `errors[]` array).
                    properties:
                      title:
                        type: string
                        description: Short, human-readable summary of the problem.
                      status:
                        type: integer
                        description: HTTP status code.
                        minimum: 100
                        maximum: 599
                      detail:
                        type: string
                        description: >-
                          Human-readable explanation specific to this
                          occurrence.
              example:
                title: Too Many Requests
                status: 429
                detail: Rate limit exceeded. Retry after 60 seconds.
components:
  schemas:
    email.type:
      type: object
      title: Email
      description: Email step with variant configuration
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - email
          description: Step type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        executionMode:
          type: string
          description: Execution mode for the email step
          enum:
            - automatic
            - manual
        variants:
          type: array
          description: Array of email variants (A/B test versions)
          items:
            type: object
            title: Email Variant
            description: Individual email variant within an email step.
            properties:
              id:
                type: integer
                description: Unique identifier for this email variant
              subject:
                type: string
                nullable: true
                description: Email subject line.
              message:
                type: string
                nullable: true
                description: Email message content.
              attachmentIds:
                type: array
                nullable: true
                writeOnly: true
                maxItems: 3
                items:
                  type: integer
                description: >-
                  **Write-only.** IDs of previously uploaded attachments to
                  attach to this variant. Upload files via `POST
                  /v3/attachments` first to obtain attachment IDs.

                  A variant may carry up to 3 attachments. Omit to leave
                  attachments unset.

                  Not returned on read — use `hasAttachments` to detect
                  presence.
              hasAttachments:
                type: boolean
                readOnly: true
                description: >-
                  Whether the variant has any attachments. Returned on read;
                  ignored on write.
      required:
        - type
        - delayInMinutes
        - executionMode
        - variants
    linkedin.type:
      title: LinkedIn
      description: >-
        LinkedIn step with action type sub-discriminator. Uses type "linkedIn"
        with a second discriminator actionType to select the specific LinkedIn
        action.
      discriminator:
        propertyName: actionType
        mapping:
          message:
            $ref: '#/components/schemas/linkedin-message.type'
          connect:
            $ref: '#/components/schemas/linkedin-connect.type'
          inMail:
            $ref: '#/components/schemas/linkedin-inmail.type'
          viewProfile:
            $ref: '#/components/schemas/linkedin-view-profile.type'
          endorseSkills:
            $ref: '#/components/schemas/linkedin-endorse-skills.type'
          voiceMessage:
            $ref: '#/components/schemas/linkedin-voice-message.type'
          likeRecentPosts:
            $ref: '#/components/schemas/linkedin-like-recent-posts.type'
          followProfile:
            $ref: '#/components/schemas/linkedin-follow-profile.type'
      oneOf:
        - type: object
          title: LinkedIn Message
          description: LinkedIn message action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - message
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
            executionMode:
              type: string
              description: Execution mode for the action
              enum:
                - automatic
                - manual
            variants:
              type: array
              description: Array of LinkedIn message variants (A/B test versions)
              items:
                type: object
                title: LinkedIn Variant
                description: Individual LinkedIn message/connect variant
                properties:
                  id:
                    type: integer
                    description: Unique identifier for this LinkedIn variant
                  message:
                    type: string
                    description: Message content
                  isEnabled:
                    type: boolean
                    description: Indicates whether the variant is enabled
                required:
                  - message
                  - isEnabled
          required:
            - type
            - actionType
            - delayInMinutes
            - executionMode
            - variants
        - type: object
          title: LinkedIn Connect
          description: LinkedIn connect action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - connect
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
            executionMode:
              type: string
              description: Execution mode for the action
              enum:
                - automatic
                - manual
            variants:
              type: array
              description: >-
                Array of LinkedIn connect variants (A/B test versions). Message
                is optional, max 300 characters.
              items:
                type: object
                title: LinkedIn Variant
                description: Individual LinkedIn message/connect variant
                properties:
                  id:
                    type: integer
                    description: Unique identifier for this LinkedIn variant
                  message:
                    type: string
                    description: Message content
                  isEnabled:
                    type: boolean
                    description: Indicates whether the variant is enabled
                required:
                  - message
                  - isEnabled
          required:
            - type
            - actionType
            - delayInMinutes
            - executionMode
            - variants
        - type: object
          title: LinkedIn InMail
          description: LinkedIn InMail action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - inMail
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
            executionMode:
              type: string
              description: Execution mode for the InMail
              enum:
                - automatic
                - manual
            variants:
              type: array
              description: Array of LinkedIn InMail variants (A/B test versions)
              items:
                type: object
                title: LinkedIn InMail Variant
                description: Individual LinkedIn InMail variant
                properties:
                  id:
                    type: integer
                    description: Unique identifier for this LinkedIn InMail variant
                  subject:
                    type: string
                    description: InMail subject line
                  message:
                    type: string
                    description: InMail message content
                  isEnabled:
                    type: boolean
                    description: Indicates whether the variant is enabled
                required:
                  - subject
                  - message
                  - isEnabled
          required:
            - type
            - actionType
            - delayInMinutes
            - executionMode
            - variants
        - type: object
          title: LinkedIn View Profile
          description: LinkedIn view profile action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - viewProfile
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
            executionMode:
              type: string
              description: Execution mode for the action
              enum:
                - automatic
                - manual
            description:
              type: string
              description: Description or notes for the profile view
          required:
            - type
            - actionType
            - delayInMinutes
            - executionMode
        - type: object
          title: LinkedIn Endorse Skills
          description: LinkedIn endorse skills action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - endorseSkills
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
            numberOfSkills:
              type: integer
              minimum: 1
              maximum: 3
              description: Number of skills to endorse (1-3)
          required:
            - type
            - actionType
            - delayInMinutes
            - numberOfSkills
        - type: object
          title: LinkedIn Voice Message
          description: LinkedIn voice message action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - voiceMessage
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
            audioFile:
              type: string
              description: The audio file URL for the voice message
          required:
            - type
            - actionType
            - delayInMinutes
            - audioFile
        - type: object
          title: LinkedIn Like Recent Posts
          description: LinkedIn like recent posts action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - likeRecentPosts
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
          required:
            - type
            - actionType
            - delayInMinutes
        - type: object
          title: LinkedIn Follow Profile
          description: LinkedIn follow profile action step
          properties:
            id:
              type: integer
              nullable: true
              readOnly: true
              description: Unique identifier for the step
            parentId:
              type: integer
              nullable: true
              description: ID of the parent step (for branching)
            ifConditionPositive:
              type: boolean
              nullable: true
              description: Whether this step is on the positive branch of a condition
            type:
              type: string
              enum:
                - linkedIn
              description: Step type discriminator
            actionType:
              type: string
              enum:
                - followProfile
              description: LinkedIn action type discriminator
            delayInMinutes:
              type: integer
              minimum: 0
              description: Delay in minutes before executing this step
          required:
            - type
            - actionType
            - delayInMinutes
    call.type:
      type: object
      title: Call
      description: Call step with script/notes
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - call
          description: Step type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        message:
          type: string
          description: Notes or script for the call
      required:
        - type
        - delayInMinutes
    sms.type:
      type: object
      title: SMS
      description: SMS step with message content
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - sms
          description: Step type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        executionMode:
          type: string
          description: Execution mode for the SMS step
          enum:
            - automatic
            - manual
        message:
          type: string
          description: SMS message content
      required:
        - type
        - delayInMinutes
        - executionMode
        - message
    whatsapp.type:
      type: object
      title: WhatsApp
      description: WhatsApp step with message content
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - whatsApp
          description: Step type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        message:
          type: string
          description: WhatsApp message content
      required:
        - type
        - delayInMinutes
        - message
    zapier.type:
      type: object
      title: Zapier
      description: Zapier integration step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - zapier
          description: Step type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        name:
          type: string
          description: Name of the Zapier step
        action:
          type: string
          description: Zapier action type
          enum:
            - immediately
            - wait
      required:
        - type
        - delayInMinutes
        - name
        - action
    task.type:
      type: object
      title: Task
      description: Task step for manual actions
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - task
          description: Step type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        actionType:
          type: string
          description: Type of task action to perform
          enum:
            - toDo
            - meeting
        description:
          type: string
          description: Task description or instructions
      required:
        - type
        - delayInMinutes
        - actionType
        - description
    condition.type:
      type: object
      title: Condition
      description: Condition step that evaluates rules before proceeding
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - condition
          description: Step type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        waitInMinutes:
          type: integer
          minimum: 0
          description: Wait time in minutes for condition evaluation
        conditions:
          type: array
          description: Array of condition templates to evaluate
          items:
            type: object
            title: ConditionTemplate
            description: Template defining a condition with property and rules
            properties:
              property:
                type: string
                description: Property name to evaluate
              rules:
                type: array
                description: Set of rules to apply to the property
                items:
                  type: object
                  title: ConditionRule
                  description: Rule defining operator and value for condition
                  properties:
                    operator:
                      type: string
                      description: >-
                        Comparison operator (e.g., `isSet`, `isNotSet`,
                        `equals`, etc.)
                    value:
                      type: string
                      nullable: true
                      description: >-
                        Value to compare against. Null for operators like
                        `isSet`/`isNotSet`.
                  required:
                    - operator
            required:
              - property
              - rules
      required:
        - type
        - delayInMinutes
        - waitInMinutes
        - conditions
    linkedin-message.type:
      type: object
      title: LinkedIn Message
      description: LinkedIn message action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - message
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        executionMode:
          type: string
          description: Execution mode for the action
          enum:
            - automatic
            - manual
        variants:
          type: array
          description: Array of LinkedIn message variants (A/B test versions)
          items:
            type: object
            title: LinkedIn Variant
            description: Individual LinkedIn message/connect variant
            properties:
              id:
                type: integer
                description: Unique identifier for this LinkedIn variant
              message:
                type: string
                description: Message content
              isEnabled:
                type: boolean
                description: Indicates whether the variant is enabled
            required:
              - message
              - isEnabled
      required:
        - type
        - actionType
        - delayInMinutes
        - executionMode
        - variants
    linkedin-connect.type:
      type: object
      title: LinkedIn Connect
      description: LinkedIn connect action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - connect
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        executionMode:
          type: string
          description: Execution mode for the action
          enum:
            - automatic
            - manual
        variants:
          type: array
          description: >-
            Array of LinkedIn connect variants (A/B test versions). Message is
            optional, max 300 characters.
          items:
            type: object
            title: LinkedIn Variant
            description: Individual LinkedIn message/connect variant
            properties:
              id:
                type: integer
                description: Unique identifier for this LinkedIn variant
              message:
                type: string
                description: Message content
              isEnabled:
                type: boolean
                description: Indicates whether the variant is enabled
            required:
              - message
              - isEnabled
      required:
        - type
        - actionType
        - delayInMinutes
        - executionMode
        - variants
    linkedin-inmail.type:
      type: object
      title: LinkedIn InMail
      description: LinkedIn InMail action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - inMail
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        executionMode:
          type: string
          description: Execution mode for the InMail
          enum:
            - automatic
            - manual
        variants:
          type: array
          description: Array of LinkedIn InMail variants (A/B test versions)
          items:
            type: object
            title: LinkedIn InMail Variant
            description: Individual LinkedIn InMail variant
            properties:
              id:
                type: integer
                description: Unique identifier for this LinkedIn InMail variant
              subject:
                type: string
                description: InMail subject line
              message:
                type: string
                description: InMail message content
              isEnabled:
                type: boolean
                description: Indicates whether the variant is enabled
            required:
              - subject
              - message
              - isEnabled
      required:
        - type
        - actionType
        - delayInMinutes
        - executionMode
        - variants
    linkedin-view-profile.type:
      type: object
      title: LinkedIn View Profile
      description: LinkedIn view profile action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - viewProfile
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        executionMode:
          type: string
          description: Execution mode for the action
          enum:
            - automatic
            - manual
        description:
          type: string
          description: Description or notes for the profile view
      required:
        - type
        - actionType
        - delayInMinutes
        - executionMode
    linkedin-endorse-skills.type:
      type: object
      title: LinkedIn Endorse Skills
      description: LinkedIn endorse skills action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - endorseSkills
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        numberOfSkills:
          type: integer
          minimum: 1
          maximum: 3
          description: Number of skills to endorse (1-3)
      required:
        - type
        - actionType
        - delayInMinutes
        - numberOfSkills
    linkedin-voice-message.type:
      type: object
      title: LinkedIn Voice Message
      description: LinkedIn voice message action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - voiceMessage
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
        audioFile:
          type: string
          description: The audio file URL for the voice message
      required:
        - type
        - actionType
        - delayInMinutes
        - audioFile
    linkedin-like-recent-posts.type:
      type: object
      title: LinkedIn Like Recent Posts
      description: LinkedIn like recent posts action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - likeRecentPosts
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
      required:
        - type
        - actionType
        - delayInMinutes
    linkedin-follow-profile.type:
      type: object
      title: LinkedIn Follow Profile
      description: LinkedIn follow profile action step
      properties:
        id:
          type: integer
          nullable: true
          readOnly: true
          description: Unique identifier for the step
        parentId:
          type: integer
          nullable: true
          description: ID of the parent step (for branching)
        ifConditionPositive:
          type: boolean
          nullable: true
          description: Whether this step is on the positive branch of a condition
        type:
          type: string
          enum:
            - linkedIn
          description: Step type discriminator
        actionType:
          type: string
          enum:
            - followProfile
          description: LinkedIn action type discriminator
        delayInMinutes:
          type: integer
          minimum: 0
          description: Delay in minutes before executing this step
      required:
        - type
        - actionType
        - delayInMinutes
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authenticate every request with a Bearer token. Pass your Reply API key
        in the

        `Authorization` header:


        ```

        Authorization: Bearer <your-api-key>

        ```


        Get your API key from the Reply dashboard: **Settings → API Key**.

````