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

# Update sequence steps

> Update an existing sequence's steps.



## OpenAPI

````yaml /openapi/salesforge-publicapi.json put /workspaces/{workspaceID}/sequences/{sequenceID}/steps
openapi: 3.1.0
info:
  description: Get mailboxes associated with the workspace.
  termsOfService: https://www.salesforge.ai/terms
  title: Salesforge API
  version: '2.0'
servers:
  - url: api.salesforge.ai/public/v2
security:
  - ApiKeyAuth: []
externalDocs:
  description: ''
  url: ''
paths:
  /workspaces/{workspaceID}/sequences/{sequenceID}/steps:
    put:
      tags:
        - sequences
      summary: Update sequence steps
      description: Update an existing sequence's steps.
      parameters:
        - description: Workspace ID
          in: path
          name: workspaceID
          required: true
          schema:
            type: string
        - description: Sequence ID
          in: path
          name: sequenceID
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api.UpdateSequenceStepsRequest'
              summary: request
              description: Request body
        description: Request body
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api.SequenceStepsResponse'
          description: Updated sequence steps
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors.Error'
          description: Bad Request
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errors.Error'
          description: Internal Server Error
      security:
        - ApiKeyAuth: []
components:
  schemas:
    api.UpdateSequenceStepsRequest:
      properties:
        steps:
          items:
            $ref: '#/components/schemas/api.UpsertStepRequest'
          minItems: 1
          type: array
          uniqueItems: false
      type: object
    api.SequenceStepsResponse:
      properties:
        steps:
          items:
            $ref: '#/components/schemas/api.SequenceStepResponse'
          type: array
          uniqueItems: false
      type: object
    errors.Error:
      allOf:
        - $ref: '#/components/schemas/data'
      properties:
        data: {}
        message:
          type: string
      type: object
    api.UpsertStepRequest:
      properties:
        distributionStrategy:
          $ref: '#/components/schemas/models.ABTestDistributionStrategy'
        id:
          type: string
        name:
          type: string
        order:
          minimum: 0
          type: integer
        variants:
          items:
            $ref: '#/components/schemas/api.UpsertStepRequestVariant'
          minItems: 1
          type: array
          uniqueItems: false
        waitDays:
          minimum: 0
          type: integer
      required:
        - id
      type: object
    api.SequenceStepResponse:
      properties:
        distributionStrategy:
          $ref: '#/components/schemas/models.ABTestDistributionStrategy'
        id:
          type: string
        name:
          type: string
        order:
          type: integer
        variants:
          items:
            $ref: '#/components/schemas/api.SequenceStepVariantResponse'
          type: array
          uniqueItems: false
        waitDays:
          type: integer
      type: object
    data:
      properties:
        data:
          items:
            $ref: '#/components/schemas/api.WebhookResponse'
          type: array
      type: object
    models.ABTestDistributionStrategy:
      enum:
        - equal
        - custom
        - equal
        - custom
      type: string
      x-enum-varnames:
        - ABTestDistributionStrategyEqual
        - ABTestDistributionStrategyCustom
    api.UpsertStepRequestVariant:
      properties:
        contactInformationSource:
          $ref: '#/components/schemas/models.ContactInformationSource'
        distributionWeight:
          maximum: 100
          minimum: 0
          type: number
        dynamicLanguageEnabled:
          type: boolean
        emailContent:
          type: string
        emailSubject:
          type: string
        id:
          minLength: 1
          type: string
        isGenerated:
          type: boolean
        label:
          type: string
        order:
          minimum: 0
          type: integer
        overdriveEnabled:
          type: boolean
        status:
          $ref: '#/components/schemas/models.SequenceStepVariantStatus'
        tonality:
          $ref: '#/components/schemas/models.AIGenerationTonality'
      required:
        - label
      type: object
    api.SequenceStepVariantResponse:
      properties:
        contactInformationSource:
          $ref: '#/components/schemas/models.ContactInformationSource'
        distributionWeight:
          type: number
        dynamicLanguageEnabled:
          type: boolean
        emailContent:
          type: string
        emailSubject:
          type: string
        id:
          type: string
        isGenerated:
          type: boolean
        label:
          type: string
        order:
          type: integer
        overdriveEnabled:
          type: boolean
        status:
          $ref: '#/components/schemas/models.SequenceStepVariantStatus'
        tonality:
          $ref: '#/components/schemas/models.AIGenerationTonality'
      type: object
    api.WebhookResponse:
      properties:
        id:
          type: string
        name:
          type: string
        sentCount:
          type: integer
        sequenceId:
          type: string
        type:
          $ref: '#/components/schemas/webhooks.WebhookType'
        url:
          type: string
      type: object
    models.ContactInformationSource:
      enum:
        - linkedin
        - website
        - all
        - linkedin
        - website
        - all
      type: string
      x-enum-varnames:
        - ContactInformationSourceLinkedin
        - ContactInformationSourceWebsite
        - ContactInformationSourceAll
    models.SequenceStepVariantStatus:
      enum:
        - active
        - paused
        - deleted
        - active
        - paused
      type: string
      x-enum-varnames:
        - SequenceStepVariantStatusActive
        - SequenceStepVariantStatusPaused
        - SequenceStepVariantStatusDeleted
    models.AIGenerationTonality:
      enum:
        - playful
        - hilarious
        - formal
        - curious
        - urgent
        - appreciative
        - polite
        - enthusiastic
        - warm
        - empathetic
        - direct
        - persuasive
        - confident
        - respectful
        - helpful
        - sincere
        - encouraging
        - informal
        - caring
        - diplomatic
        - assertive
        - reassuring
        - authoritative
      minLength: 1
      type: string
      x-enum-varnames:
        - AIGenerationTonalityPlayful
        - AIGenerationTonalityHilarious
        - AIGenerationTonalityFormal
        - AIGenerationTonalityCurious
        - AIGenerationTonalityUrgent
        - AIGenerationTonalityAppreciative
        - AIGenerationTonalityPolite
        - AIGenerationTonalityEnthusiastic
        - AIGenerationTonalityWarm
        - AIGenerationTonalityEmpathetic
        - AIGenerationTonalityDirect
        - AIGenerationTonalityPersuasive
        - AIGenerationTonalityConfident
        - AIGenerationTonalityRespectful
        - AIGenerationTonalityHelpful
        - AIGenerationTonalitySincere
        - AIGenerationTonalityEncouraging
        - AIGenerationTonalityInformal
        - AIGenerationTonalityCaring
        - AIGenerationTonalityDiplomatic
        - AIGenerationTonalityAssertive
        - AIGenerationTonalityReassuring
        - AIGenerationTonalityAuthoritative
    webhooks.WebhookType:
      enum:
        - email_sent
        - email_opened
        - link_clicked
        - email_replied
        - linkedin_replied
        - contact_unsubscribed
        - email_bounced
        - positive_reply
        - negative_reply
        - label_changed
        - dnc_added
        - email_sent
        - email_opened
        - link_clicked
        - email_replied
        - linkedin_replied
        - contact_unsubscribed
        - email_bounced
        - positive_reply
        - negative_reply
        - label_changed
      type: string
      x-enum-varnames:
        - WebhookTypeEmailSent
        - WebhookTypeEmailOpened
        - WebhookTypeLinkClicked
        - WebhookTypeEmailReplied
        - WebhookTypeLinkedinReplied
        - WebhookTypeContactUnsubscribed
        - WebhookTypeEmailBounced
        - WebhookTypePositiveReply
        - WebhookTypeNegativeReply
        - WebhookTypeLabelChanged
        - WebhookTypeDNCAdded
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: Authorization
      type: apiKey

````