List all time tracking activities

Changed on

Returns a list of time tracking activities. Use the cursor parameter to paginate through the results.

get/quickbooks-desktop/time-tracking-activities

Request

Query parameters

idsstring[]

Filter for specific time tracking activities by their QuickBooks-assigned unique identifier(s).

IMPORTANT: If you include this parameter, QuickBooks will ignore all other query parameters for this request.

NOTE: If any of the values you specify in this parameter are not found, the request will return an error.

[
  "123ABC-1234567890"
]
limitinteger

The maximum number of objects to return. Accepts values ranging from 1 to 150, defaults to 150. When used with cursor-based pagination, this parameter controls how many results are returned per page. To paginate through results, combine this with the cursor parameter. Each response will include a nextCursor value that can be passed to subsequent requests to retrieve the next page of results.

Example:150
cursorstring

The pagination token to fetch the next set of results when paginating with the limit parameter. Do not include this parameter on the first call. Use the nextCursor value returned in the previous response to request subsequent results.

IMPORTANT: The cursor is the same value for every page, and requests that send it are not idempotent: each one returns the next page. Send each request within 10 seconds of the previous response. If you miss that window or a request fails, start over without a cursor.

Example:12345678-abcd-abcd-example-1234567890ab
updatedAfterstring

Filter for time tracking activities updated on or after this date/time. Accepts the following ISO 8601 formats:

  • date-only (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the start of the specified day in the local timezone of the end-user's computer (e.g., 2025-01-01 → 2025-01-01T00:00:00).
  • datetime without timezone (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.
  • datetime with timezone (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
Example:2025-01-01T12:34:56+00:00
updatedBeforestring

Filter for time tracking activities updated on or before this date/time. Accepts the following ISO 8601 formats:

  • date-only (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the end of the specified day in the local timezone of the end-user's computer (e.g., 2025-01-01 → 2025-01-01T23:59:59).
  • datetime without timezone (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer.
  • datetime with timezone (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
Example:2025-02-01T12:34:56+00:00
transactionDateFromstring date

Filter for time tracking activities whose date field is on or after this date, in ISO 8601 format (YYYY-MM-DD).

NOTE: QuickBooks Desktop interprets this date as the start of the specified day in the local timezone of the end-user's computer (e.g., 2025-01-01 → 2025-01-01T00:00:00).

Example:2025-01-01
transactionDateTostring date

Filter for time tracking activities whose date field is on or before this date, in ISO 8601 format (YYYY-MM-DD).

NOTE: QuickBooks Desktop interprets this date as the end of the specified day in the local timezone of the end-user's computer (e.g., 2025-01-01 → 2025-01-01T23:59:59).

Example:2025-02-01
entityIdsstring[]

Filter for time tracking activities tracking the time of these employees, vendors, or persons on QuickBooks's "Other Names" list.

[
  "80000001-1234567890"
]

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

Response

Returns a list of time tracking activities.

objectType'list' required

The type of object. This value is always "list".

urlstring required

The endpoint URL where this list can be accessed.

nextCursorstring nullable required

The nextCursor is a pagination token returned in the response when you use the limit parameter in your request. To retrieve subsequent pages of results, include this token as the value of the cursor request parameter in your following API calls.

NOTE: The nextCursor value remains constant throughout the pagination process for a specific list instance; continue to use the same nextCursor token in each request to fetch additional pages.

remainingCountnumber nullable required

The number of objects remaining to be fetched.

hasMoreboolean required

Indicates whether there are more objects to be fetched.

Example response

{
  "objectType": "list",
  "url": "/v1/quickbooks-desktop/time-tracking-activities",
  "data": [
    {
      "id": "123ABC-1234567890",
      "objectType": "qbd_time_tracking_activity",
      "createdAt": "2025-01-01T12:34:56+00:00",
      "updatedAt": "2025-02-01T12:34:56+00:00",
      "revisionNumber": "1721172183",
      "transactionDate": "2024-10-01",
      "entity": {
        "id": "80000001-1234567890",
        "fullName": "Acme Corporation"
      },
      "customer": {
        "id": "80000001-1234567890",
        "fullName": "Acme Corporation"
      },
      "serviceItem": {
        "id": "80000001-1234567890",
        "fullName": "Legal Consulting"
      },
      "duration": "PT1H30M",
      "class": {
        "id": "80000001-1234567890",
        "fullName": "Project Management"
      },
      "payrollWageItem": {
        "id": "80000001-1234567890",
        "fullName": "Regular Pay"
      },
      "note": "Project planning meeting with client.",
      "billingStatus": "billable",
      "externalId": "12345678-abcd-1234-abcd-1234567890ab"
    }
  ],
  "nextCursor": "12345678-abcd-abcd-example-1234567890ab",
  "remainingCount": 10
}

Changes

    • breaking

      response property data/items/billingStatus list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/entity/fullName list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/entity/id list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/externalId list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/isBilled list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property data/items/note list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property nextCursor list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      response property remainingCount list-of-types was widened by adding types null to media type application/json of response 200

    • breaking

      the // response's property type changed from object null to no type for status

    • breaking

      the // response's property type changed from object null to no type for status

    • breaking

      the // response's property type changed from object null to no type for status

    • breaking

      the // response's property type changed from object null to no type for status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • breaking

      removed the required property /// from the response with the status

    • info

      added subschema #1 subschema #2 to the // response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the // response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the // response property anyOf list for the response status

    • info

      added subschema #1 subschema #2 to the // response property anyOf list for the response status

    • info

      removed the billable enum value from the // response property for the response status

    • info

      removed the has_been_billed enum value from the // response property for the response status

    • info

      removed the not_billable enum value from the // response property for the response status

    • info

      removed the undefined enum value from the // response property for the response status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property // became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the response property became nullable for the status

    • breaking

      the // response's property type changed from no type to object null for status

    • breaking

      the // response's property type changed from no type to object null for status

    • breaking

      the // response's property type changed from no type to object null for status

    • breaking

      the // response's property type changed from no type to object null for status

    • warning

      added the new billable enum value to the // response property for the response status

    • warning

      added the new has_been_billed enum value to the // response property for the response status

    • warning

      added the new not_billable enum value to the // response property for the response status

    • warning

      added the new undefined enum value to the // response property for the response status

    • info

      removed the pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$ from the query request parameter transactionDateFrom

    • info

      removed the pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$ from the query request parameter transactionDateTo

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      removed subschema #1 subschema #2 from the // response property anyOf list for the response status

    • info

      response property data/items/billingStatus list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/entity/fullName list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/entity/id list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/externalId list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/isBilled list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property data/items/note list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property nextCursor list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      response property remainingCount list-of-types was narrowed by removing types null from media type application/json of response 200

    • info

      the // response's property pattern ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$ was removed for the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status

    • info

      added the required property /// to the response with the status