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.
/projectsAuthorizationOAuth2 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: name, shortName, orgName
filtersstringJSON 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.
sortstringJSON 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
Paginated list of projects
Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions