API referenceBuckets

Get an object download URL

Returns a time-limited downloadUrl for the object, valid for 3600 seconds (expiresInSeconds).

Endpoint
GET https://api.dairo.app/v1/buckets/{bucketId}/objects/{objectId}/download

Returns a time-limited downloadUrl for the object, valid for 3600 seconds (expiresInSeconds). Once the object's malware scan has passed (scanStatus of clean or skipped), the response also includes a shareable shareUrl viewer page. As the owner you can still download an object whose scan is pending, but an object that scanned infected or failed is quarantined and returns 403. Requires buckets:read.

Scope: buckets:read. Send the API key as a bearer token; Scopes lists what each one reaches.

Request

cURL
curl "https://api.dairo.app/v1/buckets/3fa85f64-5717-4562-b3fc-2c963f66afa6/objects/3fa85f64-5717-4562-b3fc-2c963f66afa6/download" \
  -H "Authorization: Bearer $DAIRO_API_KEY"

Path parameters

NameTypeRequiredDescription
bucketIdstringyesBucket identifier (buk_*).
objectIdstring (uuid)yesStorage object identifier.

Response

200 Success. Body: application/json, PresignedDownload.

FieldTypeRequiredDescription
downloadUrlstring (uri)yesPresigned S3 GET URL.
expiresInSecondsintegeryes(minimum 1, maximum 604800)
200
{
  "downloadUrl": "https://example.com",
  "expiresInSeconds": 1
}

Errors

Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.

StatusMeaning
400The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch).
401The API key is missing or invalid.
403The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted).
404No such resource in this account (resource_not_found).
409The resource already exists or its state does not allow this (duplicate_resource or a condition-specific code).
422The request is well-formed but a field failed validation (validation_failed).
429Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached).
500An unexpected error; retry with backoff, then contact support (internal_error).

On this page