> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boltroute.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get upload status

> Fetch the status of a file upload and its task.

## Overview

Check the current processing status for a file upload and the batch verification task created from it.

## GET /api/v1/tasks/batch/uploads/{upload_id}

Purpose: fetch the current status of a file upload and its task.

Path parameter:

* `upload_id` (UUID)

Example request:

```bash theme={null}
curl -X GET \
  'https://api.boltroute.ai/api/v1/tasks/batch/uploads/7d3df4c6-9a7d-4d16-9f2b-2a5ddf4f4f53'
```

### Response

Status: `200 OK`

Example response:

```json theme={null}
{
  "upload_id": "7d3df4c6-9a7d-4d16-9f2b-2a5ddf4f4f53",
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "filename": "emails.csv",
  "email_count": 123,
  "user_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "created_at": "2025-01-01T12:00:00Z",
  "updated_at": "2025-01-01T12:05:00Z",
  "task": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "user_id": "550e8400-e29b-41d4-a716-446655440000",
    "webhook_url": "https://example.com/webhook",
    "created_at": "2025-01-01T12:00:00Z",
    "updated_at": "2025-01-01T12:05:00Z"
  }
}
```

Response fields:

* `upload_id`, `task_id`, `filename`, `email_count`, `status`.
* `user_id`: owner of the upload (omitted for dev keys).
* `created_at`, `updated_at`: upload timestamps.
* `task`: task record created for this upload.

Errors:

* `400` invalid UUID.
* `401` unauthorized.
* `403` forbidden.
* `404` upload not found.
* `500` internal error.
