Skip to main content
POST
Decrypts an encrypted XBEL bookmark export (as produced by tools like Floccus) back into plain XBEL XML using AES-GCM with a PBKDF2-derived key (250,000 iterations, SHA-256). If the uploaded file turns out to already be plain XML, it’s passed through unchanged — you don’t need to know in advance whether a file needs decrypting.
1 credit per call · Typical response time ~90ms

Request

multipart/form-data, not JSON.
file
file
required
The .xbel file to decrypt. Max 10 MB. Must have a .xbel extension (or be sent as application/octet-stream, since browsers rarely know the XBEL MIME type).
key
string
required
The decryption password. Always required by the request, even if the file turns out to be unencrypted.

Response

success
boolean
required
downloadUrl
string
required
Absolute URL to fetch the decrypted file from — GET it directly, no auth required. Valid for 30 minutes.
fileName
string
required
Suggested filename for the download, derived from your upload (e.g. bookmarks.xbelbookmarks-decrypted.xbel).
message
string
required

Download the result

GET the downloadUrl from the response directly — it streams the file with a Content-Disposition: attachment header. No credit cost, no auth required. After 30 minutes the file is deleted and the link 404s.

Errors

See the full error reference for the platform-level codes (401, 402, 429) that apply to every endpoint.