Skip to content
Leadtime
English
Esc
↑↓navigate↵open⌘Jpreview

List projects

Returns a paginated, filterable list of projects visible to the authenticated user. Users with full project visibility see all projects; restricted users receive only projects they can access, or an empty list.

What are Projects? Projects are the central organizational unit in Leadtime. Every task, time booking, and activity is associated with a project. Projects can be either internal (company activities) or external (client work), and can be structured as single projects (one-off initiatives) or ongoing projects (continuous collaboration).

Project Types:

  • Single Projects: Clear-cut initiatives with defined start and finish, usually planned and billed as quoted
  • Ongoing Projects: Continuous activities where tasks are handled and billed based on effort

Project Classification:

  • External Projects: Billable customer projects that generate direct revenue
  • Internal Projects: Non-billable activities essential for running the company (e.g., administration, product development)

Value Groups: Projects are classified by value creation:

  • A - Direct value creation: External customer projects
  • B - Indirect value creation: Internal projects that increase product/service value
  • C - Not value creating: Administrative tasks
  • D - Waste: Unproductive time (downtime, failed projects)

What is returned: The response includes project details such as name, short name (unique identifier), organization, category, status, phase, open tasks count, value group, type, tags, access permissions, and timestamps.

Retrieves a paginated grid of projects with filtering and sorting capabilities. Quick search available on: name, shortName, orgName. Filterable fields: id, name, shortName, type, valueGroup, categoryId, statusId, phaseId, deadline, organizationId, orgName, guestAccess, isFavorite, isArchived, openTasksCount, createdAt, editedAt. Sortable fields: id, name, shortName, type, valueGroup, categoryId, statusId, phaseId, deadline, organizationId, orgName, guestAccess, isFavorite, isArchived, openTasksCount, createdAt, editedAt.

GET/projects
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: name, shortName, orgName

filtersstring

JSON string containing filter configuration.

Available Fields:

  • id (string): Project ID
  • name (string): Project name
  • shortName (string): Project short name (organization prefix + number)
  • type (set): Project type
  • valueGroup (set): Value group classification
  • categoryId (string): Project category ID
  • statusId (string): Project status ID
  • phaseId (string): Project phase ID
  • deadline (date): Project deadline date
  • organizationId (string): Organization ID
  • orgName (string): Organization name
  • guestAccess (boolean): Whether guest access is enabled
  • isFavorite (boolean): Whether the project is marked as favorite by the current user
  • isArchived (boolean): Whether the project is archived
  • openTasksCount (number): Number of open tasks
  • createdAt (date): Creation timestamp
  • editedAt (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): Project ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • name (string): Project name (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • shortName (string): Project short name (organization prefix + number) (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • type (set): Project type (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
  • valueGroup (set): Value group classification (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
  • categoryId (string): Project category ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • statusId (string): Project status ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • phaseId (string): Project phase ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • deadline (date): Project deadline date (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
  • organizationId (string): Organization ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • orgName (string): Organization name (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • guestAccess (boolean): Whether guest access is enabled (boolean filter). Available comparisons: equal, not_equal
  • isFavorite (boolean): Whether the project is marked as favorite by the current user (boolean filter). Available comparisons: equal, not_equal
  • isArchived (boolean): Whether the project is archived (boolean filter). Available comparisons: equal, not_equal
  • openTasksCount (number): Number of open tasks (number filter). Available comparisons: equal, not_equal, >, <, >=, <=, is_empty, is_not_empty
  • createdAt (date): Creation timestamp (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
  • editedAt (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: Project ID
  • name: Project name
  • shortName: Project short name (organization prefix + number)
  • type: Project type
  • valueGroup: Value group classification
  • categoryId: Project category ID
  • statusId: Project status ID
  • phaseId: Project phase ID
  • deadline: Project deadline date
  • organizationId: Organization ID
  • orgName: Organization name
  • guestAccess: Whether guest access is enabled
  • isFavorite: Whether the project is marked as favorite by the current user
  • isArchived: Whether the project is archived
  • openTasksCount: Number of open tasks
  • createdAt: Creation timestamp
  • editedAt: Last update timestamp

Sort Structure:

[
  {
    "field": "field_name",
    "direction": "asc|desc"
  }
]

Default Sort: createdAt (desc)

fieldsToReturnstring[]

Comma-separated list of field names to include in response items. If not provided, all fields are returned.

Available Fields: id, name, shortName, icon, type, valueGroup, categoryId, statusId, phaseId, deadline, organizationId, orgName, orgColor, guestAccess, isFavorite, isArchived, openTasksCount, createdAt, editedAt

Responses
200

Paginated list of projects

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" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
Paginated list of projects