Intuit website screenshot

Intuit

Collection of APIs offered by Intuit for financial and business management services.

8 APIs 6 Features
AccountingCustom FieldsFinancialFinancial ServicesInvoicingPaymentsPayrollProject ManagementSales TaxSmall BusinessTaxTax PreparationTaxesTime TrackingFortune 1000

APIs

Intuit APIs

Intuit APIs provide developers with access to a wide range of services and functionalities to help them build innovative solutions for financial management, accounting, and tax-...

QuickBooks Online Accounting API

The QuickBooks Online Accounting API is a RESTful API that provides programmatic access to QuickBooks Online company data, including customers, invoices, payments, bills, vendor...

QuickBooks Payments API

The QuickBooks Payments API enables developers to process credit card charges, bank account debits (ACH), and manage payment methods within the QuickBooks ecosystem. It supports...

QuickBooks Payroll and Time API

The QuickBooks Payroll and Time API provides programmatic access to payroll and time-tracking data within QuickBooks Online. It supports use cases including time entry managemen...

QuickBooks Desktop API

The QuickBooks Desktop API allows developers to integrate with QuickBooks Desktop applications using qbXML messages. It provides capabilities for adding, querying, modifying, an...

QuickBooks Projects API

The QuickBooks Projects API is a premium API that provides programmatic access to project data within QuickBooks Online Plus, Advanced, Accountant, and Intuit Enterprise Suite. ...

QuickBooks Custom Fields API

The QuickBooks Custom Fields API is a premium API that provides programmatic access to custom field definitions and values in QuickBooks Online and Intuit Enterprise Suite. It a...

QuickBooks Sales Tax API

The QuickBooks Sales Tax API is a premium API that provides programmatic access to the automated sales tax calculation capabilities within QuickBooks Online. It enables develope...

Collections

Arazzo Workflows

Intuit Catalog and Bill Customer

Create an item, create a customer, then invoice them for that item.

ARAZZO

Intuit Create and Send Invoice

Create an invoice and email it to the customer in one flow.

ARAZZO

Intuit Create and Void Invoice

Create an invoice and void it, carrying the SyncToken forward.

ARAZZO

Intuit Create Customer and Invoice

Create a new QuickBooks customer and immediately raise their first invoice.

ARAZZO

Intuit Create Item and Invoice

Create a sellable service item and invoice a customer using that item.

ARAZZO

Intuit Customer Invoice Payment Cycle

Onboard a customer, invoice them, and record their payment end to end.

ARAZZO

Intuit Find or Create Customer

Look up a customer by display name and create it only if missing.

ARAZZO

Intuit Invoice and Collect Payment

Raise an invoice and record a customer payment applied against it.

ARAZZO

Intuit Invoice to PDF

Create an invoice and retrieve it as a downloadable PDF.

ARAZZO

Intuit Pay Customer Open Invoice

Find a customer's oldest open invoice and record a payment against it.

ARAZZO

Intuit Query and Void Invoice

Find an invoice by document number and void it with its SyncToken.

ARAZZO

Intuit Remind Overdue Invoice

Query for unpaid invoices and email a reminder for the first match.

ARAZZO

Intuit Reprice Item

Read an item and apply a new unit price via a sparse update.

ARAZZO

Intuit Update Customer by Query

Find a customer by email, read it, and update its contact details.

ARAZZO

Intuit Update Payment Amount

Read a payment for its SyncToken and update its amount and reference.

ARAZZO

Intuit Void Payment Safely

Read a payment for its SyncToken and then void it.

ARAZZO

GraphQL

Intuit GraphQL Schema

