---
title: "List project object metadata without embedding original bytes"
method: GET
path: "/api/project-upload/:projectId/objects"
tags: ["Project ingest"]
---

# List project object metadata without embedding original bytes

`GET /api/project-upload/:projectId/objects`

## Request

- Base URL: `https://api.cernion.de`
- URL: `https://api.cernion.de/api/project-upload/:projectId/objects`
- Auth: none declared

Tenant-scoped resumable project ingest. SHA-256 hashes are lowercase hex. Chunks use a raw octet stream; status lists received and missing indexes. Completed originals trigger project.object.received.v1. The async job is polled through /api/jobs/:jobId/status.

## Path parameters

- `projectId` string, required

## Query parameters

- `token` string

## Response `200`

List project object metadata without embedding original bytes

- object[]
  - `objectId` string
  - `projectId` string
  - `name` string
  - `mimeType` string
  - `size` integer
  - `hash` string
  - `status` 'receiving' | 'received' | 'failed' | 'extracted'
  - `chunks` object[]
    - `hash` string
    - `size` integer
  - `provenance` object
    - `actorId` string
    - `uploadId` string
  - `receivedAt` string, date-time
  - `sensitivityLevel` string

## Other responses

- `403`: Insufficient sensitivity clearance or authentication
- `404`: Upload/project absent or invisible
- `409`: Immutable project, failed upload or missing chunks
- `413`: Project, file, chunk or archive limit exceeded
- `422`: Invalid hash or unsafe archive
- `429`: Tenant async job quota exhausted
- `507`: Insufficient free disk space

---

[API](https://skmtc.dev/cernion/apis/cernion-energy-tools-api.md) · [All operations](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/revisions/cdb94473b538?raw)
