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

# Deactivate a Workflow

> Use this endpoint to deactivate a workflow. Transitions the status from `active` to `inactive`. Its waiting executions fail with `execution terminated: workflow deactivated`; running executions finish. Only a person writes a protected provider configuration, or a workflow that uses a protected or deleted one: an application gets 403 `FLK-0365`. Create and update accept only protected provider configurations on it (422 `FLK-0367`), and activation needs a non-empty `allowedCallers` list (422 `FLK-0366`).



## OpenAPI

````yaml /pt/openapi/v3-current/flowker.yaml post /v1/workflows/{id}/deactivate
openapi: 3.1.0
info:
  description: >-
    Complete API reference for Flowker workflow orchestration services including
    catalog management, workflow definitions, executor configurations, provider
    configurations, and workflow executions.
  title: Flowker API
  version: 1.5.0
servers:
  - url: https://flowker.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - name: Catalog API
    description: >-
      Browse built-in providers, executors, and triggers available in the
      Flowker catalog.
  - name: Workflows API
    description: >-
      Create, update, activate, deactivate, clone, and delete workflow
      definitions.
  - name: Executions API
    description: Start workflow executions and track their status and results.
  - name: Executor Configurations API
    description: >-
      List, inspect, update, and delete the executor configuration records a
      deployment holds.
  - name: Provider Configurations API
    description: >-
      Create, update, enable, and disable the provider configurations that
      workflow nodes call through.
  - name: Dashboard API
    description: >-
      Retrieve aggregated summaries of workflows and executions for operational
      dashboards.
  - name: Webhooks API
    description: >-
      Receive webhook callbacks from external systems to trigger workflow
      executions.
  - name: Schedule API
    description: >-
      Inspect a workflow's upcoming, skipped, and parked scheduled occurrences,
      and run or discard the parked ones.
  - name: Schema Registry API
    description: >-
      Publish global OpenAPI specification versions for native services and pin
      the version each tenant resolves against.
  - name: OpenAPI Schemas API
    description: >-
      Upload, inspect, and delete the tenant's external OpenAPI schemas, and
      derive the contract of a single operation.
  - name: XSD Schemas API
    description: >-
      Upload, inspect, and delete the tenant's XSD schemas used to validate XML
      webhook payloads.
  - name: Settings API
    description: >-
      Read and set per-client settings, such as how long Flowker keeps finished
      executions.
