curl --request PUT \
--url https://pria.praxislxp.com/api/user/upload/{fileId}/swap-asset \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file' \
--form updateOriginalName=false{
"success": true,
"message": "<string>",
"data": {}
}Swap (replace) the on-disk asset for an existing Upload
Replaces the physical bytes under an existing Upload record without
regenerating embeddings or touching ingestion state. The Upload _id,
filename, and file_url stay byte-identical so any published links
continue to resolve. Existing embeddings, file_title, file_summary,
and vaultHealthScore are preserved — to re-index the new content,
call the Reprocess Content endpoint afterwards.
Two input modes (mutually exclusive):
- Multipart
filefield with the new asset bytes. - JSON
{ url }body — server fetches the URL and writes it into place. SSRF guard mirrors/api/user/url.
Authorization mirrors the rename endpoint: the caller must own the
upload, or hold files.edit on the upload’s institution.
curl --request PUT \
--url https://pria.praxislxp.com/api/user/upload/{fileId}/swap-asset \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file' \
--form updateOriginalName=false{
"success": true,
"message": "<string>",
"data": {}
}Documentation Index
Fetch the complete documentation index at: https://docs.praxis-ai.com/llms.txt
Use this file to discover all available pages before exploring further.
Path Parameters
The Upload _id to swap the asset for
^[0-9a-fA-F]{24}$Body
Was this page helpful?