---
title: "CDP Uploader callback"
method: POST
path: "/upload/callback"
tags: ["Upload"]
---

# CDP Uploader callback

`POST /upload/callback`

Callback endpoint for CDP Uploader service to notify about virus scan results.

**Security**: Requires Bearer token authentication.

When a file passes virus scan (status: clean), it is automatically transferred
to Azure Blob Storage in the background.

## Request body

- CdpCallbackRequest
  - `uploadId` string, uuid, required — Upload identifier
  - `status` 'clean' | 'infected' | 'error' — Overall status
  - `virusScanStatus` 'clean' | 'infected' | 'error', required — Virus scan result
  - `processedAt` string, date-time — When CDP finished processing

## Response `200`

Callback processed successfully

- object
  - `success` boolean
  - `message` string

## Other responses

- `401` — Unauthorized - authentication required
- `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/versions/592deaf8edd7/schema)