paths:
  /v1/workflows/{id}/deactivate:
    post:
      tags:
        - Workflows API
      summary: Deactivate a Workflow
      description: >-
        Use this endpoint to deactivate a workflow. Transitions the status from
        `active` to `inactive`. Its waiting executions fail with `execution
        terminated: workflow deactivated`; running executions finish. Only a
        person writes a protected provider configuration, or a workflow that
        uses a protected or deleted one: an application gets 403 `FLK-0365`.
        Create and update accept only protected provider configurations on it
        (422 `FLK-0367`), and activation needs a non-empty `allowedCallers` list
        (422 `FLK-0366`).
      operationId: deactivateWorkflow
      parameters:
        - description: Unique identifier of the workflow.
          in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowOutput'
          description: >-
            Indicates that the request was successful and the response contains
            the requested data.
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indicates that the request was malformed or contained invalid
            parameters.
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Indicates that the requested resource could not be found.
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: >-
            Indicates that the request was well-formed but contains semantic
            errors that prevent processing.
        '500':
          description: >-
            Indicates an unexpected internal error. If this persists, please
            contact support.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    WorkflowOutput:
      example:
        id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        name: Payment Notification Flow
        description: Receives a webhook trigger and sets the payment output.
        status: active
        nodes:
          - id: trigger-1
            type: trigger
            name: Webhook Trigger
            position:
              x: 0
              'y': 0
            data:
              triggerType: webhook
              path: payments/received
              method: POST
              input_contract: open
              format: json
          - id: set-output
            type: action
            name: Set Payment Output
            position:
              x: 200
              'y': 0
            data:
              actionType: set_output
              output:
                status: received
        edges:
          - id: e1
            source: trigger-1
            target: set-output
        metadata:
          team: payments
          environment: sandbox
        createdAt: '2026-03-17T14:30:00Z'
        updatedAt: '2026-03-17T14:31:00Z'
      properties:
        createdAt:
          description: Timestamp when the workflow was created.
          example: '2026-03-17T14:30:00Z'
          format: date-time
          type: string
        description:
          description: Human-readable description of the workflow.
          example: Receives a webhook trigger and sets the payment output.
          type: string
        edges:
          description: Connections between nodes that define the execution flow.
          items:
            $ref: '#/components/schemas/WorkflowEdgeOutput'
          type: array
        id:
          description: Unique identifier of the workflow.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
          format: uuid
          type: string
        metadata:
          additionalProperties:
            type: object
          description: Custom key-value pairs for tagging or categorizing.
          example:
            team: payments
            environment: sandbox
          type: object
        name:
          description: Unique name of the workflow.
          example: Payment Notification Flow
          type: string
        nodes:
          description: The steps that make up this workflow.
          items:
            $ref: '#/components/schemas/WorkflowNodeOutput'
          type: array
        status:
          description: >-
            Current lifecycle status: `draft` (editable), `active` (executable),
            or `inactive` (archived).
          enum:
            - draft
            - active
            - inactive
          example: active
          type: string
        updatedAt:
          description: Timestamp of the last update.
          example: '2026-03-17T15:00:00Z'
          format: date-time
          type: string
        allowedCallers:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Caller'
          description: >-
            Who may run the workflow: applications by client ID and people by
            user ID. An empty list lets any caller that the route authorizes run
            it. Only a person writes this list. A caller outside the list gets
            403 `FLK-0519` when requesting a new execution, and no execution is
            created. A schedule or Streaming Hub trigger carries no caller, so
            it never runs a workflow that has a list.
      type: object
    ErrorResponse:
      properties:
        code:
          description: Stable, machine-readable Flowker error code.
          example: FLK-0001
          type: string
        detail:
          description: >-
            Human-readable explanation of this occurrence. Responses with a
            status of 500 or above carry a fixed generic message.
          example: name is a required field
          type: string
        errors:
          description: Per-field entries for a request that failed validation.
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
        instance:
          description: URI reference identifying this specific occurrence.
          example: /v1/workflows
          format: uri
          type: string
        status:
          description: HTTP status code.
          example: 400
          type: integer
        title:
          description: >-
            Standard HTTP reason phrase for the status. It does not change per
            error code.
          example: Bad Request
          type: string
        type:
          description: >-
            URI reference identifying the error. Always the error catalog base
            followed by the code.
          example: https://errors.lerian.studio/v1/FLK-0001
          format: uri
          type: string
      type: object
    WorkflowEdgeOutput:
      properties:
        condition:
          description: >-
            Legacy free-text edge condition, retained for backward compatibility
            and not evaluated for routing.
          example: ''
          type: string
        id:
          description: Unique identifier of the edge.
          example: e1
          type: string
        label:
          description: Human-readable label.
          example: On success
          type: string
        source:
          description: ID of the source node.
          example: trigger-1
          type: string
        sourceHandle:
          description: >-
            Output of the source node this edge follows. For a conditional node
            it is the branch handle that routing matched.
          example: case-1
          type: string
        target:
          description: ID of the target node.
          example: set-output
          type: string
      type: object
    WorkflowNodeOutput:
      properties:
        data:
          additionalProperties:
            type: object
          description: Configuration data specific to the node type.
          example:
            triggerType: webhook
            path: payments/received
            method: POST
            input_contract: open
            format: json
          type: object
        id:
          description: Unique identifier of the node within the workflow.
          example: trigger-1
          type: string
        name:
          description: Display name of the node.
          example: Webhook Trigger
          type: string
        position:
          $ref: '#/components/schemas/PositionOutput'
        type:
          description: >-
            Type of the node: `trigger`, `executor`, `conditional`, `action`, or
            `wait`.
          example: trigger
          type: string
      type: object
    Caller:
      additionalProperties: false
      type: object
      required:
        - kind
        - id
      properties:
        id:
          type: string
          description: Client ID of the application, or ID of the user.
          example: 018f3e2a-1c4d-7b9e-a1b2-c3d4e5f6a7b8
        kind:
          type: string
          description: '`application` (client ID) or `user` (user ID).'
          example: application
    ErrorDetail:
      properties:
        location:
          description: Where the problem is, such as body.nodes or path.id.
          example: body.nodes
          type: string
        message:
          description: Description of the field-level problem.
          example: expected array length >= 1
          type: string
        value:
          description: The value that caused the error, when it is safe to echo.
      type: object
    PositionOutput:
      properties:
        x:
          description: Horizontal position in pixels.
          example: 100
          type: integer
        'y':
          description: Vertical position in pixels.
          example: 200
          type: integer
      type: object
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT bearer token issued by the identity provider. Send it in the
        Authorization header as `Bearer <token>`.

````

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