---
title: "Get file upload status (forms engine)"
method: GET
path: "/file/{uploadId}"
tags: ["Status", "Forms"]
---

# Get file upload status (forms engine)

`GET /file/{uploadId}`

Check file upload status for forms engine integration

## Path parameters

- `uploadId` string, uuid, required

## Response `200`

File upload status

- UploadStatusResponse
  - `success` boolean, required
  - `uploadId` string, uuid, required
  - `status` 'awaiting_callback' | 'callback_received' | 'completed' | 'transfer_failed' | 'quarantined' | 'buffer_missing' — Current status of the upload
  - `originalFilename` string — Original user filename
  - `filename` string — System filename with timestamp
  - `originalSpreadsheetName` string — Timestamped spreadsheet filename
  - `timestamp` string, date-time
  - `virusScanStatus` 'clean' | 'infected' | 'pending' — Virus scan result
  - `azureTransferred` boolean — Whether file was transferred to Azure
  - `azureBlobName` string — Blob name in Azure Storage
  - `azureUrl` string, uri — URL to file in Azure Blob Storage
  - `azureJsonBlobName` string — JSON blob name (for form submissions)
  - `azureJsonUrl` string, uri — URL to JSON file in Azure Storage
  - `transferError` string — Error message if transfer failed
  - `processedAt` string, date-time — When processing completed
  - `formData` object — Form submission metadata
    - `formId` string
    - `submissionId` string

## Other responses

- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.net/defra/apis/apha-surveillance-data-submission-portal-api.md) · [All operations](https://skmtc.net/defra/apis/apha-surveillance-data-submission-portal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/defra/apha-surveillance-data-submission-portal-api/revisions/592deaf8edd7/schema)
