---
title: "Confirm upload and start workflow processing"
method: POST
path: "/api/v1/workflows/runs/{id}/confirm"
tags: ["Workflows"]
---

# Confirm upload and start workflow processing

`POST /api/v1/workflows/runs/{id}/confirm`

## Request

- Base URL: `https://api.korala.ai`
- URL: `https://api.korala.ai/api/v1/workflows/runs/{id}/confirm`
- Auth: none declared

Call this after uploading the document to start the workflow execution.

## Path parameters

- `id` string, required

## Headers

- `X-Korala-Mode` 'live' | 'test'

## Request body

- ConfirmWorkflowUploadDto
  - `metadata` object: Additional metadata about the upload
  - `artifacts` ConfirmArtifactUploadDto[]: Artifact batch metadata for multi-artifact workflows
    - `captureChallengeId` string: Required for slots with a captureChallenge in their upload plan.
    - `slotKey` string, required
    - `contentType` string, nullable
    - `captureMode` string, nullable

## Response `200`

- WorkflowRunDto
  - `sandbox` boolean, required: Persisted execution mode: true for test data
  - `id` string, required
  - `workflowDefinitionId` string, required
  - `organizationId` string, nullable
  - `status` 'pending' | 'running' | 'paused' | 'completed' | 'failed', required
  - `inputData` object, nullable
  - `outputData` object, nullable
  - `currentStep` number, required
  - `errorMessage` string, nullable
  - `inputFileUrl` string, nullable
  - `inputFileMimeType` string, nullable
  - `startedAt` string, date-time, nullable
  - `completedAt` string, date-time, nullable
  - `createdAt` string, date-time, required

## Other responses

- `400`: Malformed UUID in path parameter (`id`).
- `409`: The run has already started: an earlier confirm was accepted.

---

[API](https://skmtc.dev/korala/apis/korala-public-api.md) · [All operations](https://skmtc.dev/korala/apis/korala-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/korala/apis/korala-public-api/revisions/5c4d7810c507?raw)
