# Upload an immutable workspace artifact

`PUT /api/v1/projects/{project}/releases/{release}/workspaces/{workspace}/artifact`

Operation ID: `uploadReleaseArtifact`  
Effect: `idempotent-write`  
Confirmation: `conditional`

## Authorization

- mode: `privilege`
- privilege: `DEPLOY`

## Parameters

| Name | In | Required | Schema | Description |
| --- | --- | --- | --- | --- |
| `project` | path | true | `{"type":"string"}` |  |
| `release` | path | true | `{"type":"string"}` |  |
| `workspace` | path | true | `{"type":"string"}` |  |
| `Content-Type` | header | true | `{"enum":["application/octet-stream"],"type":"string"}` |  |
| `Content-Digest` | header | true | `{"type":"string"}` |  |

## Request body

- `application/octet-stream`: `string`

## Responses

| Status | Content | Description |
| --- | --- | --- |
| `201` | `application/json` (ReleaseArtifactResponse) | The request has succeeded and a new resource has been created as a result. |
| `400` | `application/problem+json` (ProblemDetails) | The server could not understand the request due to invalid syntax. |
| `401` | `application/problem+json` (ProblemDetails) | Access is unauthorized. |
| `403` | `application/problem+json` (ProblemDetails) | Access is forbidden. |
| `404` | `application/problem+json` (ProblemDetails) | The server cannot find the requested resource. |
| `409` | `application/problem+json` (ProblemDetails) | The request conflicts with the current state of the server. |
| `412` | `application/problem+json` (ProblemDetails) | Precondition failed. |
| `413` | `application/problem+json` (ProblemDetails) | Client error |
| `415` | `application/problem+json` (ProblemDetails) | Client error |
| `422` | `application/problem+json` (ProblemDetails) | Client error |
| `429` | `application/problem+json` (ProblemDetails) | Client error |
| `500` | `application/problem+json` (ProblemDetails) | Server error |
| `502` | `application/problem+json` (ProblemDetails) | Server error |
| `503` | `application/problem+json` (ProblemDetails) | Service unavailable. |
