Back

QuickBooks Time API Essential Guide

Aug 8, 20246 minute read

What type of API does QuickBooks Time provide?

Based on the search results, the key points about the type of API QuickBooks Time provides are:

  1. The search results do not provide specific information about QuickBooks Time's API type. The results mostly discuss QuickBooks Online APIs.

  2. QuickBooks Online provides a REST API. The QuickBooks Online Accounting API uses the REST framework and uses standard HTTP methods and JSON for input and output.

  3. Intuit (the company behind QuickBooks) has also introduced GraphQL APIs for some of their services. For example, they have rolled out GraphQL APIs for Payroll.

  4. There is mention of a SOAP API for QuickBooks Desktop, but this is not relevant to QuickBooks Time.

  5. The search results mention a "QuickBooks Time API (formally T-Sheets)", but do not specify its type.

Given this information, we can conclude that QuickBooks Time likely has a REST API, as this is the standard for QuickBooks Online services. There's also a possibility it may offer a GraphQL API, as Intuit has been moving in this direction for some services. It's unlikely to use SOAP, as this is mainly associated with older QuickBooks Desktop products.

Does the QuickBooks Time API have webhooks?

Availability of Webhooks

Yes, the official QuickBooks API does have webhooks. However, the information primarily discusses webhooks for QuickBooks Online, not specifically QuickBooks Time. It's unclear if QuickBooks Time has its own separate webhook system or if it's part of the broader QuickBooks Online webhook functionality.

Types of Events

While the information doesn't specifically mention QuickBooks Time events, it does provide details about QuickBooks Online webhook events, which may be relevant:

  1. Supported entities:

    • The API supports webhooks for various QuickBooks entities, though the specific list is not provided.
  2. Supported operations:

    • Create
    • Update
    • Delete
    • Merge (only available for certain entities)
  3. Event notification structure:

    • The webhook notification is sent as a POST request with a JSON body containing fields such as:
      • name: The entity type that changed (e.g., Customer, Invoice)
      • id: The changed entity's ID
      • operation: The type of change (Create, Update, Delete, Merge)
      • lastUpdated: The latest timestamp in UTC
      • deletedId: (only for Merge events) The ID of the entity that was deleted and merged

Key Considerations

  1. Webhook configuration: Webhooks are configured through the QuickBooks Developer Portal, where you can set up the webhook URL and subscribe to specific events.

  2. Notification frequency: There have been discussions about the frequency of webhook notifications, with some suggesting real-time or near real-time notifications are possible.

  3. Troubleshooting: Some developers have reported issues with webhook reliability, including delays in receiving notifications or missing notifications altogether.

  4. Best practices: QuickBooks provides best practices for handling webhooks, including proper response handling and retry policies.

To get accurate information about QuickBooks Time API webhooks, you may need to consult the official QuickBooks Time API documentation or contact their support directly.

Rate Limits and other limitations

Based on the search results provided, here are the key points regarding the API Rate Limits of the QuickBooks Time API (formerly TSheets API):

Request Throttling

  1. The API limits requests to a maximum of 300 calls within any 5-minute time window [5].

  2. Rate limiting is primarily considered on a per-connection basis (per access token) [5].

  3. If you exceed the current rate limit, you will receive a 429 'Too many requests' response from the API [5].

  4. You will continue to receive a 429 response until you're out of the current time window [5].

Key Considerations

  • The threshold and time window may adjust dynamically downward if you are found to be abusing the system [5].

  • All access to the API occurs over a TLS-encrypted secure channel, so your API client must support TLS [5].

  • To ensure data privacy, unencrypted HTTP is not supported [5].

Best Practices

  1. Monitor your API usage to avoid hitting the rate limit.

  2. Implement proper error handling for 429 responses.

  3. Use TLS-capable HTTP clients for all API interactions.

  4. Consider implementing backoff strategies if you receive a 429 response.

It's important to note that these rate limits are subject to change, so it's always a good idea to check the most recent documentation or contact QuickBooks Time support for the most up-to-date information on API rate limits.

Latest API Version

Based on the search results provided, I do not have definitive information about the most recent version of the QuickBooks Time API. However, I can provide some relevant details:

Key points:

  1. The search results primarily contain documentation for the TSheets API, which is now known as QuickBooks Time API.

  2. The documentation refers to API version 1 (v1) in several places, for example in API endpoint URLs like "https://rest.tsheets.com/api/v1/...".

  3. There is mention of minor version updates, with the most recent minor version referenced being version 70, released in December (though the year is not specified).

  4. As of June 2023, there was no support for a Projects API for QuickBooks Online, though it was mentioned to be on the roadmap without a definite ETA.

  5. A more recent comment (exact date not provided, but described as "a month ago") suggests that a Projects API for QuickBooks Online might be released later in 2024.

Conclusion:

While I cannot definitively state the most recent version of the QuickBooks Time API, it appears that the main version is still v1, with minor version updates being released periodically. The most recent minor version mentioned is 70. For the most up-to-date and accurate information, I recommend checking the official QuickBooks Time API documentation or contacting Intuit support directly.

How to get a QuickBooks Time developer account and API Keys?

To get a developer account for QuickBooks Time and create an API integration, you need to follow these steps:

  1. Create a developer account:

    • Go to the Intuit Developer Portal (developer.intuit.com) and create a developer account.
    • This profile is where you'll create apps, get app credentials, and set up sandbox companies for testing.
  2. Create an app on the Intuit Developer Portal:

    • Once you have a developer account, create an app for the QuickBooks Time API.
    • When creating the app, you'll need to select the appropriate scopes. Choose the scopes that match your integration needs.
  3. Set up OAuth 2.0:

    • QuickBooks Time uses OAuth 2.0 for authentication. You'll need to implement the OAuth protocol for your app.
    • Use your app's credentials (Client ID and Client Secret) to connect your app to OAuth 2.0.
  4. Familiarize yourself with the API:

    • Review the QuickBooks Time API documentation to understand the available endpoints and functionalities.
    • Use the API Explorer to test API calls and familiarize yourself with the responses.
  5. Create a sandbox environment:

    • Set up a sandbox environment to test your integration without affecting real data.
  6. Implement your integration:

    • Use the provided SDKs and sample applications to start building your integration.
    • Make sure to follow best practices and handle errors appropriately.

What can you do with the QuickBooks Time API?

Based on the search results provided, I don't have specific information about the data models available through the QuickBooks Time API. The search results focus primarily on the QuickBooks Online Accounting API rather than the QuickBooks Time API.

However, I can provide some general information about interacting with APIs and data models:

Key Points to Consider:

  • APIs typically provide access to various data models or entities that represent different aspects of the system.
  • Common operations on data models include creating, reading, updating, and deleting (CRUD) records.
  • APIs may offer additional operations like querying, batch operations, or change data capture.
  • It's important to consult the specific API documentation for the exact data models and operations available.

Best Practices:

  • Review the API documentation thoroughly to understand available data models and operations.
  • Use appropriate authentication methods as required by the API.
  • Follow any rate limiting or usage guidelines provided by the API.
  • Implement error handling to gracefully manage API responses and potential issues.

Since the search results don't provide specific information about the QuickBooks Time API data models, I recommend consulting the official QuickBooks Time API documentation for accurate and up-to-date information on the available data models and operations.