Zum Inhalt springen
Leadtime
Deutsch
Esc
↑↓navigieren↵öffnen⌘Jvorschau

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:

[
  {
    "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.

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:

[
  {
    "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

Responses
200

Paginated list of project uploads

401

Unauthorized - Invalid or missing authentication token

403

Forbidden - Insufficient API scopes or permissions

Try it
Server
Authorization
Parameters
Request
curl -X GET "https://leadtime.app/api/public/projects/uploads" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
Paginated list of project uploads