Shares
A share is one or more encrypted files behind one link. Uploads are multipart: create the share, upload each encrypted part to the presigned URL you get back, then complete. Encryption happens in your client: the server stores only the encrypted file and never sees the key. Unless you are reimplementing the envelope, use the CLI, which does all of this.
Create a share. Returns the share id, an upload_id, and the part geometry (size and count).
Get presigned PUT URLs for the parts you still need to upload.
Upload status: which parts are already stored, so an interrupted upload can continue.
Finish the multipart upload once every part is stored. The share becomes active.
Cancel an unfinished upload and discard its parts.
List the shares in the workspace, with status, size, downloads and expiry.
One share's details, including the people it was emailed to.
Move an active share's expiry: {"expires_at": "2026-10-12T17:00:00Z"}. The link and key stay the same. A share is available at most your plan's longest time from the day it was sent (expires_max in the reply); later dates answer expiry_too_long.
The download activity (receipts in the API): who opened, started and finished, and the browser used.
Email the link to one or more people, one message each. The full link (with the key after the #) is used once to send and never stored, so pass it from the client that holds the key. Or send {"strict": true} and no link: the email carries the link without its key, the recipient's page asks for it, and you pass the key on another way. A workspace rule can make every email go without the key; the reply's keyless says which went.
Delete the share: the file is deleted and the link stops working.
Upload links (handoffs in the API)
An upload link is a one-time link you give someone (or an assistant) to drop a file into.