---
title: "Start an asynchronous bulk upload of entries via CSV."
method: POST
path: "/application-lists/{listId}/entries/bulk-import"
tags: ["application-list-entries"]
---

# Start an asynchronous bulk upload of entries via CSV.

`POST /application-lists/{listId}/entries/bulk-import`

Validates the target application list and CSV structure up front, then enqueues a background job that validates the uploaded rows and, if valid, automatically inserts all rows in a single transaction. If row validation or commit fails, the entire transaction is rolled back and the job ends in `FAILED`. Row-validation failures provide actionable input feedback; unexpected processing failures return only a generic message and the job reference to quote to support. There is a file size limitation of 5MB.

## Path parameters

- `listId` string, uuid, required

## Response `202`

Job accepted. Poll the URL in the Location header for status.

## Other responses

- `400` — Invalid request parameters.
- `401` — Authentication required or token invalid.
- `403` — Authenticated but not permitted to perform this action.
- `404` — The requested resource was not found.
- `409` — Conflict with the current state of the resource.
- `413` — Request entity is too large to be processed.
- `415` — The server does not support the media type of the request.
- `500` — Unexpected server error.

---

[API](https://skmtc.net/hm-courts-and-tribunals-service/apis/applications-register-api.md) · [All operations](https://skmtc.net/hm-courts-and-tribunals-service/apis/applications-register-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hm-courts-and-tribunals-service/applications-register-api/revisions/ea2dadd4450b/schema)
