Create a one-time link to upload a file
Mint a one-time link that takes one file without an API key, for a caller that can run a shell command but holds no key, such as an agent connected through an Athena MCP server. The file’s name decides what it becomes, as with POST /api/v0/assets/create-from-file: a .md, .markdown, .txt or .text file an Athena document, a .html or .htm file a user interface, a .docx file a Word document and a .pptx, .potx, .ppt or .pps file a presentation. The gates of create-from-file run now (membership in the workspace, EDIT on parent_folder_id, the deployment’s offering, an agent run’s tool policy) and again when the file arrives. Send the file’s bytes as the body of one PUT to upload_url with the X-Athena-Upload-Token header (the curl field is that command); its answer is the new asset. A link works once, for 15 minutes.
Authentication
Headers
Request
The name of the file you will send, which decides what it becomes, as in POST /api/v0/assets/create-from-file: a .md, .markdown, .txt or .text file an Athena document, a .html or .htm file a user interface, a .docx file a Word document and a .pptx, .potx, .ppt or .pps file a presentation
Folder to put the new asset in; you need EDIT on it
Title for the new asset; defaults to the file’s name
Workspace to create the asset in; defaults to parent_folder_id’s, else your current one
Response
A curl command that sends the file, every argument shell-quoted; replace the path placeholder with your file’s path. It prints the new asset as JSON
When the link stops working (UTC)
Headers the upload must carry: X-Athena-Upload-Token, the link’s one-time credential. It works once, until expires_at
Where to send the file: one PUT, its body the file’s bytes
