---
title: "Admin Get Assembly File"
method: GET
path: "/api/v1/admin/projects/{project_id}/assembly-file"
tags: ["admin-assembly-files"]
---

# Admin Get Assembly File

`GET /api/v1/admin/projects/{project_id}/assembly-file`

Return any project's current assembly file (admin RBAC bypasses ownership).

Includes a presigned GET URL when status is ``validated``. Returns
null if no assembly file exists for the project.

## Path parameters

- `project_id` string, uuid, required

## Response `200`

Successful Response

- AssemblyFileResponse — Full assembly file metadata + presigned GET URL when validated.
  - `id` string, uuid, required
  - `project_id` string, uuid, required
  - `file_name` string, required
  - `file_size` integer, required
  - `file_format` 'step' | 'stp', required — Allowed formats for project-level assembly reference files. Intentionally a narrow subset — assembly files are reference docs only, not processed through the geometry pipeline.
  - `status` 'uploading' | 'uploaded' | 'validated' | 'failed', required — Lifecycle for ``ProjectAssemblyFile``. UPLOADING: presigned URL issued, waiting on browser PUT UPLOADED: confirm received; magic-bytes validation queued VALIDATED: passed magic-bytes check; downloadable FAILED: validation rejected (``failure_reason`` populated)
  - `failure_reason` string, nullable
  - `uploaded_by_user_id` string, uuid, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `download_url` string, nullable — Presigned GET URL for downloading the assembly file. None when status is not 'validated' (file isn't ready or has failed).

## Other responses

- `422` — Validation Error

---

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