# flow2act · Confirm document upload

Verify size, checksum, object version and a successful malware scan.

Only the same uploading identity can confirm. Requires runs:start or requester access and Idempotency-Key. 409 DOCUMENT_SCAN_PENDING: retry the same confirmation after a short delay. 422 DOCUMENT_SCAN_REJECTED: do not attach the file; choose another. Only a ready document can start a run. Failed checks never grant read access. The exact S3 version is pinned at confirmation.

## POST /v1/documents/{documentId}/confirm

Authentication: restricted integration key (scope: runs:start) or flow2act sign-in access token
Required tenant header: X-Organization-Id.
Required user permissions: Requester role required. The API checks current membership, roles, key scopes and resource permissions on every request. Documentation visibility grants no access.

## Request example (replace example IDs)

```sh
curl -X POST "https://api.flow2act.com/v1/documents/10000000-0000-4000-8000-000000000012/confirm" \
  -H "authorization: Bearer $FLOW2ACT_API_KEY" \
  -H "x-organization-id: 10000000-0000-4000-8000-000000000001" \
  -H "idempotency-key: example-document-confirm-001" \
  -H "content-type: application/json" \
  --data-raw '{}'
```

## Response excerpt

```json
{
  "id": "10000000-0000-4000-8000-000000000012",
  "status": "ready"
}
```

Source: /docs/document-confirm
Full schemas: /docs/openapi.json
