# Filter all projects Endpoint: GET /projects Version: v1 Security: http ## Query parameters: - `include` (string) Available includes are team, guests, tags, originSpace, client, client.primaryContact. You can include multiple options by separating them with a comma. - `page[size]` (integer) The number of results that will be returned per page. - `page[cursor]` (string) The cursor to start the pagination from. - `filter` (string) Allowed filter fields (with allowed operators): | Field | Type | Operators | |------|------|-----------| | shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | status | enum:running, closed | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | is_acquisition | boolean | eq, ne, neq | | client_id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | client.name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | client.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | client.primary_contact_id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | projectType.name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | projectType.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | projectType.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | created_by | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | created_at | datetime | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | start_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | end_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | tags | Relation - title (string) | any, none, count, all | | team | Relation - id (id) - email (string) - space.id (id) - space.name (string) - added_at (datetime) | any, none, count, all | | guests | Relation - id (id) - email (string) - added_at (datetime) | any, none, count, all | Filtering expression. Accepts either JSON (array/tree of conditions) or a readable string DSL. You can check the full syntax at Docs Filtering section. Special values: - me.id — current authenticated user id (usable on fields of type id). Example: id eq me.id - now — current date-time. Example: dueOn lt now - sow/eow — start/end of week. Examples: dueOn gt sow, dueOn lt eow - som/eom — start/end of month. Examples: dueOn gt som, dueOn lt eom - today — special date for today; with eq it expands to the whole day range. Example: dueOn eq today - today±Nd — relative day offset. Examples: today-30d, today+5d. Example: "title contains \"Acme\" and (created_at >= \"2024-01-01\" or client.name contains \"Corp\")" - `sort` (string) Available sorts are first_name, last_name, email.You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -title. Example: "sort=-created_at,title" ## Response 200 fields (application/json): - `data` (array, required) The list of items - `data.id` (string, required) - `data.external_id` (string,null, required) Can be used to add an identifier to the project from an external system, must be unique - `data.title` (string, required) - `data.shortcode` (string, required) - `data.po_number` (string,null, required) - `data.projectType` (object, required) - `data.projectType.color` (string, required) - `data.projectType.order` (integer, required) - `data.projectType.is_default` (boolean, required) - `data.status` (string, required) - `data.is_acquisition` (boolean, required) - `data.is_private` (boolean, required) - `data.client_id` (string, required) - `data.project_type_id` (string,null, required) - `data.start_date` (string,null, required) - `data.end_date` (string,null, required) - `data.client` (object) - `data.client.external_id` (string,null, required) Can be used to add an identifier to the client from an external system, must be unique - `data.client.name` (string, required) - `data.client.segment` (string, required) Enum: "A", "B", "C" - `data.client.created_at` (string, required) - `data.client.primary_contact_id` (string,null, required) - `data.client.primaryContact` (object) - `data.client.primaryContact.first_name` (string, required) - `data.client.primaryContact.last_name` (string, required) - `data.client.primaryContact.title_suffix` (string,null, required) - `data.client.primaryContact.email` (string, required) - `data.client.primaryContact.birthday` (string,null, required) - `data.client.primaryContact.gender` (string,null, required) - `data.client.primaryContact.position` (string,null, required) - `data.client.primaryContact.special_roles` (string,null, required) - `data.client.primaryContact.skills` (string,null, required) - `data.client.primaryContact.profile` (string,null, required) - `data.client.primaryContact.language` (string,null, required) UI language - `data.client.primaryContact.languages` (string,null, required) Spoken languages - `data.client.primaryContact.telephone_office` (string,null, required) Mobile phone (Office) - `data.client.primaryContact.phone_extension` (string,null, required) Landline phone (Office) - `data.client.primaryContact.telephone` (string,null, required) Mobile phone (Private) - `data.client.primaryContact.entry_date` (string,null, required) Date of joining the company - `data.client.primaryContact.leave_date` (string,null, required) Date of leaving the company - if set in the future, the employee will be archived on that date - `data.client.primaryContact.type` (string, required) Enum: "user", "guest", "tax_advisor" - `data.client.primaryContact.plan` (string, required) Enum: "basic", "standard", "external", "advanced", "expert", "guest", "tax_advisor", "not_assigned" - `data.client.primaryContact.is_owner` (boolean, required) Is Kanbert space owner - `data.client.primaryContact.avatar` (any, required) - `data.client.primaryContact.userGroups` (array) - `data.client.primaryContact.userGroups.is_team` (boolean, required) If true, this usergroup is shown as team - `data.client.primaryContact.userGroups.users` (array, required) - `data.client.primaryContact.userGroupsCount` (integer) - `data.client.primaryContact.userGroupsExists` (boolean) - `data.client.primaryContact.customFields` (object, required) The key is the field name for your custom field, value type depends on the field type - `data.client.primaryContact.deleted_at` (string,null, required) - `data.client.projects` (array) - `data.client.origin_space_id` (string,null, required) If set the client is shared from another Space - `data.client.originSpace` (object) Shared space which the client is shared from - `data.tags` (array) - `data.team` (array) Project team - `data.team.added_at` (string, required) - `data.team.space` (object, required) - `data.guests` (array) Project guests - `links` (array, required) - `meta` (object, required) - `meta.path` (string,null, required) Base path for paginator generated URLs. - `meta.per_page` (integer, required) Number of items shown per page. - `meta.next_cursor` (string,null, required) - `meta.next_cursor_url` (string,null, required) - `meta.prev_cursor` (string,null, required) - `meta.prev_cursor_url` (string,null, required) ## Response 401 fields (application/json): - `message` (string, required) Error overview.