Skip to main content
GET
/
api
/
v1
/
assets
List Assets
curl --request GET \
  --url https://roughy-api-staging.fly.dev/api/v1/assets \
  --header 'Authorization: Bearer <token>'
{
  "items": [
    {
      "content_type": "audio/mpeg",
      "created_at": "2026-05-02T08:54:52.423000Z",
      "duration_seconds": "324.412",
      "id": "019de7f7-3a52-74d1-9eeb-323e0bfb7bb9",
      "size_bytes": 4823572,
      "state": "ready",
      "type": "audio_input"
    }
  ],
  "limit": 50,
  "offset": 0,
  "total": 1
}

Documentation Index

Fetch the complete documentation index at: https://docs.roughy.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Either your Supabase session JWT (UI flows) or an API key minted via POST /api-keys (programmatic flows). Pass it as Authorization: Bearer <token>. The server inspects the token format and routes to JWT or API-key verification automatically.

Query Parameters

limit
integer
default:20
Required range: 1 <= x <= 100
offset
integer
default:0
Required range: x >= 0
state
enum<string> | null

Filter to a specific state. Default returns both pending_upload and ready so the UI can render in-flight uploads alongside available assets. Lifecycle state, orthogonal to AssetType (content kind).

Available options:
pending_upload,
ready,
deleted

Response

Successful Response

items
AssetSummary · object[]
required
total
integer
required
limit
integer
required
offset
integer
required