---
title: "Process upload directly"
method: POST
path: "/upload/process/{uploadId}"
tags: ["Upload", "Pipeline"]
---

# Process upload directly

`POST /upload/process/{uploadId}`

## Request

- Base URL: `http://localhost:3000`
- URL: `http://localhost:3000/upload/process/{uploadId}`
- Auth: one of:
  - API key in cookie `session`
  - API key in header `X-CSRF-Token`

Process an uploaded file directly to Azure without S3.
Polls CDP for virus scan status and uploads to Azure when clean.

Processing is asynchronous - check status endpoint for completion.

## Path parameters

- `uploadId` string, uuid, required

## Response `202`

Upload processing started

- object
  - `success` boolean
  - `message` string
  - `uploadId` string, uuid
  - `checkStatusUrl` string

## Other responses

- `400`: Invalid request or file already processed
- `404`: Resource not found
- `500`: Internal server error

---

[API](https://skmtc.dev/defra/apis/apha-surveillance-data-submission-portal-api.md) - [All operations](https://skmtc.dev/defra/apis/apha-surveillance-data-submission-portal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/defra/apis/apha-surveillance-data-submission-portal-api/revisions/592deaf8edd7?raw)
