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

# Start Automate workflow

> Starts an Automate workflow manually by using a workflow action ID and file IDs.

<Note>
  Learn more about [Box SDK versioning strategy](/guides/tooling/sdks/sdk-versioning/).
</Note>


## OpenAPI

````yaml /box-openapi-v2026.0.json POST /automate_workflows/{workflow_id}/start
openapi: 3.0.2
info:
  title: Box Platform API
  description: >-
    [Box Platform](https://developer.box.com) provides functionality to provide
    access to content stored within [Box](https://box.com). It provides
    endpoints for basic manipulation of files and folders, management of users
    within an enterprise, as well as more complex topics such as legal holds and
    retention policies.
  termsOfService: https://cloud.app.box.com/s/rmwxu64h1ipr41u49w3bbuvbsa29wku9
  contact:
    name: Box, Inc
    url: https://developer.box.com
    email: devrel@box.com
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '2026.0'
  x-box-commit-hash: cc51aff694
servers:
  - url: https://api.box.com/2.0
    description: Box Platform API server.
security:
  - OAuth2Security: []
tags:
  - name: Automate Workflows
    description: Endpoints for listing and manually starting Automate workflow actions.
    x-box-tag: automate_workflows
externalDocs:
  description: Box Developer Documentation.
  url: https://developer.box.com
paths:
  /automate_workflows/{workflow_id}/start:
    post:
      tags:
        - Automate Workflows
      summary: Start Automate workflow
      description: >-
        Starts an Automate workflow manually by using a workflow action ID and
        file IDs.
      operationId: post_automate_workflows_id_start_v2026.0
      parameters:
        - name: workflow_id
          in: path
          description: The ID of the workflow.
          required: true
          schema:
            type: string
          example: '12345'
        - $ref: '#/components/parameters/BoxVersionHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutomateWorkflowStartRequest'
      responses:
        '204':
          description: Starts the workflow.
        default:
          description: An unexpected client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientError'
      x-codeSamples:
        - lang: curl
          label: Start Automate workflow
          source: >-
            curl -i -X POST
            "https://api.box.com/2.0/automate_workflows/12345/start" \
                 -H "box-version: 2026.0" \
                 -H "authorization: Bearer <ACCESS_TOKEN>" \
                 -H "content-type: application/json" \
                 -d '{
                   "workflow_action_id": "981",
                   "file_ids": ["123"]
                 }'
        - lang: dotnet
          label: Start Automate workflow
          source: >-
            await
            adminClient.AutomateWorkflows.CreateAutomateWorkflowStartV2026R0Async(workflowId:
            workflowAction.Workflow.Id, requestBody: new
            AutomateWorkflowStartRequestV2026R0(workflowActionId:
            workflowAction.Id, fileIds: Array.AsReadOnly(new []
            {workflowFileId})));
        - lang: swift
          label: Start Automate workflow
          source: >-
            try await
            adminClient.automateWorkflows.createAutomateWorkflowStartV2026R0(workflowId:
            workflowAction.workflow.id, requestBody:
            AutomateWorkflowStartRequestV2026R0(workflowActionId:
            workflowAction.id, fileIds: [workflowFileId]))
        - lang: java
          label: Start Automate workflow
          source: >-
            adminClient.getAutomateWorkflows().createAutomateWorkflowStartV2026R0(workflowAction.getWorkflow().getId(),
            new AutomateWorkflowStartRequestV2026R0(workflowAction.getId(),
            Arrays.asList(workflowFileId)))
        - lang: node
          label: Start Automate workflow
          source: >-
            await
            adminClient.automateWorkflows.createAutomateWorkflowStartV2026R0(
              workflowAction.workflow.id,
              {
                workflowActionId: workflowAction.id,
                fileIds: [workflowFileId],
              } satisfies AutomateWorkflowStartRequestV2026R0,
            );
        - lang: python
          label: Start Automate workflow
          source: >-
            admin_client.automate_workflows.create_automate_workflow_start_v2026_r0(
                workflow_action.workflow.id, workflow_action.id, [workflow_file_id]
            )
components:
  parameters:
    BoxVersionHeader:
      name: box-version
      in: header
      description: Version header.
      allowEmptyValue: false
      required: true
      schema:
        type: string
        enum:
          - '2026.0'
      example: '2026.0'
  schemas:
    AutomateWorkflowStartRequest:
      description: Request body to start an Automate workflow.
      type: object
      properties:
        workflow_action_id:
          description: The callable action ID used to trigger the selected workflow.
          type: string
          example: '981'
        file_ids:
          description: The files to process with the selected workflow.
          type: array
          items:
            type: string
            example: '123'
          example:
            - '123'
          minItems: 1
      required:
        - workflow_action_id
        - file_ids
      title: Automate Workflow Start Request
    ClientError:
      description: A generic error.
      type: object
      properties:
        type:
          description: The value will always be `error`.
          type: string
          example: error
          enum:
            - error
          nullable: false
        status:
          description: The HTTP status of the response.
          type: integer
          format: int32
          example: 400
          nullable: false
        code:
          description: A Box-specific error code.
          type: string
          example: item_name_invalid
          enum:
            - created
            - accepted
            - no_content
            - redirect
            - not_modified
            - bad_request
            - unauthorized
            - forbidden
            - not_found
            - method_not_allowed
            - conflict
            - precondition_failed
            - too_many_requests
            - internal_server_error
            - unavailable
            - item_name_invalid
            - insufficient_scope
        message:
          description: A short message describing the error.
          type: string
          example: Method Not Allowed
          nullable: false
        context_info:
          description: >-
            A free-form object that contains additional context about the error.
            The possible fields are defined on a per-endpoint basis. `message`
            is only one example.
          type: object
          example:
            message: Something went wrong
          additionalProperties: {}
          nullable: true
        help_url:
          description: A URL that links to more information about why this error occurred.
          type: string
          example: >-
            https://developer.box.com/guides/api-calls/permissions-and-errors/common-errors/
          nullable: false
        request_id:
          description: >-
            A unique identifier for this response, which can be used when
            contacting Box support.
          type: string
          example: abcdef123456
          nullable: false
      title: Client error
      x-box-resource-id: client_error_v2026.0
  securitySchemes:
    OAuth2Security:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://account.box.com/api/oauth2/authorize
          tokenUrl: https://api.box.com/oauth2/token
          scopes:
            root_readonly: Read all files and folders stored in Box
            root_readwrite: Read and write all files and folders stored in Box
            manage_app_users: Provision and manage app users
            manage_managed_users: Provision and manage managed users
            manage_groups: Manage an enterprise's groups
            manage_webhook: Create webhooks programmatically through the API
            manage_enterprise_properties: Manage enterprise properties
            manage_data_retention: Manage data retention polices
            manage_legal_hold: Manage Legal Holds

````