---
title: "List the sounds the project's decks and trailers use."
method: GET
path: "/story-projects/{projectId}/sounds"
tags: ["Projects"]
---

# List the sounds the project's decks and trailers use.

`GET /story-projects/{projectId}/sounds`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/story-projects/{projectId}/sounds`
- Auth: HTTP bearer

Every sound the project's decks and trailers use: each deck's bell on the beat, every music clip and sound effect on a timeline, named as it was used and by its video, numbered in the project by when it was made ("Deck 2"). Each entry carries `listenUrl` and `bellSound` (how to strike it as a deck's bell: `{ sound: { fromJobId } }` or `{ assetId }`). Reads only.

## Query parameters

- `kind` 'bell' | 'music' | 'sfx'
- `query` string

## Response `200`

The project's videos (numbered) and the sounds they use (at most 100; `total` counts every match).

- object

## Other responses

- `400`: Request payload failed validation. The error message names the offending field.
- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: The named project or source does not exist or is owned by another account.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/4534f5d25540?raw)
