---
title: Create or update notiflow
full: true
_openapi:
  method: PUT
  toc: []
  structuredData:
    headings: []
    contents:
      - content: >
          Create a new notiflow or update an existing one by handle (upsert).


          - If the notiflow doesn't exist, it is created with an initial draft
          version.

          - If it exists, the provided fields are updated and a new draft
          version is created.

          - Include `steps` to define the notiflow structure. Steps use a flat
          format with
            `parent_step_handle` and `branch_handle` for branching logic.

          **Returns:**

          - `201 Created` when a new notiflow is created

          - `200 OK` when an existing notiflow is updated
---

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

Create a new notiflow or update an existing one by handle (upsert).

- If the notiflow doesn't exist, it is created with an initial draft version.
- If it exists, the provided fields are updated and a new draft version is created.
- Include `steps` to define the notiflow structure. Steps use a flat format with
  `parent_step_handle` and `branch_handle` for branching logic.

**Returns:**
- `201 Created` when a new notiflow is created
- `200 OK` when an existing notiflow is updated


<APIPage document={"./openapi-management.json"} operations={[{"path":"/notiflows/{handle}","method":"put"}]} />