List project uploads
Retrieves a paginated grid of project uploads with filtering and sorting capabilities. Quick search available on: fileName, description. Filterable fields: id, projectId, fileId, fileName, description, categoryId, mimeType, fileSize, userId, updatedAt. Sortable fields: id, projectId, fileId, fileName, description, categoryId, mimeType, fileSize, userId, updatedAt.
What are Project Uploads? Project uploads allow you to centrally manage project-related files within Leadtime. This feature provides organized storage for documents like contracts, offers, technical specifications, or internal notes directly within project context, eliminating the need to search through external folders.
What is returned:
- Upload identification (ID, project ID, file ID)
- File information (filename, MIME type, file size in bytes)
- Organization details (description, category ID)
- User information (user ID who created or last updated the upload)
- Timestamps (creation and last update dates)
Filtering and search:
- Quick search across file name and description fields
- Advanced filtering by project ID, category, file type, user, and more
- Sorting by any sortable field (default: updatedAt descending)
- Server-side pagination for large upload lists
Access control: This endpoint automatically filters uploads based on project access permissions:
- Users with Projects.seeAnyProject permission see all uploads across all projects
- Other users see only uploads from projects they have access to
- Optional filtering by projectId via grid filters allows focusing on specific projects
Note: This endpoint requires the Projects.manageUploads permission.
/projects/uploadsAuthorizationOAuth2 access token · headerrequiredapi:readAuthorizationBearer token (JWT) · headerrequiredpagenumberPage number (1-based)
pageSizenumberNumber of items per page
viewIdstringView identifier for saved grid configurations
quickSearchstringQuick search text. Searches across: fileName, description
filtersstringJSON string containing filter configuration.
Available Fields:
- id (string): Upload ID
- projectId (set): Project ID
- fileId (string): File ID
- fileName (string): File name
- description (string): Upload description
- categoryId (set): Category ID
- mimeType (string): MIME type
- fileSize (number): File size in bytes
- userId (set): User ID who created the upload
- updatedAt (date): Last update timestamp
Filter Structure:
[
{
"type": "string|number|date|set|boolean|array|task_status|task_type",
"fieldName": "field_name",
"value": {
"comparison": "comparison_type",
"value": "filter_value"
}
}
]
Group Filters (AND/OR Combinations):
[
{
"type": "group",
"fieldName": "group0.18807479823070028",
"value": {
"type": "or",
"filters": [
{
"type": "string",
"fieldName": "fileName",
"value": {
"comparison": "contain",
"value": "aa"
}
},
{
"type": "number",
"fieldName": "rowCount",
"value": {
"comparison": ">=",
"value": 33
}
}
]
}
}
]
Available Comparison Operators:
- id (string): Upload ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- projectId (set): Project ID (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
- fileId (string): File ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- fileName (string): File name (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- description (string): Upload description (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- categoryId (set): Category ID (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
- mimeType (string): MIME type (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- fileSize (number): File size in bytes (number filter). Available comparisons: equal, not_equal, >, <, >=, <=, is_empty, is_not_empty
- userId (set): User ID who created the upload (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
- updatedAt (date): Last update timestamp (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
Note: Use quickSearch parameter for simple text search instead of adding it to filters.
sortstringJSON array of sort objects.
Sortable Fields:
- id: Upload ID
- projectId: Project ID
- fileId: File ID
- fileName: File name
- description: Upload description
- categoryId: Category ID
- mimeType: MIME type
- fileSize: File size in bytes
- userId: User ID who created the upload
- updatedAt: Last update timestamp
Sort Structure:
[
{
"field": "field_name",
"direction": "asc|desc"
}
]
Default Sort: updatedAt (desc)
fieldsToReturnstring[]Comma-separated list of field names to include in response items. If not provided, all fields are returned.
Available Fields: id, projectId, fileId, fileName, description, categoryId, mimeType, fileSize, userId, updatedAt
Paginated list of project uploads
Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions