Skip to content

Create a public delivery link

POST
/v1/workspaces/{workspaceId}/assets/collections/{collectionId}/share
curl --request POST \
--url https://shareout.site/v1/workspaces/example/assets/collections/example/share \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "expiresAt": "2026-04-15T12:00:00Z", "gate": "none", "password": "example", "domains": [ "example" ] }'

Mint an unguessable /d/<token> download page for a collection. Optional gate (none, password, domain), expiresAt, and gate inputs. Protected deliveries stream bytes through /d/<token>/file/<blobId>.

workspaceId
required
string

Workspace ID or slug.

collectionId
required
string
Media type application/json
object
expiresAt
string format: date-time
nullable
gate
string
default: none
Allowed values: none password domain
password

Required when gate=password.

string
domains

Required when gate=domain (e.g. acme.com).

Array<string>

Share link created

Media type application/json
object
id
string
url
string format: uri
collectionName
string
fileCount
integer
gate
string
Allowed values: none password domain
expiresAt
string format: date-time
nullable
viewCount
integer
revoked
boolean
expired
boolean
Example
{
"gate": "none"
}

Invalid request

Media type application/json
object
success
required
boolean
error
required

Human-readable message.

string
code
required

Machine-readable error code.

string
Example
{
"success": false
}

Access denied

Media type application/json
object
success
required
boolean
error
required

Human-readable message.

string
code
required

Machine-readable error code.

string
Example
{
"success": false
}