Projects
The Project Object
Projects are structured entities that allow you to manage and track financials, resources, and tasks related to specific client engagements or internal initiatives.
Note: QuickBooks Online serves Projects from a separate Intuit API that does not expose record timestamps, so created_at and updated_at are always null for QuickBooks Online projects. Filtering or sorting QuickBooks Online projects by those fields will not match any records — use start_date, due_date, or completed_date instead. QuickBooks Online also requires the project-management.project OAuth scope and a Silver or higher Intuit partner tier; connections without that entitlement report Projects as skipped rather than returning an empty list.
Properties
idstringThe Rutter generated unique ID of the project.
platform_idstringThe platform specific ID of the project.
completed_datestringnullableThe date the project was actually completed. Null while the project is still open.
due_datestringnullableThe date the project is due to be completed.
start_datestringnullableThe date the project started or is scheduled to start.
namestringThe name of the project.
statusstringStatus of the project.
completion_ratenumbernullableHow complete the project is, as a percentage from 0 to 100. Null if the platform does not track completion.
prioritynumbernullableThe priority level of the project, as a platform-defined integer. The set of values and their ordering are platform-specific — QuickBooks Online reports 1, 2, or 3. Null if the platform does not track priority.
project_categorystringnullableThe category of the project.
created_atstringfilterablenullableThe ISO 8601 timestamp that the project was created.
updated_atstringfilterablenullableThe ISO 8601 timestamp that the project was last updated.
last_synced_atstringfilterableThe ISO 8601 timestamp when the project was last synced by Rutter.
platform_urlstringnullableA URL pointing to the object in the underlying platform. When no URL exists for the specific object, the value may be a larger URL containing the object.
platform_dataobjectOptionalThe raw platform data corresponding to the Rutter object.
List Projects
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
cursorstringqueryOptionalUsed to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.
limitintegerqueryOptionalUsed to limit the number of returned objects. Defaults to 50.
filterstringqueryOptionalNot currently supported on Sage Intacct or Sage Business Cloud. Used to specify a filtering criteria for response objects. Refer to Filtering Objects to understand the syntax for the filtering criteria. The filtering syntax only supports fields decorated with a filterable tag in the response object.
Filterable fields: created_at, updated_at, last_synced_at.
sortstringqueryOptionalUsed to sort the response objects, e.g. last_synced_at ASC. If a value is provided but ASC or DESC is not, defaults to ASC. If omitted, defaults to updated_at DESC. Supports only fields decorated with a filterable tag in the response object except on Sage Intacct and Sage Business Cloud. For those platforms, only updated_at_min, updated_at_max and last_synced_at_min fields are supported and not deprecated.
Sortable fields: created_at, updated_at, last_synced_at.
expandenumqueryOptionalInclude platform specific data (includes additional fields not provided by the Rutter object).
last_synced_at_minintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a last_synced_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
updated_at_maxintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a updated_at value less than or equal to the supplied value. Should be a Unix time in milliseconds.
updated_at_minintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a updated_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "projects": [
3 {
4 "id": "00000000-0000-0000-0000-000000000000",
5 "platform_id": "12345678",
6 "completed_date": null,
7 "due_date": "2023-01-02T02:34:56.000Z",
8 "start_date": "2023-01-02T02:34:56.000Z",
9 "name": "Mobile Platform Build",
10 "status": "active",
11 "completion_rate": 45,
12 "priority": 1,
13 "project_category": "Contract",
14 "created_at": "2023-01-02T02:34:56.000Z",
15 "updated_at": "2023-01-02T02:34:56.000Z",
16 "last_synced_at": "2023-01-02T02:34:56.000Z",
17 "platform_url": null,
18 "platform_data": {
19 "id": 123,
20 "data": "Varies by platform"
21 }
22 }
23 ],
24 "next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
25 "connection": {
26 "id": "00000000-0000-0000-0000-000000000000",
27 "orgId": "00000000-0000-0000-0000-000000000000",
28 "platform": "NETSUITE"
29 }
30}
Fetch a Project
Request Parameters
idstringpathRequiredThe unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
id_typeenumqueryOptionalUsed to indicate the type of id that is supplied. Defaults to rutter. Not currently supported on Sage Intacct or Sage Business Cloud.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "project": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "12345678",
5 "completed_date": null,
6 "due_date": "2023-01-02T02:34:56.000Z",
7 "start_date": "2023-01-02T02:34:56.000Z",
8 "name": "Mobile Platform Build",
9 "status": "active",
10 "completion_rate": 45,
11 "priority": 1,
12 "project_category": "Contract",
13 "created_at": "2023-01-02T02:34:56.000Z",
14 "updated_at": "2023-01-02T02:34:56.000Z",
15 "last_synced_at": "2023-01-02T02:34:56.000Z",
16 "platform_url": null,
17 "platform_data": {
18 "id": 123,
19 "data": "Varies by platform"
20 }
21 },
22 "connection": {
23 "id": "00000000-0000-0000-0000-000000000000",
24 "orgId": "00000000-0000-0000-0000-000000000000",
25 "platform": "NETSUITE"
26 }
27}
Have questions?
Contact support for personalized guidance.