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

# Archive workflow (not imported apps)

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Archives a workflow so it stops running.

Archiving cancels its schedule and stops it responding to its trigger. The workflow and its run history are kept, and [Restore workflow (not imported apps)](/api-reference/restore-workflow-not-imported-apps) brings it back.

Archiving frees the workflow's name, so another workflow can take it while this one is archived.

This is only allowed from the app's main branch.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json delete /api/apps/{app_id}/workflows/{workflow_id}
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/workflows/{workflow_id}:
    delete:
      summary: Archive workflow (not imported apps)
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Archives a workflow so it stops running.


        Archiving cancels its schedule and stops it responding to its trigger.
        The workflow and its run history are kept, and [Restore workflow (not
        imported apps)](/api-reference/restore-workflow-not-imported-apps)
        brings it back.


        Archiving frees the workflow's name, so another workflow can take it
        while this one is archived.


        This is only allowed from the app's main branch.
      operationId: archive_workflow_api_apps__app_id__workflows__workflow_id__delete
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose workflows you want to work with.
            title: App Id
          description: ID of the app whose workflows you want to work with.
          example: 6820f3a4e7b91d003c45a1f2
        - name: workflow_id
          in: path
          required: true
          schema:
            type: string
            description: >-
              ID of the workflow, as returned in `id` by [List
              workflows](/api-reference/list-workflows).
            title: Workflow Id
          description: >-
            ID of the workflow, as returned in `id` by [List
            workflows](/api-reference/list-workflows).
          example: 68b1c0d4e7b91d003c45a1f2
      responses:
        '200':
          description: The workflow is archived.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchiveResponse'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, the app does not exist, or the
            app still runs the older automations engine instead of workflows. A
            missing app and an app you cannot reach are deliberately the same
            answer.
        '404':
          description: There is no workflow with this ID on this app.
        '409':
          description: >-
            The app is on a branch other than main. Imported apps return
            `dev_loop_managed`: workflows are not supported for this app type.
        '422':
          description: The workflow could not be archived. The body says why.
        '429':
          description: >-
            Rate limit exceeded. The base limit is 20 requests per minute. See
            [Rate
            limits](/developers/references/apps-api/get-started/rate-limits) for
            the multiplier your plan gets.
      security:
        - PersonalAccessTokenAuth:
            - full_access
        - WorkspaceApiKeyAuth:
            - full_access
        - WorkspaceApiKeyBearerAuth:
            - full_access
components:
  schemas:
    ArchiveResponse:
      properties:
        status:
          type: string
          title: Status
          description: Always `archived`.
          example: archived
        workflow_id:
          type: string
          title: Workflow Id
          description: ID of the workflow that was archived.
          example: 68b1c0d4e7b91d003c45a1f2
      type: object
      required:
        - status
        - workflow_id
      title: ArchiveResponse
  securitySchemes:
    PersonalAccessTokenAuth:
      type: http
      scheme: bearer
      description: >-
        Personal access token, sent as `Authorization: Bearer <token>`. Each
        operation lists the permission it needs: `read_only` or `full_access`. A
        full-access token can call every operation. A read-only token can call
        only the operations that list `read_only`; anything else returns 403
        `read_only_credential_route_not_allowed`.
    WorkspaceApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: >-
        Workspace API key, sent as `api_key: <key>`. Each operation that accepts
        one lists what the key needs: a permission, `read_only` or
        `full_access`, like a personal access token, or a scope. A key without
        the scope gets 403 `workspace_api_key_scope_required`.
    WorkspaceApiKeyBearerAuth:
      type: http
      scheme: bearer
      description: >-
        Workspace API key, sent as `Authorization: Bearer <key>`. Accepted
        wherever `api_key` is, with the same permission.

````

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