Zum Inhalt springen
Leadtime
Deutsch
Esc
navigateopen⌘Jpreview

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.

GET/projects/uploads
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:read
or
AuthorizationBearer token (JWT) · headerrequired
Query parameters
pagenumber
Page number (1-based)
pageSizenumber
Number of items per page
viewIdstring
View identifier for saved grid configurations
quickSearchstring
Quick search text. Searches across: fileName, description
filtersstring
JSON 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:** ```json [ { "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):** ```json [ { "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.
sortstring
JSON 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:** ```json [ { "field": "field_name", "direction": "asc|desc" } ] ``` **Default Sort:** updatedAt (desc)
fieldsToReturnany[]
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
Responses
200Paginated list of project uploads
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X GET "https://leadtime.app/api/public/projects/uploads" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
Paginated list of project uploads