# v1 · DataRoomUploadResponse

[All API schemas](/api-reference/v1/schemas/)

Exactly one of: <code>object</code>; <code>object</code>; <code>object</code> — Discriminator: <code>status</code>

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>oneOf&#91;1&#93;.status</code> | Yes | Constant <code>UPLOAD&#95;AUTHORIZED</code> | — |
| <code>oneOf&#91;1&#93;.receiptId</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;1&#93;.uploadId</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;1&#93;.method</code> | Yes | Constant <code>PUT</code> | — |
| <code>oneOf&#91;1&#93;.uploadUrl</code> | Yes | <code>string</code> | Format: <code>uri</code>; Write only |
| <code>oneOf&#91;1&#93;.requiredHeaders</code> | Yes | <code>object</code> | Additional properties: <code>string</code>; Write only |
| <code>oneOf&#91;1&#93;.expiresAt</code> | Yes | <code>string</code> | Format: <code>date-time</code> |
| <code>oneOf&#91;1&#93;.preparationEvidenceHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-fA-F&#93;{64}$</code> |
| <code>oneOf&#91;2&#93;.status</code> | Yes | Constant <code>UPLOAD&#95;AUTHORIZATION&#95;NOT&#95;RETAINED</code> | — |
| <code>oneOf&#91;2&#93;.receiptId</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;2&#93;.uploadId</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;2&#93;.expiresAt</code> | Yes | <code>string</code> | Format: <code>date-time</code> |
| <code>oneOf&#91;2&#93;.preparationEvidenceHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-fA-F&#93;{64}$</code> |
| <code>oneOf&#91;3&#93;.status</code> | Yes | Constant <code>CLEAN</code> | — |
| <code>oneOf&#91;3&#93;.receiptId</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;3&#93;.uploadId</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;3&#93;.artifactKind</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;3&#93;.artifactHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-fA-F&#93;{64}$</code> |
| <code>oneOf&#91;3&#93;.mediaType</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;3&#93;.sizeBytes</code> | Yes | <code>string</code> | Pattern: <code>^&#40;?:0&#124;&#91;1-9&#93;&#91;0-9&#93;&#42;&#41;$</code> |
| <code>oneOf&#91;3&#93;.source</code> | Yes | <code>string</code> | Format: <code>uri</code> |
| <code>oneOf&#91;3&#93;.objectVersion</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;3&#93;.scanProvider</code> | Yes | <code>string</code> | — |
| <code>oneOf&#91;3&#93;.scanEvidenceHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-fA-F&#93;{64}$</code> |
| <code>oneOf&#91;3&#93;.scannedAt</code> | Yes | <code>string</code> | Format: <code>date-time</code> |
| <code>oneOf&#91;3&#93;.evidenceHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-fA-F&#93;{64}$</code> |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Exact definition: <code>#/components/schemas/DataRoomUploadResponse</code> in the [OpenAPI contract](/openapi/liquidity-studio.openapi.json).