---
title: "Check candidate upload status"
method: GET
path: "/v1/studies/{study_id}/candidate_uploads/{id}"
tags: ["Studies"]
---

# Check candidate upload status

`GET /v1/studies/{study_id}/candidate_uploads/{id}`

Check the status of a candidate upload.

Use the `status_url` returned by the upload request. It is a relative path, so use the same API host and bearer token.

- `processing`: Wait before submitting another batch to this study.
- `finished`: You can submit the next batch.
- `failed`: Review `message` before retrying.

An upload ID works only for the account and study that created it.

## Path parameters

- `study_id` integer, required
- `id` string, required

## Response `200`

candidate upload status

- object
  - `data` StudyCandidateUpload, required
    - `id` string, required — Opaque candidate upload ID
    - `type` 'candidate_upload', required
    - `attributes` object, required
      - `status` 'processing' | 'finished' | 'failed', required — Current upload status. Submit the next batch only after this is finished.
      - `submitted_count` integer, nullable — Number of candidates submitted in this upload
      - `status_url` string, required — Relative API path for this candidate upload status
      - `message` string, nullable — Actionable details when the upload fails
      - `created_at` string, date-time — When the upload was submitted
      - `updated_at` string, date-time — When the status last changed
      - `finished_at` string, date-time, nullable — When processing finished or failed

## Other responses

- `401` — unauthorized
- `404` — not found

---

[API](https://skmtc.dev/greatquestion/apis/api-reference-v1.md) · [All operations](https://skmtc.dev/greatquestion/apis/api-reference-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/greatquestion/api-reference-v1/revisions/f263ec4858a6/schema)
