Let’s get started. The QuickBooks Online Accounting API gives you incredible flexibility to build creative solutions for key business and accounting workflows.
Here’s what you need to set up to jump-start development.
Already familiar with our APIs? Feel free to skip ahead. If you’re new, review our platform’s capabilities so you can develop with confidence:
Go to the Intuit Developer Portal and create a developer account.
This profile is where you’ll create apps, get app credentials, and set up sandbox companies for testing.
The apps you create on our developer portal generate unique credentials and info you’ll need during development.
When you create apps, you’ll pick your app’s scopes. Scopes limit the type of data your app can access. If your app only needs access to accounting data, select the accounting scope. If it also needs to access payment data, also select the payments scope.
When you create an Intuit Developer account, we give you a test company with sample data for you. We call this a sandbox company.
You can use this sandbox company to test your code. Here’s how to create additional sandbox companies.
During development, you’ll need to use your app’s credentials for various tasks such as authorization.
Use your credentials (i.e., Client ID and Client Secret) to connect your app to OAuth 2.0. This grants access tokens your app can use to send requests to our APIs.
You don’t need to fully authenticate your app to test requests. Here’s how to quickly call the CompanyInfo
entity:
Next, create a sample request:
REPLACE_WITH
placeholders with the copied Access token and Realm ID values.GET CompanyInfo
1 2 3 4 curl -X GET 'https://sandbox-quickbooks.api.intuit.com/v3/company/REPLACE_WITH_SANDBOX_COMPANY_ID/companyinfo/REPLACE_WITH_SANDBOX_COMPANY_ID?minorversion=12' \ -H 'accept: application/json' \ -H 'authorization:Bearer REPLACE_WITH_ACCESS_TOKEN' \ -H 'content-type: application/json'
The response for your request should match the sample server response.
See a sample server response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 { "CompanyInfo": { "CompanyName": "SandboxCompany_US_1", "LegalName": "SandboxCompany_US_1", "CompanyAddr": { "Id": "1","Line1":"123 Sierra Way","City":"San Pablo","CountrySubDivisionCode":"CA","PostalCode":"87999", "Lat": "36.6788345","Long":"-5.4464622" }, "CustomerCommunicationAddr": { "Id": "1", "Line1":"123 Sierra Way","City":"San Pablo","CountrySubDivisionCode":"CA","PostalCode":"87999","Lat":"36.6788345","Long":"-5.4464622"},"LegalAddr":{"Id":"1", "Line1": "123SierraWay", "City": "SanPablo", "CountrySubDivisionCode": "CA", "PostalCode": "87999","Lat":"36.6788345", "Long": "-5.4464622"},"PrimaryPhone":{},"CompanyStartDate":"2018-03-02","FiscalYearStartMonth":"January","Country":"US","Email":{"Address":"noreply@quickbooks.com"},"WebAddr":{},"SupportedLanguages":"en","NameValue":[{"Name":"NeoEnabled","Value":"true"},{"Name":"IsQbdtMigrated","Value":"false"},{"Name":"CompanyType","Value":"Other"},{"Name":"SubscriptionStatus","Value":"TRIAL"},{"Name":"OfferingSku","Value":"QuickBooks Online Plus"},{"Name":"PayrollFeature","Value":"false"},{"Name":"AccountantFeature","Value":"false"},{"Name":"QBOIndustryType","Value":"Landscaping Services"},{"Name":"ItemCategoriesFeature","Value":"true"},{"Name":"AssignedTime","Value":"2018-03-05T19:40:40-08:00" } ], "domain": "QBO", "sparse": false, "Id": "1", "SyncToken": "8", "MetaData": { "CreateTime": "2018-03-02T01: 08: 21-08: 00","LastUpdatedTime":"2018-04-27T00:34:31-07:00" } }, "time": "2018-05-04T14: 36: 43.747-07: 00"}
Check out QuickBooks and third-party testing tools you can use during development. We’ve configured tools, including Postman, to make testing with your sandbox company a little easier.