QuickBooks Online API Documentation
This is the complete API documentation for connecting to the QuickBooks Online API using MindCloud's Universal API. If you are new to MindCloud, start with the Introduction to see how one API can sit in front of many different apps.
MindCloud is an integration company that offers one normalized API to access 3,100+ apps from a single place. It cleans up provider-specific quirks, keeps requests and responses consistent, and centralizes authentication so you do not need to manage separate flows for every app. Browse other apps.
Meet QuickBooks Online: This only has the Accounting Scope. Keep reading to get started.
Quickstart
Before you run your first QuickBooks Online request, you need three things:
- A MindCloud account — sign in or create an account at MindCloud.
- A MindCloud API Key — create one in API Keys. Keep it on your server.
- At least one QuickBooks Online connection — create or choose one in Connections. Note its
connectionId.
Every QuickBooks Online action uses the same URL pattern:
https://connect.mindcloud.co/v1/universal/quickbooksOnlineAccounting/latest/actions/{actionSlug}You need a MindCloud API Key and a QuickBooks Online connection. Then call an action such as Enhanced Query:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/quickbooksOnlineAccounting/latest/actions/enhanced-query" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"Every response comes back in the same envelope, with your rows in a data array:
{
"success": true,
"data": [
{ "id": "1042", "name": "Ava" }
],
"meta": {}
}After your first request works, use Shape your requests to control arguments, pagination, filtering, fields, and errors.
Authentication
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected QuickBooks Online account that should run the action. MindCloud stores and refreshes the QuickBooks Online credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions. Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs.
QuickBooks Online actions
All 41 published actions for this QuickBooks Online version. Each page documents the endpoint, arguments, and response controls.
- POSTArbitrary Request (POST)
- POSTCreate Attachment
- POSTCreate Charge
- POSTCreate Customer
- POSTCreate eCheck
- POSTCreate Estimate
- POSTCreate Item
- POSTCreate Payment
- POSTCreate Time Activity
- POSTCreate Vendor
- DELETEDelete Time Activity
- GETEnhanced Query
- PUTFull Item Update
- GETGet Balance Sheet
- GETGet Customer
- GETGet Customer Bank Account by Id
- GETGet Customer Bank Accounts
- GETGet Customer Card by Id
- GETGet Customer Cards
- GETGet Customers
- GETGet Deposit
- GETGet Invoice
- GETGet Item
- GETGet Payment Method
- GETGet Preferences
- GETGet Profit and Loss Details
- GETGet Vendor
- GETGet Vendors
- GETQuery
- GETQuery (depreciated)
- GETRead Purchase Order
- GETRead Time Activity
- PUTUpdate Customer
- PUTUpdate Estimate (Coastal)
- PUTUpdate Invoice
- PUTUpdate Invoice (Leaner)
- PUTUpdate Payment
- PUTUpdate Purchase Order (Coastal)
- POSTUpdate Sales Receipt
- PUTUpdate Time Activity
- PUTUpdate Vendor
Related apps
More Commerce apps on the Universal API, behind the same REST shape. Or browse all apps.