Filter Query String
GET
The filter query string is specified in the following format:
Property eq/ne/gt/ge/lt/le Value [and/or Property eq/ne/gt/ge/lt/le
Value] ...
The following are the Properties currently supported:
*Integrate (Clients, Employees, ExpenseCategories, ExpenseEntries,
Projects, Tasks, Teams, TimeEntries, and Invoices)
Don't include the root INT element.
If you wish to check for the presence of a node that's deeper, you
can include a forward slash (/) between the node names (e.g. MainNode/ChildNode)
To filter records based on a node's attribute value, you would format
the Value in the following manner: MainNode/@AttributeName=ValueToCheckFor
*Status (Projects)
API versions 1 through 6: Possible values are: E (estimate), Q (quotation),
A (active), R (rejected), T (terminated), or F (finished)
API version 7: Status (integer - Possible values are: 0 (budget), 1
(active), or 2 (completed))
*RSTask (Tasks)
Possible values are: T (true) or F (false)
*Created (Assignments, Clients, Employees, ExpenseCategories, ExpenseEntries,
Projects, Tasks, Teams, TimeEntries, and Invoices)
A date/time value in the format: yyyy-MM-ddTHH:mm:ss
*Modified (Assignments, Clients, Employees, ExpenseCategories, ExpenseEntries,
Projects, Tasks, Teams, TimeEntries, and Invoices)
A date/time value in the format: yyyy-MM-ddTHH:mm:ss
The Property and Value are separated by one of the following logical
operators:
• eq (equals)
• ne (not equal)
• gt (greater than)
• ge (greater than or equal to)
• lt (less than)
• le (less than or equal to)
The Value can be optionally surrounded by single quotes (') which is
needed if the value you're filtering on contains a space. If there
is a need to include a single quote in the Value, it can be escaped
by adding a second single quote ('').
Optionally, multiple Property/Value pairs can be specified by including
an 'and' or 'or' logical operator between them
The following is an example of requesting a list of Projects with a
Status of A (Active) - for API version 6
GET Projects/?version=5&$filter=Status eq A
The following is an example of requesting a list of Projects with a
Status of E (Estimate) or a Status of A (Active) - for API version
6
GET Projects/?version=5&$filter=Status eq E or Status eq A
The following is an example of requesting a list of Projects that don't
have a Status of A (Active) - for API version 6
GET Projects/?version=5&$filter=Status ne A
The following is an example of requesting a list of Projects that have
an Integrate node called TestNode
GET Projects/?version=5&$filter=Integrate eq TestNode
The following is an example of requesting a list of Projects that have
an Integrate node called TestNode with an attribute name called LinkID
and value of 'B691F'
GET Projects/?version=5&$filter=Integrate eq TestNode/@LinkID='B691F'
The following is an example of requesting a list of projects that have
been modified in the month of November 2016
GET Projects/?version=5&$filter=Modified ge 2016-11-01T00:00:00
and Modified le 2016-11-30T23:59:59
Note: In the examples above, the query string is not URI Encoded simply
for readability. The filter query string needs to be URI Encoded.
Security Check:
Example XML request:
N/A
Example JSON request:
N/A
Example XML response:
N/A
Example JSON response:
N/A