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

# Delete a journey node

> Deletes one node and reconnects the nodes on either side of it, using the same splice as
the journey editor. Deleting the enter node, or the journey's only exit, is rejected and
the graph is left unchanged. Returns the journey in the same shape as `GET /journeys/{id}`.


> [!WARNING]
>
> This endpoint is in alpha and is subject to change at any time.


## OpenAPI

````yaml /api-reference/campaigns-v2/campaigns-v2.yaml delete /journeys/{journey_id}/nodes/{id}
openapi: 3.0.3
info:
  title: Vero Open API v2
  version: 2.0.0
  description: >-
    API for interfacing with Vero to design, update and manage broadcasts,
    journeys, and topics.
servers:
  - url: https://api.getvero.com/api/v2
security:
  - ApiKeyAuth: []
tags:
  - name: Broadcasts
  - name: Broadcast Messages
  - name: Broadcast Message Contents
  - name: Journeys
  - name: Journey Messages
  - name: Journey Message Contents
  - name: Campaigns
  - name: Campaign Messages
  - name: Campaign Message Contents
  - name: Topics
paths:
  /journeys/{journey_id}/nodes/{id}:
    delete:
      tags:
        - Journeys
      summary: Delete a journey node
      description: >
        Deletes one node and reconnects the nodes on either side of it, using
        the same splice as

        the journey editor. Deleting the enter node, or the journey's only exit,
        is rejected and

        the graph is left unchanged. Returns the journey in the same shape as
        `GET /journeys/{id}`.
      operationId: deleteJourneyNode
      parameters:
        - name: journey_id
          in: path
          required: true
          description: Journey ID.
          schema:
            type: integer
        - name: id
          in: path
          required: true
          description: Node ID.
          schema:
            type: integer
        - name: revision
          in: header
          required: false
          description: >-
            Optional dated API revision for the request. Must use `YYYY-MM-DD`
            format.
          schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            example: '2026-03-01'
      responses:
        '200':
          description: Node deleted. Returns the updated journey.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Journey'
        '404':
          description: Journey or node not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '409':
          description: >-
            Journey cannot be edited (archived, locked, or built with the legacy
            journey builder).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
        '422':
          description: The delete would remove the enter node or the last exit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorList'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    Journey:
      type: object
      description: >-
        A journey with its full graph — its `trigger`, `nodes` and `edges`.
        Messaging nodes expose message and content metadata but not content
        bodies or audience details.
      required:
        - id
        - name
        - description
        - status
        - trigger
        - nodes
        - edges
        - created_at
        - updated_at
      properties:
        id:
          type: integer
        name:
          type: string
          description: Journey name.
        description:
          type: string
          nullable: true
          description: Optional journey description. May be `null`.
        status:
          type: string
          enum:
            - draft
            - active
            - paused
            - archived
            - cancelled
          description: Journey lifecycle status.
        trigger:
          type: object
          nullable: true
          description: >-
            The event that enters people into the journey. `null` when none is
            set.
          required:
            - type
            - event_name
          properties:
            type:
              type: string
              enum:
                - event
            event_name:
              type: string
              description: The API name of the triggering event.
        nodes:
          type: array
          items:
            type: object
            required:
              - id
              - type
            properties:
              id:
                type: integer
              type:
                type: string
                enum:
                  - enter
                  - exit
                  - email
                  - push
                  - sms
                  - delay
                  - branch
                  - filter
                  - ab_test
                  - ab_test_end
              title:
                type: string
                nullable: true
                description: On messaging nodes, the message's title.
              delay:
                type: object
                nullable: true
                description: On `delay` nodes, the delay settings.
              conditions:
                type: object
                nullable: true
                description: >-
                  On `branch` and `filter` nodes, the conditions people are
                  matched against.
              scope:
                type: string
                nullable: true
                description: >-
                  On `branch` and `filter` nodes, a trigger event property name
                  (shown in the Vero UI as `event.<scope>`). When set,
                  conditions that reference event properties only match when
                  they share the trigger event's value for this property. Null
                  when the conditions are unscoped.
              message:
                type: object
                nullable: true
                description: On messaging nodes, the message's sender and content metadata.
                required:
                  - id
                  - from
                  - reply_to
                  - contents
                properties:
                  id:
                    type: integer
                  from:
                    type: string
                    nullable: true
                  reply_to:
                    type: string
                    nullable: true
                  contents:
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - locale
                        - is_default
                        - subject
                        - preheader_text
                      properties:
                        id:
                          type: integer
                        locale:
                          type: string
                          nullable: true
                        is_default:
                          type: boolean
                        subject:
                          type: string
                          nullable: true
                        preheader_text:
                          type: string
                          nullable: true
        edges:
          type: array
          items:
            type: object
            required:
              - from
              - to
            properties:
              from:
                type: integer
                description: Source node `id`.
              to:
                type: integer
                description: Target node `id`.
              branch_index:
                type: integer
                description: >-
                  Present only on edges leaving a `branch`, `random_split`, or
                  `ab_test` node, identifying the arm the edge belongs to. A
                  `branch` node's arms are `0` and `1`. A `random_split` created
                  through this API has arms `0` and `1`.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    NotFoundError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          enum:
            - not_found
    ErrorList:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          items:
            type: object
            required:
              - message
            properties:
              message:
                type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Accepts either a raw API key or `Bearer <key>`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.