Skip to main content
POST
Create a Share Link for a Blob Object
Creates a share link for one private object: a page on the website where the recipient downloads the file. Shares expire after expires_in seconds (default 24 hours), can stop after max_downloads, and can require a password on Enterprise-12 or higher. A share doesn’t protect a public object, so object_is_public is true in that case. Scope: blob:write.
string
required
The object to share.
number
Seconds until the share stops working, 60 to 2,592,000 (30 days). Default 86400 (24 hours).
number
Download limit, 1–10,000. Omit for no limit.
string
Password the recipient must type, 8–128 characters. Enterprise-12 or higher.
string
The workspace ID, when the blob belongs to a workspace. The call acts on the blob of the workspace owner and needs the blob:read workspace permission (blob:manage on routes that change data). Leave it out to act on your own blob.

Example request

Response

object
The share link. Responds with 201.

Error Responses

string
The error code indicating the reason for failure. Possible values:
  • AUTH_TOKEN_MISSING (401): No Authorization header was sent.
  • API_KEY_INVALID (401): The API key doesn’t exist, was revoked, or its secret doesn’t match.
  • API_KEY_SCOPE_DENIED (403): The key lacks the scope this route needs (blob:read or blob:write); details.required names it.
  • WORKSPACE_PERMISSION_DENIED (403): Only with workspace_id: you’re not a member, or your role lacks the blob permission.
  • WORKSPACE_NOT_FOUND (404): Only with workspace_id: no workspace with that ID, or you’re not a member.
  • BLOB_NAMESPACE_SUSPENDED (403): The account’s blob storage is suspended, or its plan expired. Uploads and other writes are refused from the start of the 72-hour grace period.
  • VALIDATION_ERROR (400): A parameter or body field failed validation. details.path names the field.
  • BLOB_OBJECT_NOT_FOUND (404): The object_id doesn’t exist in this account.
  • PLAN_RESTRICTED_FEATURE (403): password was sent on a plan below Enterprise-12.