- SERVICE DESCRIPTION
This service provides integration with the QuickBooks platform through the GHUBEE interface. It enables comprehensive financial data management including accounts retrieval, purchase transaction management (create, read, update), and vendor management operations. The service supports advanced filtering and pagination for large datasets.
- INTEGRATION SPECIFICATION
- Service Details
| Service Name | QuickBooks Accounts, QuickBooks Purchases, QuickBooks Vendors |
| Context |
/quickbooks/accounts/ /quickbooks/accounts/{account_id}/ /quickbooks/purchases/ /quickbooks/purchases/{purchase_id}/ /quickbooks/purchases/update /quickbooks/vendors/ /quickbooks/vendors/{vendor_id}/ /quickbooks/vendors/update |
| Description | Provides endpoints to retrieve accounts, manage purchase transactions (create/read/update), and manage vendor information (create/read/update) from QuickBooks Online accounting system. |
| Endpoint |
https://hml.ghubee.com/api/quickbooks/accounts/ https://hml.ghubee.com/api/quickbooks/accounts/{account_id}/ https://hml.ghubee.com/api/quickbooks/purchases/ https://hml.ghubee.com/api/quickbooks/purchases/{purchase_id}/ https://hml.ghubee.com/api/quickbooks/purchases/update https://hml.ghubee.com/api/quickbooks/vendors/ https://hml.ghubee.com/api/quickbooks/vendors/{vendor_id}/ https://hml.ghubee.com/api/quickbooks/vendors/update |
| Environment Specifications | https://ghubee.com/api |
| Protocol/Transport | HTTPS |
| Method | GET / POST / PUT |
| Representation format | JSON |
| Input/Output Interface or Both | Both |
| Data transformation | No |
- Assumption
The service must be invoked with all mandatory parameters correctly filled.
Authentication is required to access QuickBooks services through GHUBEE using Bearer token.
QuickBooks OAuth2 access token must be provided in the request header for authentication with QuickBooks Online API.
A valid QuickBooks Company Realm ID must be provided as a query parameter for all requests.
ENDPOINT 1: Get List of Accounts
URL: GET https://hml.ghubee.com/api/quickbooks/accounts/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| minorversion | QuickBooks API minor version | Query Parameter | No | API version (e.g., 65) |
| filter | SQL-like filter query | Query Parameter | No | WHERE clause for filtering |
Example:
GET https://hml.ghubee.com/api/quickbooks/accounts/?realmId=1234567890&minorversion=65 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Array of accounts | Array | Yes | Account records |
| data[].Id | Account ID | String | Yes | Unique identifier |
| data[].Name | Account name | String | Yes | Account display name |
| data[].AccountType | Account type | String | Yes | Bank, Expense, Income, etc. |
| data[].AccountSubType | Account sub-type | String | Yes | Detailed classification |
| data[].CurrentBalance | Current balance | Decimal | Yes | Account balance |
| data[].Active | Active status | Boolean | Yes | true/false |
ENDPOINT 2: Get Specific Account
URL: GET https://hml.ghubee.com/api/quickbooks/accounts/{account_id}/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| account_id | Account unique identifier | URL Path Parameter | Yes | Numeric ID |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| minorversion | QuickBooks API minor version | Query Parameter | No | API version |
Example:
GET https://hml.ghubee.com/api/quickbooks/accounts/123/?realmId=1234567890&minorversion=65 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Account object | Object | Yes | Single account record |
| data.Id | Account ID | String | Yes | Unique identifier |
| data.Name | Account name | String | Yes | Account display name |
| data.AccountType | Account type | String | Yes | Bank, Expense, Income, etc. |
| data.AccountSubType | Account sub-type | String | Yes | Detailed classification |
| data.CurrentBalance | Current balance | Decimal | Yes | Account balance |
| data.Active | Active status | Boolean | Yes | true/false |
ENDPOINT 3: Get List of Purchases
URL: GET https://hml.ghubee.com/api/quickbooks/purchases/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| filter | SQL-like filter query | Query Parameter | No | WHERE TxnDate > '2024-01-01' |
Example:
GET https://hml.ghubee.com/api/quickbooks/purchases/?realmId=1234567890&filter=WHERE TxnDate > '2024-01-01' Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Array of purchases | Array | Yes | Purchase records |
| data[].Id | Purchase ID | String | Yes | Unique identifier |
| data[].SyncToken | Sync token | String | Yes | Concurrency control |
| data[].TotalAmt | Total amount | Decimal | Yes | Purchase total |
| data[].TxnDate | Transaction date | String | Yes | YYYY-MM-DD |
| data[].PaymentType | Payment method | String | Yes | Cash, CreditCard, Check |
| data[].AccountRef | Account reference | Object | Yes | Associated account |
| data[].Line | Line items array | Array | Yes | Purchase line items |
ENDPOINT 4: Get Specific Purchase
URL: GET https://hml.ghubee.com/api/quickbooks/purchases/{purchase_id}/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| purchase_id | Purchase unique identifier | URL Path Parameter | Yes | Numeric ID |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| minorversion | QuickBooks API minor version | Query Parameter | No | API version |
Example:
GET https://hml.ghubee.com/api/quickbooks/purchases/456/?realmId=1234567890&minorversion=65 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Purchase object | Object | Yes | Single purchase record |
| data.Id | Purchase ID | String | Yes | Unique identifier |
| data.SyncToken | Sync token | String | Yes | Concurrency control |
| data.TotalAmt | Total amount | Decimal | Yes | Purchase total |
| data.TxnDate | Transaction date | String | Yes | YYYY-MM-DD |
| data.PaymentType | Payment method | String | Yes | Cash, CreditCard, Check |
| data.Line | Line items array | Array | Yes | Purchase line items |
ENDPOINT 5: Create Purchase
URL: POST https://hml.ghubee.com/api/quickbooks/purchases/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| minorversion | QuickBooks API minor version | Query Parameter | No | API version |
| payment_type | Payment method | JSON Body | Yes | Cash, CreditCard, Check |
| account.id | Account reference ID | JSON Body | Yes | QuickBooks account ID |
| account.name | Account name | JSON Body | Yes | Account display name |
| currency.value | Currency code | JSON Body | Yes | USD, BRL, etc. |
| currency.name | Currency name | JSON Body | No | Currency display name |
| lines | Purchase line items array | JSON Body Array | Yes | Array of line items |
| lines[].detail_type | Line item type | String | Yes | AccountBasedExpenseLineDetail |
| lines[].amount | Line item amount | Decimal | Yes | Item total |
| lines[].description | Line item description | String | No | Item description |
| lines[].line_num | Line number | Integer | No | Sequential line number |
| lines[].account_detail | Account-based expense details | JSON Object | Yes | Expense line details |
| account_detail.account.id | Expense account ID | String | Yes | Account for expense |
| account_detail.account.name | Expense account name | String | Yes | Account name |
| account_detail.tax_amount | Tax amount | Decimal | No | Tax for line item |
| account_detail.tax_inclusive_amount | Tax inclusive amount | Decimal | No | Amount including tax |
| account_detail.class.id | Class ID | String | No | QuickBooks class |
| account_detail.class.name | Class name | String | No | Class display name |
| account_detail.tax_code.value | Tax code value | String | No | Tax code identifier |
| account_detail.tax_code.name | Tax code name | String | No | Tax code display name |
| account_detail.markup_info | Markup information | JSON Object | No | Price markup details |
| markup_info.price_level.value | Price level value | String | No | Price level ID |
| markup_info.percent | Markup percentage | Decimal | No | Markup percent |
| markup_info.mark_up_income_account.value | Markup income account | String | No | Income account ID |
| account_detail.billable_status | Billable status | String | No | Billable/NotBillable/HasBeenBilled |
| account_detail.customer.id | Customer ID | String | No | Associated customer |
| account_detail.customer.name | Customer name | String | No | Customer display name |
| account_detail.project.value | Project ID | String | No | Project identifier |
| account_detail.project.name | Project name | String | No | Project display name |
Example:
POST https://hml.ghubee.com/api/quickbooks/purchases/?realmId=1234567890&minorversion=65 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token Content-Type: application/json{
"payment_type": "CreditCard",
"account": {
"id": "42",
"name": "Visa"
},
"currency": {
"value": "USD",
"name": "Dollar"
},
"lines": [
{
"detail_type": "AccountBasedExpenseLineDetail",
"amount": 100.0,
"account_detail": {
"account": {
"id": "13",
"name": "Meals and Entertainment"
},
"tax_amount": null,
"tax_inclusive_amount": null,
"class": {
"id": null,
"name": null
},
"tax_code": {
"value": null,
"name": null
},
"markup_info": {
"price_level": {
"value": null,
"name": null
},
"percent": null,
"mark_up_income_account": {
"value": null,
"name": null
}
},
"billable_status": null,
"customer": {
"id": null,
"name": null
},
"project": {
"value": null,
"name": null
}
},
"description": null,
"line_num": null
},
{
"detail_type": "AccountBasedExpenseLineDetail",
"amount": 100.0,
"account_detail": {
"account": {
"id": "13",
"name": "Meals and Entertainment"
},
"tax_amount": null,
"tax_inclusive_amount": null,
"class": {
"id": null,
"name": null
},
"tax_code": {
"value": null,
"name": null
},
"markup_info": {
"price_level": {
"value": null,
"name": null
},
"percent": null,
"mark_up_income_account": {
"value": null,
"name": null
}
},
"billable_status": null,
"customer": {
"id": null,
"name": null
},
"project": {
"value": null,
"name": null
}
},
"description": null,
"line_num": null
}
]
}
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Created purchase object | Object | Yes | New purchase record |
| data.Id | Purchase ID | String | Yes | Assigned by QuickBooks |
| data.SyncToken | Sync token | String | Yes | Initial value: "0" |
| data.TotalAmt | Total amount | Decimal | Yes | Purchase total |
| data.TxnDate | Transaction date | String | Yes | YYYY-MM-DD |
| data.Line | Line items array | Array | Yes | Created line items |
ENDPOINT 6: Update Purchase
URL: PUT https://hml.ghubee.com/api/quickbooks/purchases/update
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| id | Purchase ID | JSON Body | Yes | Existing purchase ID |
| sync_token | Sync token | JSON Body | Yes | From previous read/create |
| credit | Credit flag | Boolean | No | true/false |
| total_amount | Total purchase amount | Decimal | Yes | Updated amount |
| txn_date | Transaction date | String | Yes | YYYY-MM-DD |
| payment_type | Payment method | String | Yes | Cash, CreditCard, Check |
| account.id | Account reference ID | JSON Body | Yes | QuickBooks account ID |
| account.name | Account name | JSON Body | Yes | Account display name |
| currency.value | Currency code | JSON Body | Yes | USD, BRL, etc. |
| lines | Purchase line items | JSON Body Array | Yes | Updated line items |
| lines[].id | Line item ID | String | Conditional | Required for existing lines |
| lines[].detail_type | Line item type | String | Yes | AccountBasedExpenseLineDetail |
| lines[].amount | Line item amount | Decimal | Yes | Item total |
| lines[].account_detail | Account-based expense details | JSON Object | Yes | Expense line details |
| Same account_detail fields as Create Purchase | ||||
Example:
PUT https://hml.ghubee.com/api/quickbooks/purchases/update?realmId=1234567890 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token Content-Type: application/json{
"id": "172",
"payment_type": "CreditCard",
"sync_token": "0",
"credit": false,
"total_amount": 50.00,
"txn_date": "2025-07-22",
"account": {
"id": "42",
"name": "Visa"
},
"currency": {
"value": "USD",
"name": "Dollar"
},
"lines": [
{
"id": "1",
"detail_type": "AccountBasedExpenseLineDetail",
"amount": 100.0,
"account_detail": {
"account": {
"id": "13",
"name": "Meals and Entertainment"
},
"tax_amount": null,
"tax_inclusive_amount": null,
"class": {
"id": null,
"name": null
},
"tax_code": {
"value": null,
"name": null
},
"markup_info": {
"price_level": {
"value": null,
"name": null
},
"percent": null,
"mark_up_income_account": {
"value": null,
"name": null
}
},
"billable_status": null,
"customer": {
"id": null,
"name": null
},
"project": {
"value": null,
"name": null
}
},
"description": null,
"line_num": null
}
]
}
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Updated purchase object | Object | Yes | Modified purchase record |
| data.Id | Purchase ID | String | Yes | Same as input |
| data.SyncToken | Sync token | String | Yes | Incremented value |
| data.TotalAmt | Total amount | Decimal | Yes | Updated amount |
| data.TxnDate | Transaction date | String | Yes | Updated date |
ENDPOINT 7: Get List of Vendors
URL: GET https://hml.ghubee.com/api/quickbooks/vendors/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| filter | SQL-like filter query | Query Parameter | No | WHERE Active = true |
Example:
GET https://hml.ghubee.com/api/quickbooks/vendors/?realmId=1234567890 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Array of vendors | Array | Yes | Vendor records |
| data[].Id | Vendor ID | String | Yes | Unique identifier |
| data[].DisplayName | Display name | String | Yes | Vendor display name |
| data[].CompanyName | Company name | String | No | Legal company name |
| data[].GivenName | First name | String | No | Contact first name |
| data[].FamilyName | Last name | String | No | Contact last name |
| data[].Active | Active status | Boolean | Yes | true/false |
ENDPOINT 8: Get Specific Vendor
URL: GET https://hml.ghubee.com/api/quickbooks/vendors/{vendor_id}/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| vendor_id | Vendor unique identifier | URL Path Parameter | Yes | Numeric ID |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
Example:
GET https://hml.ghubee.com/api/quickbooks/vendors/789/?realmId=1234567890 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Vendor object | Object | Yes | Single vendor record |
| data.Id | Vendor ID | String | Yes | Unique identifier |
| data.DisplayName | Display name | String | Yes | Vendor display name |
| data.CompanyName | Company name | String | No | Legal company name |
| data.BillAddr | Billing address | Object | No | Complete address |
| data.PrimaryPhone | Phone number | Object | No | Contact phone |
| data.PrimaryEmailAddr | Email address | Object | No | Contact email |
ENDPOINT 9: Create Vendor
URL: POST https://hml.ghubee.com/api/quickbooks/vendors/
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| display_name | Vendor display name | JSON Body | Yes | Must be unique |
| account_num | Account number | JSON Body | No | Vendor account number |
| title | Title/Prefix | JSON Body | No | Mr., Ms., Dr., etc. |
| given_name | First name | JSON Body | No | Contact first name |
| family_name | Last name | JSON Body | No | Contact last name |
| suffix | Suffix | JSON Body | No | Jr., Sr., III, etc. |
| company_name | Company name | JSON Body | No | Vendor company name |
| print_on_check_name | Name to print on checks | JSON Body | No | Check payee name |
| tax_identifier | Tax ID / EIN | JSON Body | No | Federal tax identifier |
| bill_address.line1 | Address line 1 | JSON Body | No | Street address or company name |
| bill_address.line2 | Address line 2 | JSON Body | No | Additional address info |
| bill_address.line3 | Address line 3 | JSON Body | No | Additional address info |
| bill_address.city | City | JSON Body | No | City name |
| bill_address.state | State/Province code | JSON Body | No | State abbreviation |
| bill_address.country | Country | JSON Body | No | Country name |
| bill_address.postal | Postal code | JSON Body | No | ZIP/Postal code |
| bill_address.latitude | Latitude coordinate | JSON Body | No | Decimal degrees |
| bill_address.longitude | Longitude coordinate | JSON Body | No | Decimal degrees |
| phone.number | Primary phone number | JSON Body | No | Contact phone |
| mobile.number | Mobile phone number | JSON Body | No | Mobile contact |
| email.address | Email address | JSON Body | No | Primary email |
| website.uri | Website URL | JSON Body | No | Company website |
Example:
POST https://hml.ghubee.com/api/quickbooks/vendors/?realmId=1234567890&minorversion=65 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token Content-Type: application/json{
"display_name": "Teste07",
"account_num": "35372649",
"title": "Ms.",
"given_name": "Dianne",
"family_name": "Bradley",
"tax_identifier": "99-5688293",
"suffix": "Sr.",
"company_name": "Dianne's Auto Shop",
"print_on_check_name": "Dianne's Auto Shop",
"bill_address": {
"line1": "Dianne's Auto Shop",
"line2": "Dianne Bradley",
"line3": "29834 Mustang Ave.",
"city": "Millbrae",
"state": "CA",
"country": "U.S.A",
"postal": "94030",
"latitude": "43.8249453",
"longitude": "-79.2639122"
},
"phone": {
"number": "(650) 555-2342"
},
"mobile": {
"number": "(650) 555-2000"
},
"email": {
"address": "[email protected]"
},
"website": {
"uri": "http://DiannesAutoShop.com"
}
}
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Created vendor object | Object | Yes | New vendor record |
| data.Id | Vendor ID | String | Yes | Assigned by QuickBooks |
| data.SyncToken | Sync token | String | Yes | Initial value: "0" |
| data.DisplayName | Display name | String | Yes | As provided |
| data.Active | Active status | Boolean | Yes | Default: true |
ENDPOINT 10: Update Vendor
URL: PUT https://hml.ghubee.com/api/quickbooks/vendors/update
- Data input
| Field | Description | Format | Required | Remarks |
| Token_Ghubee | GHUBEE authentication token | Authorization Header | Yes | Bearer token |
| access-token-quickbooks | QuickBooks OAuth2 access token | Custom Header | Yes | QuickBooks API authentication |
| realmId | QuickBooks Company ID | Query Parameter | Yes | Company identifier |
| id | Vendor ID | JSON Body | Yes | Existing vendor ID |
| sync_token | Sync token | JSON Body | Yes | From previous read/create |
| display_name | Vendor display name | JSON Body | Yes | Updated name (must be unique) |
| Same fields as Create Vendor | ||||
Example:
PUT https://hml.ghubee.com/api/quickbooks/vendors/update?realmId=1234567890 Authorization: Bearer token_ghubee access-token-quickbooks: your_quickbooks_access_token Content-Type: application/json{
"id": "65",
"sync_token": "0",
"display_name": "Teste55",
"account_num": "35372649",
"title": "Ms.",
"given_name": "Dianne",
"family_name": "Bradley",
"tax_identifier": "99-5688293",
"suffix": "Sr.",
"company_name": "Dianne's Auto Shop",
"print_on_check_name": "Dianne's Auto Shop",
"bill_address": {
"line1": "Dianne's Auto Shop",
"line2": "Dianne Bradley",
"line3": "29834 Mustang Ave.",
"city": "Millbrae",
"state": "CA",
"country": "U.S.A",
"postal": "94030",
"latitude": "43.8249453",
"longitude": "-79.2639122"
},
"phone": {
"number": "(650) 555-2342"
},
"mobile": {
"number": "(650) 555-2000"
},
"email": {
"address": "[email protected]"
},
"website": {
"uri": "http://DiannesAutoShop.com"
}
}
- Data output
| Field | Description | Format | Required | Remarks |
| status | Response status | String | Yes | Success / Error |
| message | Response message | String | Yes | Status description |
| data | Updated vendor object | Object | Yes | Modified vendor record |
| data.Id | Vendor ID | String | Yes | Same as input |
| data.SyncToken | Sync token | String | Yes | Incremented value |
| data.DisplayName | Display name | String | Yes | Updated name |
- Error messages
Identification and description of error message types.
| Situation | Message Code | Message description |
| Unauthenticated | { "status": "Error", "message": "Unauthenticated", "data": null } | Authentication error with GHUBEE. Bearer token missing or invalid. |
| QuickBooks Authentication Error | { "status": "Error", "message": "Error: [detail] QuickBooks" } | QuickBooks OAuth2 access token is invalid or expired. |
| QuickBooks Validation Error | { "status": "Error", "message": "Error QuickBooks: [message]" } | Validation error in request data sent to QuickBooks. |
| Missing realmId | { "status": "Error", "message": "realmId is required" } | QuickBooks Company Realm ID not provided in query parameters. |
| Invalid JSON Response | { "status": "Error", "message": "Invalid JSON response" } | QuickBooks API returned invalid JSON data. |
| cURL Error | { "status": "Error", "message": "cURL error: [error details]" } | Communication error with QuickBooks API. |
- ENDPOINT DESCRIPTIONS
| Endpoint | Method | Description |
| /quickbooks/accounts/ | GET | Get List of Accounts: Retrieves all chart of accounts from QuickBooks Online, including account details such as name, type, sub-type, and current balance. Supports SQL-like filtering and automatic pagination for large datasets. |
| /quickbooks/accounts/{account_id}/ | GET | Get Specific Account: Retrieves detailed information for a single account by its unique ID, including all account properties, balance, and metadata from QuickBooks Online. |
| /quickbooks/purchases/ | GET | Get List of Purchases: Retrieves all purchase transactions from QuickBooks Online with comprehensive details including line items, amounts, payment types, and associated accounts. Supports advanced filtering with WHERE clauses and automatic pagination. |
| /quickbooks/purchases/{purchase_id}/ | GET | Get Specific Purchase: Retrieves complete details for a single purchase transaction by its unique ID, including all line items, expense details, tax information, and payment details. |
| /quickbooks/purchases/ | POST | Create Purchase: Creates a new purchase transaction in QuickBooks Online with line items, expense details, payment information, and account associations. Validates required fields and returns the created purchase with assigned ID. |
| /quickbooks/purchases/update | PUT | Update Purchase: Updates an existing purchase transaction in QuickBooks Online. Requires purchase ID and sync token for concurrency control. Allows modification of amounts, dates, line items, and other purchase details. |
| /quickbooks/vendors/ | GET | Get List of Vendors: Retrieves all vendor records from QuickBooks Online including company information, contact details, billing addresses, and tax identifiers. Supports SQL-like filtering and automatic pagination for large vendor lists. |
| /quickbooks/vendors/{vendor_id}/ | GET | Get Specific Vendor: Retrieves complete information for a single vendor by its unique ID, including all contact details, addresses, phone numbers, email addresses, and associated metadata. |
| /quickbooks/vendors/ | POST | Create Vendor: Creates a new vendor record in QuickBooks Online with company information, contact details, billing address, tax identifier, and communication preferences. Returns the created vendor with assigned ID. |
| /quickbooks/vendors/update | PUT | Update Vendor: Updates an existing vendor record in QuickBooks Online. Requires vendor ID and sync token for concurrency control. Allows modification of company information, contact details, addresses, and other vendor properties. |
