Complete Import Upload — POST /api/v1/project-imports/uploads/{data_job_id}/complete
Complete Import Upload
Every part present at its planned size → queued, COMMIT, then the worker is enqueued with the history time limits (202). A repeat on a job already queued / running / finished → 200 with it (no second enqueue — a lost one is the janitor’s). 409 upload_incomplete names the missing parts; 409 upload_not_open for a failed / expired upload.
Endpoint: POST /api/v1/project-imports/uploads/{data_job_id}/complete
Authentication: Send a signed-in user’s access token in Authorization: Bearer <access token>, or an API key in X-API-Key: <API key>.
- A minimum role applies. The source code names it.
- You must have access to this project data job.
Parameters
Section titled “Parameters”| Name | In | Required | Type | Default | Description |
|---|---|---|---|---|---|
data_job_id | path | yes | string (uuid) | ||
X-API-Key | header | no | string or null | API key, as an alternative to the access token (see Authentication). |
Request body
Section titled “Request body”No request body.
Responses
Section titled “Responses”| Status | Meaning | Body |
|---|---|---|
202 | Successful Response | ProjectDataJobRead (application/json) |
422 | Validation Error | HTTPValidationError (application/json) |
It can also return 401 if your credential is missing or expired, 403 if your credential does not allow this request, and 404 if the item does not exist or you cannot see it. Your role, your project membership and the key’s scope decide what a credential allows. See Errors and retries.
More details
Section titled “More details”- Group: Project data
- Operation ID:
complete_import_upload_api_v1_project_imports_uploads__data_job_id__complete_post - Source code:
backend/app/routers/project_data.py, line 574 - Specification: OpenAPI JSON