Create External
CreateExternal creates a secret vault for external email recipients.
Request body
External email addresses allowed to view this secret (1 to 64). Recipients authenticate via email magic link or Google OAuth.
For FILE secrets: MIME content type of the original file. Ignored for TEXT secrets.
Optional cleartext label visible to the creator in "My Secrets" view. Not encrypted — do not put sensitive data here.
For FILE secrets: expected file size in bytes (max 1GB). Ignored for TEXT secrets.
For FILE secrets: original filename (sanitized server-side). Ignored for TEXT secrets.
For TEXT secrets: hint about the plaintext format (e.g., JSON, YAML, key-value). Used by the viewer UI for syntax highlighting. Does not affect encryption.
Maximum number of views before the secret is burned (0 = unlimited).
Secret type: TEXT or FILE. TEXT secrets use SetTextContent to upload encrypted content (max 64KB). FILE secrets use the upload_url from CreateResponse to upload encrypted content (max 1GB).
Response
Successful response
Age X25519 recipient public key (format: "age1...") for client-side encryption. All content MUST be encrypted to this recipient using the Age encryption format before calling SetTextContent or uploading to upload_url. See: https://age-encryption.org
For FILE secrets: capability URL for uploading the Age-encrypted file. Send an HTTP PUT request with the Age-encrypted file bytes as the body and Content-Type: application/octet-stream. The payload MUST begin with the Age header "age-encryption.org/v1\n". Maximum file size: 1GB. Empty for TEXT secrets.
Vault ID - primary identifier for this secret.