Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: QuickBooks Online Accounting Transaction List By Vendor API
version: '2026-11-05'
description: QuickBooks Online Accounting API (v3). Entities, reports, query, batch and change-data-capture operations for a QuickBooks Online company (realmId). Generated from the JSON Intuit's API Explorer renders; Intuit publishes no OpenAPI document.
termsOfService: https://developer.intuit.com/app/developer/qbo/docs/legal-agreements/intuit-terms-of-service-for-intuit-developer-services
contact:
name: Intuit Developer Support
url: https://help.developer.intuit.com/s/
x-generated-from: documentation
x-generator: convert-intuit-api-explorer.py (deterministic conversion of the provider's API Explorer JSON; no model)
x-source:
- https://static.developer.intuit.com/JSONObjects/EntityJsonObject_v1.json
- https://static.developer.intuit.com/JSONObjects/CodesModelsJsonObjects_v2.json
- https://static.developer.intuit.com/JSONObjects/TocJsonObject_v1.json
x-generated: '2026-11-05'
servers:
- url: https://quickbooks.api.intuit.com
description: Production
- url: https://sandbox-quickbooks.api.intuit.com
description: Sandbox
security:
- oauth2:
- com.intuit.quickbooks.accounting
tags:
- name: TransactionListByVendor
description: The information below provides a reference on how to access the Transaction List By Vendor report from the QuickBooks Online Report Service.
paths:
/v3/company/{realmID}/reports/TransactionListByVendor:
get:
operationId: queryTransactionListByVendor
summary: Query a report
tags:
- TransactionListByVendor
x-source: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/transactionlistbyvendor
x-intuit-operation: GET /v3/company/<realmID>/reports/TransactionListByVendor?<name>=<value>[&...]
x-intuit-parameters-note:
- 'Query Parameters: Customize the information returned in the report by specifying query parameters with the query. Listed below are query parameters available for this report.'
parameters:
- name: realmID
in: path
required: true
schema:
type: string
- name: date_macro
in: query
schema:
type: string
description: 'Predefined date range. Use if you want the report to cover a standard report date range; otherwise, use the start_date and end_date to cover an explicit report date range.
Supported Values: Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year, This Calendar Quarter, This Calendar Quarter-to-date, Last Calendar Quarter, Last Calendar Quarter-to-date, Next Calendar Quarter, This Calendar Year, This Calendar Year-to-date, Last Calendar Year, Last Calendar Year-to-date, Next Calendar Year'
- name: payment_method
in: query
schema:
type: string
description: 'Filters report contents based on payment method.
Supported Values: Cash, Check, Dinners Club, American Express, Discover, MasterCard, Visa, Credit Card'
- name: duedate_macro
in: query
schema:
type: string
description: 'Predefined date range of due dates for balances to include in the report; otherwise, use the start_duedate and end_duedate to cover an explicit report date range.
Supported Values: Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year'
- name: arpaid
in: query
schema:
type: string
description: Supported Values:All, Paid, Unpaid
- name: bothamount
in: query
schema:
type: string
description: Filters report contents to include information for specified transaction amount. For example, bothamount=1233.45 limits report contents to transactions of amount 1233.45.
- name: transaction_type
in: query
schema:
type: string
description: 'Filters report contents based transaction type. Supported values include:
CreditCardCharge, Check, Invoice, ReceivePayment, JournalEntry, Bill, CreditCardCredit, VendorCredit, Credit, BillPaymentCheck, BillPaymentCreditCard, Charge, Transfer, Deposit, Statement, BillableCharge, TimeActivity, CashPurchase, SalesReceipt, CreditMemo, CreditRefund, Estimate, InventoryQuantityAdjustment, PurchaseOrder, GlobalTaxPayment, GlobalTaxAdjustment, Service Tax Refund, Service Tax Gross Adjustment, Service Tax Reversal, Service Tax Defer, Service Tax Partial Utilisation'
- name: docnum
in: query
schema:
type: string
description: Filters report contents to include information for specified transaction number, as found in the docnum parameter of the transaction object.
- name: start_moddate
in: query
schema:
type: string
description: (Account List Detail) Specify an explicit account modification report date range, in the format YYYY-MM-DD. start_date must be less than end_date. Use if you want the report to cover an explicit date range; otherwise, use the moddate_macro to cover a standard report date range.
- name: source_account_type
in: query
schema:
type: string
description: 'Account type from which transactions are included in the report.
Supported Values: AccountsPayable, AccountsReceivable, Bank, CostOfGoodsSold, CreditCard, Equity, Expense, FixedAsset, Income, LongTermLiability, NonPosting, OtherAsset, OtherCurrentAsset, OtherCurrentLiability, OtherExpense, OtherIncome'
- name: group_by
in: query
schema:
type: string
description: 'The field in the transaction by which to group results. Supported Values: Name, Account, Transaction Type, Customer, Vendor, Employee, Location, Payment Method, Day, Week, Month, Quarter, Year, Fiscal Year, Fiscal Quarter, None'
- name: start_date
in: query
schema:
type: string
description: The start date of the report, in the format YYYY-MM-DD. start_date must be less than end_date. Use if you want the report to cover an explicit date range; otherwise, use date_macro to cover a standard report date range. If not specified value of date_macro is used
- name: department
in: query
schema:
type: string
description: 'Filters report contents to include information for specified departments if so configured in the company file.
Supported Values: One or more comma separated department IDs as returned in the attribute, Department.Id of the Department object response code.'
- name: start_duedate
in: query
schema:
type: string
description: The range of dates over which receivables are due, in the format YYYY-MM-DD. start_duedate must be less than end_duedate. If not specified, all data is returned.
- name: columns
in: query
schema:
type: string
description: "Column types to be shown in the report.\nSupported Values: account_name*, create_by, create_date, cust_msg, due_date, doc_num*, inv_date, is_ap_paid, is_cleared, is_no_post*, last_mod_by, memo*, name*, other_account*, pmt_mthd, printed, sales_cust1, sales_cust2, sales_cust3, term_name, tracking_num, tx_date*, txn_type*, term_name, last_mod_date, po_status, ship_via, olb_status, vendor_name \n Additional columns when location tracking enabled: dept_name* \n Additional columns with location tracking enabled: dept_name* \n Multicurrency is enabled for the company if Preferences.MultiCurrencyEnabled is set to true. Read more about multicurrency support here."
- name: end_duedate
in: query
schema:
type: string
description: The range of dates over which receivables are due, in the format YYYY-MM-DD. start_duedate must be less than end_duedate. If not specified, all data is returned.
- name: vendor
in: query
schema:
type: string
description: 'Filters report contents to include information for specified vendors.
Supported Values: One or more comma separated vendor IDs as returned in the attribute, Vendor.Id, of the Vendor object response code.'
- name: end_date
in: query
schema:
type: string
description: The end date of the report, in the format YYYY-MM-DD. start_date must be less than end_date. Use if you want the report to cover an explicit date range; otherwise, use date_macro to cover a standard report date range. If not specified value of date_macro is used
- name: memo
in: query
schema:
type: string
description: 'Filters report contents to include information for specified memo.
Supported Values: One or more comma separated memo IDs.'
- name: appaid
in: query
schema:
type: string
description: 'Status of the balance.
Supported Values: Paid, Unpaid, All'
- name: moddate_macro
in: query
schema:
type: string
description: "Predefined report account modification date range. Use if you want the report to cover a standard report date range when accounts were modified; otherwise, use the start_moddate and end_moddate to cover an explicit report date range. \nSupported Values: Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year"
- name: printed
in: query
schema:
type: string
description: 'Filters report contents based on whether checks are printed or not.
Supported Values: Printed, To_be_printed'
- name: createdate_macro
in: query
schema:
type: string
description: "Predefined report account create date range. Use if you want the report to cover a standard create report date range; otherwise, use start_createdate and end_createdate to cover an explicit report date range. \nSupported Values: Today, Yesterday, This Week, Last Week, This Week-to-date, Last Week-to-date, Next Week, Next 4 Weeks, This Month, Last Month, This Month-to-date, Last Month-to-date, Next Month, This Fiscal Quarter, Last Fiscal Quarter, This Fiscal Quarter-to-date, Last Fiscal Quarter-to-date, Next Fiscal Quarter, This Fiscal Year, Last Fiscal Year, This Fiscal Year-to-date, Last Fiscal Year-to-date, Next Fiscal Year"
- name: cleared
in: query
schema:
type: string
description: "Filters report contents to include information for specified check status.\nSupported Values: \nCleared: The transaction has been processed by a bank or credit card account and is reflected in the bank balance.\nUncleared: A financial entry that has not been reconciled or matched with the corresponding bank statement records.\nReconciled: The transaction has been compared to original records and verified as correct.\nDeposited: A deposit was made into a bank account, such as a checking account."
- name: qzurl
in: query
schema:
type: string
description: 'Specifies whether Quick Zoom URL information should be generated for rows in the report. Quick Zoom URL is a hyperlink to another report containing further details about the particular column of data.
Supported Values: true, false'
- name: term
in: query
schema:
type: string
description: 'Filters report contents based on term or terms supplied.
Supported Values: One or more comma separated term IDs as returned in the attribute, Term.Id of the Term object response code.'
- name: end_createdate
in: query
schema:
type: string
description: Specify an explicit account create report date range, in the format YYYY-MM-DD. start_date must be less than end_date. Use if you want the report to cover an explicit date range; otherwise, use createdate_macro to cover a standard report date range. (This field is not currently available.)
- name: name
in: query
schema:
type: string
description: 'Filters report contents based on the specified comma separated list of ids for the name list customer, vendor, or employee objects.
Query the Customer, Vendor, or Employee name list resource to determine the list of objects for this reference. Specify values found in Customer.Id, Vendor.Id, and Employee.Id. For example, name=1,4,7 includes data in the report for namelist ids 1, 4, and 7. vendor and employee objects'
- name: sort_by
in: query
schema:
type: string
description: The column type used in sorting report rows. Specify a column type as defined with the columns query parameter.
- name: sort_order
in: query
schema:
type: string
description: 'The sort order.
Supported Values: ascend, descend'
- name: start_createdate
in: query
schema:
type: string
description: Specify an explicit account create report date range, in the format YYYY-MM-DD. start_date must be less than end_date. Use if you want the report to cover an explicit date range; otherwise, use createdate_macro to cover a standard report date range. (This field is not currently available.)
- name: end_moddate
in: query
schema:
type: string
description: (Account List Detail) Specify an explicit account modification report date range, in the format YYYY-MM-DD. start_date must be less than end_date. Use if you want the report to cover an explicit date range; otherwise, use the moddate_macro to cover a standard report date range.
responses:
'200':
description: Returns the report object.
content:
application/json:
schema:
$ref: '#/components/schemas/transactionlistreporttoplevel'
'400':
$ref: '#/components/responses/Fault'
'401':
$ref: '#/components/responses/Fault'
'429':
$ref: '#/components/responses/Throttled'
security:
- oauth2:
- com.intuit.quickbooks.accounting
components:
responses:
Fault:
description: Error. The body carries a Fault element (type ValidationFault, SystemFault, AuthenticationFault or AuthorizationFault) with one or more Error entries (code, element, Message, Detail).
content:
application/json:
schema:
$ref: '#/components/schemas/IntuitFault'
Throttled:
description: 'HTTP 429: the request was throttled. Wait 60 seconds before retrying.'
content:
application/json:
schema:
$ref: '#/components/schemas/IntuitFault'
schemas:
IntuitFault:
type: object
properties:
Fault:
type: object
properties:
type:
type: string
enum:
- ValidationFault
- SystemFault
- AuthenticationFault
- AuthorizationFault
Error:
type: array
items:
type: object
properties:
code:
type: string
element:
type: string
Message:
type: string
Detail:
type: string
time:
type: string
format: date-time
transactionlistreporttoplevel:
type: object
title: transactionlistreporttoplevel
properties:
Header:
description: The report header.
Rows:
description: Top level container holding information for report rows.
Columns:
description: Top level container holding information for report columns or subcolumns.
securitySchemes:
oauth2:
type: oauth2
description: 'Intuit OAuth 2.0 (authorization code). Discovery: https://developer.api.intuit.com/.well-known/openid_configuration'
flows:
authorizationCode:
authorizationUrl: https://appcenter.intuit.com/connect/oauth2
tokenUrl: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
refreshUrl: https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer
scopes:
com.intuit.quickbooks.accounting: Grants access to the QuickBooks Online Accounting API, which focuses on accounting data.
com.intuit.quickbooks.payment: Grants access to the QuickBooks Payments API, which focuses on payments processing.
openid: Grants access to OpenID Connect features.
profile: User's given and family names info
email: User's email address
phone: User's phone number
address: User's physical address
x-generated-from: documentation
x-provenance:
method: generated
generated: '2026-11-05'
source: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account
note: Converted from the JSON the developer.intuit.com API Explorer loads (static.developer.intuit.com/JSONObjects). Intuit publishes no OpenAPI document; this is a faithful machine transformation of its own reference data, graded as generated.