v1
Double column
API
CLI
JS Client

Workflows /

Update workflow

Updates a workflow

Required permission

Project > Workflows > General > Update

Path parameters

    • projectId

      string required
      ID of the project
    • workflowId

      string required
      ID of the workflow

Request body

  • {object}
    • arguments

      {object}
      A set of arguments that can be referenced in a template using '${args.argumentName}'.
      • gitops

        {object}
        • vcsService

          string required
          The VCS provider to use.
          one of
          bitbucket, gitlab, github, self-hosted, azure
        • selfHostedVcsId

          string
          If projectType is self-hosted, the ID of the self-hosted vcs to use.
          pattern
          ^([A-Za-z0-9-]+)|([0-9a-f]{24})$
        • accountLogin

          string
          By default, if you have multiple version control accounts of the same provider linked, Northflank will pick a linked account that has access to the repository. If `accountLogin` is provided, Northflank will instead use your linked account with that login name.
        • vcsLinkId

          string
          Legacy key. Please used accountLogin instead.
        • repoUrl

          string required
          URL of the Git repo to sync the file with.
          pattern
          ^(https:\/\/)?((www(\.[a-zA-Z0-9\-]{2,})+\.)?[a-zA-Z0-9\-]{2,})(\.([a-zA-Z0-9\-]{2,}))+(\/([a-zA-Z0-9\-._]{2,}))+?$
        • branch

          string required
          The name of the branch to use.
        • filePath

          string required
          The file path in the repository. If using an existing file, it should be in JSON format.
          pattern
          ^\/([a-zA-Z0-9-._]+\/)*[a-zA-Z0-9-._]+$
      • $schema

        string
      • name

        string required
        min length
        3
        max length
        100
        pattern
        ^[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*$
      • description

        string
        max length
        200
        pattern
        ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
      • richInputs

        [array]
        An array of rich UI override inputs for the workflow.
        • (multiple options: oneOf)
          A node representing a rich UI override for the Release Flow template.
          • {object}
            BranchCommitSelector input
            • kind

              string required
              The kind of input.
              one of
              BranchCommitSelector
            • spec

              {object} required
              The specification for the BranchCommitSelector input.

            OR

          • {object}
            BuildSelector input
            • kind

              string required
              The kind of input.
              one of
              BuildSelector
            • spec

              {object} required
              The specification for the BuildSelector input.
      • options

        {object}
        Options regarding how the template is run.
        • autorun

          boolean
          If true, the template will run automatically whenever a change is made to it.
        • concurrencyPolicy

          string
          Defines the concurrency behaviour of the template with respect to parallel runs.
          one of
          allow, queue, forbid
      • argumentOverrides

        {object}
        A set of arguments that can be referenced in a template using '${args.argumentName}'.
        • stageId

          (multiple options: oneOf)
          • string
            min length
            3
            max length
            100
            pattern
            ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$
          • OR

          • string
            pattern
            .*\${.*}.*
        • triggers

          [array]
          • (multiple options: anyOf)
            • {object}
              • kind

                string required
                one of
                vcs-push
              • spec

                {object} required
              • ref

                string
                A reference that can be used to access the output of this trigger in the template.
              • id

                string

              OR

            • {object}
              • kind

                string required
                one of
                vcs-pr
              • spec

                {object} required
              • ref

                string
                A reference that can be used to access the output of this trigger in the template.
              • id

                string

              OR

            • {object}
              • kind

                string required
                one of
                webhook
              • spec

                {object} required
              • ref

                string
                A reference that can be used to access the output of this trigger in the template.
              • id

                string

              OR

            • {object}
              • kind

                string required
                one of
                vcs-release
              • spec

                {object} required
              • ref

                string
                A reference that can be used to access the output of this trigger in the template.
              • id

                string

              OR

            • {object}
              • kind

                string required
                one of
                vcs-pr-label
              • spec

                {object} required
              • ref

                string
                A reference that can be used to access the output of this trigger in the template.
              • id

                string
        • apiVersion

          string required
        • project

          {object}
          • spec

            {object} required
          API
          CLI
          JS Client

          POST /v1/projects/{projectId}/workflows/{workflowId}

          Example request

          Request body
          curl
          curl --header "Content-Type: application/json" \
            --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
            --request POST \
            --data '{"gitops":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo","branch":"main"},"richInputs":[{"kind":"BranchCommitSelector","spec":{"required":false,"inputs":{"source":"build-service"},"outputs":{"branch":"TARGET_BRANCH","buildSha":"TARGET_COMMIT"}}}],"options":{"autorun":false,"concurrencyPolicy":"allow"},"triggers":[{"spec":{"vcs":{"vcsService":"github","accountLogin":"github-user","repoUrl":"https://github.com/northflank-examples/remix-postgres-redis-demo"},"commitMessageFlags":{"flags":["[skip ci]"]},"filePaths":{"paths":["README.md"]}}}]}' \
            https://api.northflank.com/v1/projects/{projectId}/workflows/{workflowId}

          Example response

          200 OK

          success

          © 2026 Northflank Ltd. All rights reserved.