---
title: "Create Release Asset"
method: POST
path: "/api/repos/{namespace}/{repository}/releases/{release_id}/assets"
tags: ["repository"]
---

# Create Release Asset

`POST /api/repos/{namespace}/{repository}/releases/{release_id}/assets`

## Request

- Base URL: `https://api.git.mari.zip` (the document declares no server; this is the origin it was published from)
- URL: `https://api.git.mari.zip/api/repos/{namespace}/{repository}/releases/{release_id}/assets`
- Auth: API key in cookie `gitarena-session`
- TypeScript: <https://skmtc.dev/mari/apis/gitarena/docs/api/repos/:namespace/:repository/releases/:release_id/assets/post.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `namespace` string, required
- `repository` string, required
- `release_id` string, uuid, required

## Request body

- CreateAssetRequest
  - `arch` 'x86_64' | 'i686' | 'aarch64' | 'armv7' | 'armv6' | 'riscv64' | 'loongarch64' | 'powerpc64' | 's390x' | 'wasm32' | 'universal' | 'unknown'
  - `kind` 'binary' | 'installer' | 'library' | 'source' | 'sbom' | 'other'
  - `libc` 'gnu' | 'musl' | 'msvc' | 'mingw' | 'bionic' | 'unknown'
  - `name` string, required
  - `os` 'linux' | 'windows' | 'macos' | 'freebsd' | 'openbsd' | 'netbsd' | 'android' | 'ios' | 'unknown'
  - `size` integer, required

## Response `200`

Asset created with upload URL

- CreateAssetResponse
  - `assetId` string, uuid, required
  - `uploadUrl` string, required

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions
- `404`: Release not found
- `503`: Object storage not available

## Changes

- **2026-10-25** `0b0eb9848050`: 4 breaking, 4 warning, 4 info
  - the request property `arch` became not nullable
  - the request property `kind` became not nullable
  - the request property `libc` became not nullable
  - the request property `os` became not nullable
  - …8 more

[Operation history](https://skmtc.dev/mari/apis/gitarena/changes/api/repos/:namespace/:repository/releases/:release_id/assets/post.md)

---

[API](https://skmtc.dev/mari/apis/gitarena.md) - [All operations](https://skmtc.dev/mari/apis/gitarena/llms.txt) - [OpenAPI document](https://skmtc.dev/mari/apis/gitarena/revisions/437eec085d26?raw)
