curl --request POST \
--url https://pria.praxislxp.com/api/user/uploads \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"lean": true,
"status": {
"$ne": "deleted"
},
"fileNameSearch": "report"
}
'{
"success": true,
"data": [
{
"_id": "<string>",
"filename": "<string>",
"originalname": "<string>",
"mimetype": "<string>",
"created": "2023-11-07T05:31:56Z",
"filesize": 123,
"thumbnail": "<string>",
"user": "<string>",
"institution": "<string>",
"account_shared": true,
"file_summary": "<string>",
"file_title": "<string>",
"file_url": "<string>",
"tokens_used": 123,
"is_public": false,
"is_private": false,
"file_dimensions": "<string>",
"file_authors": "<string>",
"embeddings_model": "<string>",
"summary_model": "<string>",
"image_analysis_model": "<string>",
"googleDriveFileId": "<string>",
"googleDriveModifiedTime": "2023-11-07T05:31:56Z",
"ragHitCount": 0,
"lastRagHitAt": "2023-11-07T05:31:56Z",
"vaultHealthScore": 123,
"fileOnDisk": true,
"owner_data": {
"email": "jsmith@example.com",
"fname": "<string>",
"lname": "<string>",
"institution": "<string>"
},
"institution_data": {
"name": "<string>",
"ainame": "<string>"
},
"institution_name": "<string>",
"institution_display_name": "<string>",
"index": 123,
"collection": "<string>",
"collection_path": [
{
"_id": "<string>",
"name": "<string>",
"color": "<string>"
}
]
}
],
"total": 123,
"hasMore": true,
"page": 123,
"pageSize": 123,
"vaultCounts": {
"personal": {
"total": 123,
"active": 123
},
"instance": {
"total": 123,
"active": 123
},
"account": {
"total": 123,
"active": 123
}
}
}Search and retrieve user uploaded files
Retrieves a paginated list of user uploads with optional filtering by filename, status, vault type, and institution. Supports compact and lean response modes. When no vault is specified, legacy behavior applies: the user’s personal files plus institution files are returned, and account-shared uploads from sibling institutions are appended.
curl --request POST \
--url https://pria.praxislxp.com/api/user/uploads \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"lean": true,
"status": {
"$ne": "deleted"
},
"fileNameSearch": "report"
}
'{
"success": true,
"data": [
{
"_id": "<string>",
"filename": "<string>",
"originalname": "<string>",
"mimetype": "<string>",
"created": "2023-11-07T05:31:56Z",
"filesize": 123,
"thumbnail": "<string>",
"user": "<string>",
"institution": "<string>",
"account_shared": true,
"file_summary": "<string>",
"file_title": "<string>",
"file_url": "<string>",
"tokens_used": 123,
"is_public": false,
"is_private": false,
"file_dimensions": "<string>",
"file_authors": "<string>",
"embeddings_model": "<string>",
"summary_model": "<string>",
"image_analysis_model": "<string>",
"googleDriveFileId": "<string>",
"googleDriveModifiedTime": "2023-11-07T05:31:56Z",
"ragHitCount": 0,
"lastRagHitAt": "2023-11-07T05:31:56Z",
"vaultHealthScore": 123,
"fileOnDisk": true,
"owner_data": {
"email": "jsmith@example.com",
"fname": "<string>",
"lname": "<string>",
"institution": "<string>"
},
"institution_data": {
"name": "<string>",
"ainame": "<string>"
},
"institution_name": "<string>",
"institution_display_name": "<string>",
"index": 123,
"collection": "<string>",
"collection_path": [
{
"_id": "<string>",
"name": "<string>",
"color": "<string>"
}
]
}
],
"total": 123,
"hasMore": true,
"page": 123,
"pageSize": 123,
"vaultCounts": {
"personal": {
"total": 123,
"active": 123
},
"instance": {
"total": 123,
"active": 123
},
"account": {
"total": 123,
"active": 123
}
}
}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.
Authorizations
JWT token passed in x-access-token header
Body
When true, omits file_summary, filename, file_authors, mimetype, owner_data, and institution_data
When true, omits file_title, file_summary, thumbnail, owner_data, and institution_data
When true, retrieves uploads from all institution members instead of just the current user (requires institution to be set)
Filter by status. Real DB values (inactive/selected/active/error/deleted) match exactly. Pseudo-values:
excluded: expands tostatus $nin:['selected','deleted']processing: matchesingestion.phase ∈ {extract, chunk, sanitize, embed, kag}ANDstatus $ne:'deleted'. Use this to surface files currently mid-ingestion regardless of their literal status (in-flight files usually carry status:'inactive' until the pipeline finishes). When omitted, defaults to $ne:'deleted'.
inactive, selected, active, error, deleted, excluded, processing Case-insensitive regex search term applied to originalname
Return only the upload with this specific ID
Batch fetch — return only uploads whose _id is in this list. Capped to 50. Used by the UI to poll in-flight ingestion uploads without re-running the full list query.
50Filter by vault type. personal: user-owned files with no institution. instance: institution files that are not account-shared. account: account-shared files across all institutions.
personal, instance, account Institution ID to scope the query. Used with vault or all to target a specific institution.
Page number for pagination (1-based)
x >= 1Number of items per page (clamped to 1-50)
1 <= x <= 50When true, sorts in ascending order; otherwise descending
When truthy, sorts by created date instead of the default case-insensitive originalname sort
Sort field. When provided, overrides nameOrder. ragHitCount sorts by usage count, lastRagHitAt sorts by recency of RAG matches (nulls first when ascending).
ragHitCount, lastRagHitAt When true, includes files that belong to a vault-scoped collection in the results.
Default false — files in collections are excluded from root vault listings to avoid
duplicates with the CollectionStrip render. Auto-bypassed (treated as true) for the
attention filters status: 'processing' and status: 'error' so the user can see
every file needing attention from the vault root, regardless of its container.
When true, appends a vaultCounts object to the response with total and active counts per vault (personal, instance, account)
Response
Successfully retrieved user uploads
Whether the request succeeded
Array of upload records for the requested page
Show child attributes
Show child attributes
Total number of matching uploads across all pages
Whether more pages exist beyond the current page
Current page number (mirrors the request value)
Items per page used (mirrors the resolved request value)
Vault-level counts (only present when includeCounts: true)
Show child attributes
Show child attributes
Was this page helpful?