Introduction

What is Snapbooks API?

An API that will help kickstart and make your life easier while working with the QuickBooks Online API.

  • Automatically handle OAuth and renewals for you, just make the calls.
  • No need for users to enter passwords when your code makes calls to QuickBooks Online.
  • Production and development keys
  • Simplify calls
  • Skip dealing with complicated workflows through services like Zapier

Development Keys

Development keys require you to have a developer sandbox account in the QuickBooks Online API.Sign Up (opens new window)

Requirements

Any language that can make an http call.

QuickBooks Online Setup

If this is your first time setting up a new account in QuickBooks Online, its highly reccomended that you consult with a QuickBooks Expert before starting this journey.

Useful Lookup with SQL Command to retrieve Account Settings:
curl -X "POST" "https://snapbooksapi.com/api/v1/query" \
     -H 'X-Api-Key: xxx' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  			"query": "SELECT * FROM Preferences"
		}'

Response from Query (Abbreviated):

{
...
  "BookCloseDate": "2019-11-30",
  "TaxPrefs": "UsingSalesTax": "false", 
...
}

Need help with QuickBooks Online? Find a QuickBooks Professional Advisor

QuickBooksMoxie (opens new window) Advanced Certified Elite Level QuickBooks ProAdvisor with over 20 years of experience and hundreds of satisfied consulting clients.

Snapbooks API Account Creation

Before integrating Snapbooks into your application, you need to create an account (opens new window).

API Requests

All API requests require a X-Api-Key header. Take a look at the following:

curl -X "POST" "https://snapbooksapi.com/api/v1/query" \
     -H 'X-Api-Key: xxx' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "query": "select * from customer where id = '80'"
}'
axios({
	"method": "POST",
	"url": "https://snapbooksapi.com/api/v1/query",
	"headers": {
		"X-Api-Key": "xxx",
		"Content-Type": "application/json; charset=utf-8"
	},
	"data": {
		"query": "select * from dd"
	}
})

API Responses

Response bodies from Snapbooks look like this:

{
  "success": true,
  "message": null,
  "details": [],
  "results": []
}

You can always look at success and tell whether or not what you have done worked.

You'll also be able to see how many remaining calls you have by looking at the X-Usages header:

HTTP/1.1 200 OK
X-Usages: 1003/3000

Rate Limits

Each Snapbooks plan is subject to a total amount of calls per month along with QuickBooks' throttling (opens new window) rules.

You will recieve a 429 http response anytime you reach a limit.

QuickBooks Online Status Report

It is a good idea to subsribe to the QuickBooks Online Status Report to get email notifications whenever there is a know issue that Intuit support had identified and is working on. If your users are getting errors or your application is reporting errors to you, you can better communicate what is going on.
QuickBooks Online Status (opens new window) Also, the Intuit Developer Platform Services is a great resource as well.
Intuit Developer Group's Platform Services Dashboard (opens new window)