---
title: "/showcases/:showcaseId/assets"
method: POST
path: "/v1/showcases/{showcaseId}/assets"
tags: ["Showcases"]
---

# /showcases/:showcaseId/assets

`POST /v1/showcases/{showcaseId}/assets`

## Request

- Base URL: `api.air.inc` (relative, and the document’s source URL is not known)
- URL: `api.air.inc/v1/showcases/{showcaseId}/assets`
- Auth: one of:
  - API key in header `x-api-key` and API key in header `x-air-workspace-id`
  - HTTP bearer and API key in header `x-air-workspace-id`
- TypeScript: <https://skmtc.dev/air/apis/air-api/docs/v1/showcases/:showcaseId/assets/post.ts> (a function with typed inputs; its response is checked against the schema)

Add assets to a showcase.

Assets already in the showcase are skipped, so sending one again is safe.

Returns an empty body on success. Use `GET /v1/assets?showcaseId={showcaseId}` to list the showcase's assets.

Requires the `showcases.write` and `assets.read` OAuth scopes.

## Request body

- object
  - `assetIds` string[], required

## Response `204`

Assets added successfully

## Other responses

- `400`: Invalid request body, including an empty `assetIds` or an id that is not a UUID
- `403`: You do not have permission to edit this showcase, or to view one of the assets
- `404`: Showcase not found, or one of the assets does not exist in the workspace or is in the trash

## Changes

- **2026-11-03** `8e6005b272a1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/air/apis/air-api/changes/v1/showcases/:showcaseId/assets/post.md)

---

[API](https://skmtc.dev/air/apis/air-api.md) - [All operations](https://skmtc.dev/air/apis/air-api/llms.txt) - [OpenAPI document](https://skmtc.dev/air/apis/air-api/revisions/8e6005b272a1?raw)
