> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rawchunks.space/llms.txt
> Use this file to discover all available pages before exploring further.

# Read an album

> Read an album and its associated songs.

The response is an album object with a `songs` array. Do not use this route as a private-media access check.

## Headers and parameters

<ParamField path="id" type="string" required>
  Resource ID.
</ParamField>

## Response (200)

Success.

<ResponseField name="id" type="string" />

<ResponseField name="title" type="string" />

<ResponseField name="creator" type="string" />

<ResponseField name="songs" type="object[]">
  <Expandable title="Properties">
    <ResponseField name="id" type="string" required />

    <ResponseField name="title" type="string" required />

    <ResponseField name="creator" type="string" required />

    <ResponseField name="url" type="string" required />

    <ResponseField name="created_at" type="string" />

    <ResponseField name="family" type="string | null" />

    <ResponseField name="basis" type="string | null" />

    <ResponseField name="source" type="string | null" />

    <ResponseField name="metadata_cid" type="string | null" />

    <ResponseField name="image" type="string | null" />

    <ResponseField name="album_id" type="string | null" />

    <ResponseField name="network" type="string | null" />

    <ResponseField name="chain_song_id" type="string | null" />

    <ResponseField name="tx_hash" type="string | null" />

    <ResponseField name="version" type="integer" />

    <ResponseField name="licenses" type="integer" />

    <ResponseField name="stream_price" type="number">
      Listed USDC per minute.
    </ResponseField>

    <ResponseField name="license_price" type="number">
      Listed USDC per license.
    </ResponseField>

    <ResponseField name="duration" type="number | null">
      Seconds.
    </ResponseField>

    <ResponseField name="tags" type="string[]" />

    <ResponseField name="public" type="boolean">
      Catalog visibility. Media URLs are not private storage.
    </ResponseField>
  </Expandable>
</ResponseField>

## Errors

Failed JSON responses contain an `error` string. Check the HTTP status before reading a successful result. See [job handling](/dev/guides/jobs) for interrupted or uncertain submissions.

| Status | Meaning |
| - | - |
| `400` | Invalid request. |
| `500` | Request failed. |

<RequestExample>
  ```bash cURL theme={null}
  curl --fail-with-body -X GET "$RAWCHUNKS_API/api/albums/$(jq -nr --arg v "$ID" '$v|@uri')"
  ```
</RequestExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.