Skip to main content
POST
/
api
/
v1
/
notifications
/
{notification_id}
/
download
Redeem Export Download
curl --request POST \
  --url https://roughy-api-staging.fly.dev/api/v1/notifications/{notification_id}/download \
  --header 'Authorization: Bearer <token>'
{
  "download_url": "https://example.supabase.co/storage/v1/object/sign/assets/exports/019de7dd-d3cd-7d42-886e-ac55f552b3fb/2026-05-02.zip?token=eyJhbGciOi...",
  "expires_at": "2026-05-02T09:09:52.423000Z"
}

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.

Path Parameters

notification_id
string<uuid>
required

Response

Successful Response

Freshly minted signed URL for a ready export.

Returned by POST /notifications/{id}/download. URL is good until expires_at (15 minutes from issue); the client should download immediately. Subsequent calls mint fresh URLs from the same persistent storage_path -- the URL itself is never cached, only the path on the notification row is.

download_url
string
required
expires_at
string<date-time>
required