Intuit does not offer a native public GraphQL API. Its developer platform exposes REST APIs for QuickBooks Online (Accounting, Payments, Payroll/Time, Projects, Custom Fields, S...

GRAPHQL

Pricing Plans

Intuit Plans Pricing

3 plans

PLANS

Rate Limits

Intuit Rate Limits

5 limits

RATE LIMITS

FinOps

Intuit Finops

FINOPS

Features

OAuth 2.0 Authentication

Secure API access using OAuth 2.0 authorization with OpenID Connect for user identity verification.

Webhooks

Real-time event notifications for changes to QuickBooks entities including invoices, payments, and customers.

Minor Versioning

Backward-compatible API versioning allowing access to newer fields and behaviors without breaking existing integrations.

Sandbox Environment

Full-featured sandbox environment for testing and development with sample company data.

Multi-Currency Support

Support for transactions in multiple currencies with automatic exchange rate management.

Custom Fields

Extensible metadata system allowing up to 12 custom fields across transaction types.

Use Cases

Accounting Automation

Automate bookkeeping workflows by syncing invoices, payments, and expenses between business systems and QuickBooks.

Payment Processing

Process credit card and ACH payments linked to QuickBooks invoices for seamless financial reconciliation.

Payroll Integration

Integrate payroll and time-tracking data to streamline employee compensation and workforce management.

Tax Compliance

Automate sales tax calculations and ensure tax compliance across different jurisdictions.

Financial Reporting

Build custom financial reports and dashboards by querying QuickBooks accounting data programmatically.

Integrations

Shopify

Sync e-commerce orders, inventory, and payments between Shopify stores and QuickBooks for automated bookkeeping.

Stripe

Reconcile Stripe payment transactions with QuickBooks invoices and accounts receivable.

Square

Import Square POS transactions into QuickBooks for unified financial management.

HubSpot

Connect CRM data with accounting to automate invoice creation from deals and track payment status.

Salesforce

Sync customer and opportunity data between Salesforce CRM and QuickBooks accounting.

Event Specifications

QuickBooks Online Webhooks

QuickBooks Online Webhooks provide near real-time notifications when data changes in a QuickBooks Online company. When an entity is created, updated, merged, deleted, or voided,...

ASYNCAPI

Semantic Vocabularies

Intuit Context

0 classes · 8 properties

JSON-LD

Quickbooks Accounting Context

0 classes · 0 properties

JSON-LD

API Governance Rules

Intuit API Rules

7 rules · 7 errors

SPECTRAL

JSON Structure

Quickbooks Accounting Custom Field Structure

4 properties

JSON STRUCTURE

Quickbooks Accounting Customer Structure

23 properties

JSON STRUCTURE

Quickbooks Accounting Email Address Structure

1 properties

JSON STRUCTURE

Quickbooks Accounting Error Structure

2 properties

JSON STRUCTURE

Quickbooks Accounting Invoice Line Structure

6 properties

JSON STRUCTURE

Quickbooks Accounting Invoice Structure

25 properties

JSON STRUCTURE

Quickbooks Accounting Item Response Structure

1 properties

JSON STRUCTURE

Quickbooks Accounting Item Structure

22 properties

JSON STRUCTURE

Quickbooks Accounting Linked Txn Structure

2 properties

JSON STRUCTURE

Quickbooks Accounting Meta Data Structure

2 properties

JSON STRUCTURE

Quickbooks Accounting Payment Line Structure

2 properties

JSON STRUCTURE

Quickbooks Accounting Payment Structure

13 properties

JSON STRUCTURE

Example Payloads

Press

Intuit Assist - A new generative AI-powered financial assistant

2026-05-25

Intuit Unveils Revolutionary System of Intelligence to Help ...

2026-05-25

Intuit Responsible AI Principles

2026-05-25

Intuit Launches AI-Powered Intuit Assist for QuickBooks ...

2026-05-25

Intuit and OpenAI Join Forces to Revolutionize Financial ...

2026-05-25

Visuals

View API subway map

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
DeveloperPortal
DeveloperPortal
📝
Signup
Signup
📰
Blog
Blog
💬
Support
Support
🟢
StatusPage
StatusPage
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔑
Authentication
Authentication
🔗
Sandbox
Sandbox
🌐
Console
Console
💬
FAQ
FAQ
👥
GitHubOrganization
GitHubOrganization
👥
GitHubOrganization
GitHubOrganization
📦
PHP SDK
SDKs
📦
.NET SDK
SDKs
📦
Java SDK
SDKs
📦
Ruby SDK
SDKs
📦
Node.js SDK
SDKs
📦
Python SDK
SDKs
📄
ChangeLog
ChangeLog
📄
ReleaseNotes
ReleaseNotes
📄
ReleaseNotes
ReleaseNotes
🔗
Versioning
Versioning
🔗
RateLimits
RateLimits
🔗
Security
Security
🔗
Marketplace
Marketplace
🔗
X
X
🔗
LinkedIn
LinkedIn
🔗
MCPServer
MCPServer

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: QuickBooks Online Accounting API
  version: '75'
request:
  auth:
    type: oauth2
    flow: authorization_code
    authorizationUrl: https://appcenter.intuit.com/connect/oauth2
    accessTokenUrl: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: Invoices
    type: folder
  items:
  - info:
      name: Create an Invoice
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice
      params:
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Creates a new invoice. At minimum, the request must include a CustomerRef and at least one Line item. The TxnDate
      defaults to the current date if not specified. QuickBooks automatically calculates totals, tax, and balance fields.
  - info:
      name: Read an Invoice
      type: http
    http:
      method: GET
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId
      params:
      - name: invoiceId
        value: ''
        type: path
        description: The unique identifier for the invoice
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
    docs: Retrieves the details of an invoice that has been previously created. Supply the unique invoice ID returned from
      a previous create or query request.
  - info:
      name: Update an Invoice
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId
      params:
      - name: invoiceId
        value: ''
        type: path
        description: The unique identifier for the invoice
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Updates an existing invoice. A full update replaces the entire entity with the data provided. The request must include
      the Id and SyncToken fields from the latest read of the entity. Writable fields omitted from the request body are set
      to NULL.
  - info:
      name: Send an Invoice via Email
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId/send
      params:
      - name: invoiceId
        value: ''
        type: path
        description: The unique identifier for the invoice
      - name: sendTo
        value: example_value
        type: query
        description: Override destination email address
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
    docs: Sends the specified invoice via email to the address associated with the customer's BillEmail. You can override
      the destination email by providing a sendTo query parameter.
  - info:
      name: Void an Invoice
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId/void
      params:
      - name: invoiceId
        value: ''
        type: path
        description: The unique identifier for the invoice
      - name: operation
        value: void
        type: query
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Voids the specified invoice. The invoice remains in the system with a voided status. The request body must include
      the Id and SyncToken of the invoice. The operation=void parameter must also be included.
  - info:
      name: Get Invoice as Pdf
      type: http
    http:
      method: GET
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/invoice/:invoiceId/pdf
      params:
      - name: invoiceId
        value: ''
        type: path
        description: The unique identifier for the invoice
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
    docs: Returns the specified invoice as a PDF document. The response content type is application/pdf.
  - info:
      name: Query Entities
      type: http
    http:
      method: GET
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/query
      params:
      - name: query
        value: SELECT * FROM Invoice WHERE TotalAmt > '100.00' MAXRESULTS 10
        type: query
        description: 'A SQL-like query string. For example: SELECT * FROM Invoice WHERE TotalAmt > ''100.00'' ORDERBY TxnDate'
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
    docs: Executes a SQL-like query against QuickBooks Online entities. The query language supports SELECT, WHERE, ORDER BY,
      COUNT, STARTPOSITION, and MAXRESULTS clauses. This endpoint is used to query invoices, customers, items, payments, and
      other entity types.
- info:
    name: Customers
    type: folder
  items:
  - info:
      name: Create a Customer
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/customer
      params:
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Creates a new customer. At minimum, the request must include a DisplayName that is unique across all Customer, Employee,
      and Vendor objects. Additional fields such as billing address, email, and phone can be set during creation.
  - info:
      name: Read a Customer
      type: http
    http:
      method: GET
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/customer/:customerId
      params:
      - name: customerId
        value: ''
        type: path
        description: The unique identifier for the customer
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
    docs: Retrieves the details of a customer that has been previously created. Supply the unique customer ID.
  - info:
      name: Update a Customer
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/customer/:customerId
      params:
      - name: customerId
        value: ''
        type: path
        description: The unique identifier for the customer
      - name: sparse
        value: 'true'
        type: query
        description: Set to true for a sparse (partial) update
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Updates an existing customer. The request body must include the Id and SyncToken. A sparse update is supported by
      including only the fields that need to change along with the sparse=true parameter.
- info:
    name: Items
    type: folder
  items:
  - info:
      name: Create an Item
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/item
      params:
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Creates a new item (product or service). At minimum, the request must include a Name, Type (Inventory, NonInventory,
      or Service), and appropriate account references (IncomeAccountRef, ExpenseAccountRef, and AssetAccountRef for inventory
      items).
  - info:
      name: Read an Item
      type: http
    http:
      method: GET
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/item/:itemId
      params:
      - name: itemId
        value: ''
        type: path
        description: The unique identifier for the item
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
    docs: Retrieves the details of an item that has been previously created. Supply the unique item ID.
  - info:
      name: Update an Item
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/item/:itemId
      params:
      - name: itemId
        value: ''
        type: path
        description: The unique identifier for the item
      - name: sparse
        value: 'true'
        type: query
        description: Set to true for a sparse (partial) update
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Updates an existing item. The request must include the Id and SyncToken. Sparse updates are supported.
- info:
    name: Payments
    type: folder
  items:
  - info:
      name: Create a Payment
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment
      params:
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Creates a new payment received from a customer. The payment can be applied to one or more outstanding invoices using
      the Line array with LinkedTxn references. If TotalAmt exceeds the sum of linked transactions, the remainder is treated
      as an unapplied amount.
  - info:
      name: Read a Payment
      type: http
    http:
      method: GET
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment/:paymentId
      params:
      - name: paymentId
        value: ''
        type: path
        description: The unique identifier for the payment
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
    docs: Retrieves the details of a payment that has been previously created. Supply the unique payment ID.
  - info:
      name: Update a Payment
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment/:paymentId
      params:
      - name: paymentId
        value: ''
        type: path
        description: The unique identifier for the payment
      - name: sparse
        value: 'true'
        type: query
        description: Set to true for a sparse (partial) update
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Updates an existing payment. The request must include the Id and SyncToken. Use this to change the linked transactions,
      payment method, or other details.
  - info:
      name: Void a Payment
      type: http
    http:
      method: POST
      url: https://quickbooks.api.intuit.com/v3/company/{realmId}/payment/:paymentId/void
      params:
      - name: paymentId
        value: ''
        type: path
        description: The unique identifier for the payment
      - name: operation
        value: void
        type: query
      - name: minorversion
        value: '75'
        type: query
        description: The minor version of the API to use. Minor versions introduce new fields and behaviors without breaking
          existing integrations. If omitted, the base version behavior is used.
      body:
        type: json
        data: '{}'
    docs: Voids the specified payment. The payment is not deleted but marked as voided. The request body must include the
      Id and SyncToken. Include the operation=void query parameter.
bundled: true