# Filter all efforts Endpoint: GET /efforts Version: v1 Security: http ## Query parameters: - `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 | |------|------|-----------| | date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | type | enum:admin, project | eq, ne, neq, in, nin, notin | | project.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | project.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | project.shortcode | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | project.name | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | client.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | client.external_id | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, 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 | | user.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | user.email | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | epic.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | epic.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | phase.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | phase.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | phase.po_number | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | phase.start_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | phase.end_date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | milestone.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | milestone.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | milestone.po_number | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | milestone.date | date | eq, ne, neq, lt, lte, le, gt, gte, ge, in, nin, notin, isnull, isnotnull, notnull | | task.id | id | eq, ne, neq, in, nin, notin, isnull, isnotnull, notnull | | task.title | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | task.uri | string | in, nin, notin, eq, ne, neq, contains, like, startswith, endswith, isnull, isnotnull, notnull | | task.status | enum | eq, ne, neq, in, nin, notin | 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) 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.user` (object, required) - `data.user.first_name` (string, required) - `data.user.last_name` (string, required) - `data.user.email` (string, required) - `data.user.type` (string, required) Enum: "user", "guest", "tax_advisor" - `data.user.added_at` (string, required) - `data.user.space` (object, required) - `data.user.space.name` (string, required) - `data.comments` (string, required) - `data.date` (string, required) - `data.hours` (number, required) - `data.effortType` (any, required) - `data.task_id` (string,null, required) - `data.task` (any, required) - `data.project` (any, required) - `data.epic` (any, required) - `data.phase` (any, required) - `data.milestone` (any, required) - `data.adminCategory` (any, required) - `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.