BilbyHelp Center

Get attachment download URL

GET
/api/v1/conversations/{id}/attachments/{attachmentId}/download

Returns a short-lived signed downloadUrl (1h) for one durable attachment. Unlike the readUrl from /attachments/init (15m, temp key), this authorizes by attachment UUID against the committed chats/ key — safe for bots to fetch server-side.

Authorization

bearerAuth
headerAuthorizationBearer <token>

Personal API key (Authorization: Bearer pulse_...). Scoped to selected organizations (or all current ones); acts as the creating user. If the key covers more than one organization, pass its organizationId on each request.

Path Parameters

id*string
attachmentId*string

Query Parameters

organizationId?string

Organization to operate in. Optional when the API key is bound to exactly one organization (inferred). Required for keys that cover several or all organizations, and for session cookie auth.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
workspaceId?stringDeprecated

Deprecated: the old name of organizationId, still accepted. If both are sent, they must match.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid

Response Body

Signed download URL

application/json
  1. response
downloadUrl*string
filename*string
mediaType*string
Example Request
curl -X GET 'https://pulse.bilby.ai/api/v1/conversations/string/attachments/string/download' \  -H 'Authorization: Bearer YOUR_API_KEY'
Example Response
{  "downloadUrl": "string",  "filename": "string",  "mediaType": "string"}