# Zoho Books Integration via LowCodeAPI

**Last Updated**: February 10, 2026

## Overview
Accounting software

**Categories:**
- {'id': 'zoho-suite', 'name': 'Zoho Suite', 'description': 'Zoho business applications and productivity tools', 'priority': 17}

## Base Endpoint
https://api.lowcodeapi.com/zohobooks

**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`

## Authentication
**Type:** OAUTH2.0

**Official Documentation:** https://www.zoho.com/books/api/v3/

## URL Format (Important)

LowCodeAPI supports two URL formats. **Always try the New Format first**, then fall back to Old Format if needed.

### New Format (Priority)
- Path parameters stay in the URL path
- Do NOT include path parameters as query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/{id}?api_token=XXX`

### Old Format (Fallback)
- Path parameters become query parameters
- Example: `https://api.lowcodeapi.com/{provider}/resource/id?id={id}&api_token=XXX`

### Decision Flow for AI Agents
1. Always use **New Format** first - keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider

## API Categories

## Common Endpoints

### Create a bank account

**Method:** POST
**LowCodeAPI Path:** /books/v3/bankaccounts

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts?api_token=YOUR_API_TOKEN

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| account_code | string |  |
| account_name | string |  |
| account_number | string |  |
| account_type | string |  |
| bank_name | string |  |
| currency_code | string |  |
| currency_id | string |  |
| description | string |  |
| is_paypal_account | boolean |  |
| is_primary_account | boolean |  |
| paypal_email_address | string |  |
| paypal_type | string |  |
| routing_number | string |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#create-a-bank-account

### List view of accounts

**Method:** GET
**LowCodeAPI Path:** /books/v3/bankaccounts

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts?api_token=YOUR_API_TOKEN

**Query Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| filter_by | string |  |
| sort_column | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#list-view-of-accounts

### Update bank account

**Method:** PUT
**LowCodeAPI Path:** /books/v3/bankaccounts/{account_id}

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/account_id?account_id={account_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| account_id | string |  |

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| account_code | string |  |
| account_name | string |  |
| account_number | string |  |
| account_type | string |  |
| bank_name | string |  |
| currency_code | string |  |
| currency_id | string |  |
| description | string |  |
| is_paypal_account | boolean |  |
| is_primary_account | boolean |  |
| paypal_email_address | string |  |
| paypal_type | string |  |
| routing_number | string |  |

**Example Request (New Format):**

```bash
curl -X PUT 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#update-bank-account

### Get account details

**Method:** GET
**LowCodeAPI Path:** /books/v3/bankaccounts/{account_id}

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/account_id?account_id={account_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| account_id | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#get-account-details

### Delete an account

**Method:** DELETE
**LowCodeAPI Path:** /books/v3/bankaccounts/{account_id}

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/account_id?account_id={account_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| account_id | string |  |

**Example Request (New Format):**

```bash
curl -X DELETE 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#delete-an-account

### Deactivate account

**Method:** POST
**LowCodeAPI Path:** /books/v3/bankaccounts/{account_id}/inactive

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/inactive?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/account_id/inactive?account_id={account_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| account_id | string |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/inactive?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#deactivate-account

### Activate account

**Method:** POST
**LowCodeAPI Path:** /books/v3/bankaccounts/{account_id}/active

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/active?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/account_id/active?account_id={account_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| account_id | string |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/active?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#activate-account

### Import a Bank/Credit Card Statement

**Method:** POST
**LowCodeAPI Path:** /books/v3/bankstatements

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankstatements?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankstatements?api_token=YOUR_API_TOKEN

**Request Body:**

| Field | Type | Description |
|-------|------|-------------|
| account_id | string |  |
| end_date | string |  |
| start_date | string |  |
| transactions | array |  |

**Example Request (New Format):**

```bash
curl -X POST 'https://api.lowcodeapi.com/zohobooks/books/v3/bankstatements?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#import-a-bankcredit-card-statement

### Get last imported statement

**Method:** GET
**LowCodeAPI Path:** /books/v3/bankaccounts/{account_id}/statement/lastimported

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/statement/lastimported?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/account_id/statement/lastimported?account_id={account_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| account_id | string |  |

**Example Request (New Format):**

```bash
curl -X GET 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/statement/lastimported?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#get-last-imported-statement

### Delete last imported statement

**Method:** DELETE
**LowCodeAPI Path:** /books/v3/bankaccounts/{account_id}/statement/{statement_id}

**New Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/statement/{statement_id}?api_token=YOUR_API_TOKEN

**Old Format URL:**
https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/account_id/statement/statement_id?account_id={account_id}&statement_id={statement_id}&api_token=YOUR_API_TOKEN

**Path Parameters:**

| Parameter | Type | Description |
|-----------|------|-------------|
| account_id | string |  |
| statement_id | string |  |

**Example Request (New Format):**

```bash
curl -X DELETE 'https://api.lowcodeapi.com/zohobooks/books/v3/bankaccounts/{account_id}/statement/{statement_id}?api_token=YOUR_API_TOKEN'
```

**Official Documentation:** https://www.zoho.com/books/api/v3/bank-accounts/#delete-last-imported-statement


## Usage Examples

### Example 1: Basic API Request (New Format)

Making a simple GET request to retrieve resources:

```bash
# Get a list of resources - no path parameters needed
curl -X GET "https://api.lowcodeapi.com/zohobooks/endpoint?api_token=YOUR_API_TOKEN"
```

### Example 2: Request with Path Parameters (New Format)

Retrieving a specific resource using its ID:

```bash
# Get specific resource by ID - replace RESOURCE_ID with actual ID from previous response
curl -X GET "https://api.lowcodeapi.com/zohobooks/endpoint/{RESOURCE_ID}?api_token=YOUR_API_TOKEN"
# Note: RESOURCE_ID typically comes from a previous list request or from the provider dashboard
```

### Example 3: POST Request with Body (New Format)

Creating a new resource:

```bash
# Create a new resource
curl -X POST "https://api.lowcodeapi.com/zohobooks/endpoint?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"field": "value", "another_field": "another_value"}'
```

## Error Handling

LowCodeAPI returns standard HTTP status codes. Common errors:

| Status Code | Description |
|-------------|-------------|
| 200 | Success - Request completed successfully |
| 400 | Bad Request - Invalid parameters or request body |
| 401 | Unauthorized - Invalid or missing API token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Endpoint or resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Server Error - Provider API error |

All error responses include error details:

```json
{
  "data": {
    "error": {
      "message": "Error description",
      "code": "ERROR_CODE"
    }
  }
}
```

## Complete Endpoint Reference

| Endpoint | Method | Category |
|----------|--------|----------|
| Create a bank account | POST | Bank Accounts |
| List view of accounts | GET | Bank Accounts |
| Update bank account | PUT | Bank Accounts |
| Get account details | GET | Bank Accounts |
| Delete an account | DELETE | Bank Accounts |
| Deactivate account | POST | Bank Accounts |
| Activate account | POST | Bank Accounts |
| Import a Bank/Credit Card Statement | POST | Bank Accounts |
| Get last imported statement | GET | Bank Accounts |
| Delete last imported statement | DELETE | Bank Accounts |
| Create a rule | POST | Bank Rules |
| Get Rules List | GET | Bank Rules |
| Update a rule | PUT | Bank Rules |
| Get a rule | GET | Bank Rules |
| Delete a rule | DELETE | Bank Rules |
| Create a transaction for an account | POST | Bank Transactions |
| Get transactions list | GET | Bank Transactions |
| Update a transaction | PUT | Bank Transactions |
| Get transaction | GET | Bank Transactions |
| Delete a transaction | DELETE | Bank Transactions |
| Match a transaction | POST | Bank Transactions |
| Get matching transactions | GET | Bank Transactions |
| Unmatch a matched transaction | POST | Bank Transactions |
| Exclude a transaction | POST | Bank Transactions |
| Restore a transaction | POST | Bank Transactions |
| Categorize an uncategorized transaction | POST | Bank Transactions |
| Categorize as expense | POST | Bank Transactions |
| Uncategorize a categorized transaction | POST | Bank Transactions |
| Categorize a vendor payment | POST | Bank Transactions |
| Categorize as customer payment | POST | Bank Transactions |
| Categorize as credit note refunds | POST | Bank Transactions |
| Categorize as vendor credit refunds | POST | Bank Transactions |
| Categorize as Customer Payment refund | POST | Bank Transactions |
| Categorize as Vendor Payment refund | POST | Bank Transactions |
| Create a base currency adjustment | POST | Base Currency Adjustment |
| List base currency adjustment | GET | Base Currency Adjustment |
| Get a base currency adjustment | GET | Base Currency Adjustment |
| Delete a base currency adjustment | DELETE | Base Currency Adjustment |
| List account details for base currency adjustment | GET | Base Currency Adjustment |
| Create a bill | POST | Bills |
| List bills | GET | Bills |
| Update a bill | PUT | Bills |
| Get a bill | GET | Bills |
| Delete a bill | DELETE | Bills |
| Void a bill | POST | Bills |
| Mark a bill as open | POST | Bills |
| Submit a bill for approval | POST | Bills |
| Approve a bill | POST | Bills |
| Update billing address | PUT | Bills |
| List bill payments | GET | Bills |
| Apply credits | POST | Bills |
| Delete a payment | DELETE | Bills |
| Add attachment to a bill | POST | Bills |
| Get a bill attachment | GET | Bills |
| Delete an attachment | DELETE | Bills |
| Add comment | POST | Bills |
| List bill comments & history | GET | Bills |
| Delete a comment | DELETE | Bills |
| Create an account | POST | Chart Of Accounts |
| List chart of accounts | GET | Chart Of Accounts |
| Update an account | PUT | Chart Of Accounts |
| Get an account | GET | Chart Of Accounts |
| Delete an account | DELETE | Chart Of Accounts |
| Mark an account as active | POST | Chart Of Accounts |
| Mark an account as inactive | POST | Chart Of Accounts |
| List of transactions for an account | GET | Chart Of Accounts |
| Delete a transaction | DELETE | Chart Of Accounts |
| Create a contact person | POST | Contact Persons |
| Update a contact person | PUT | Contact Persons |
| Delete a contact person | DELETE | Contact Persons |
| List contact persons | GET | Contact Persons |
| Get a contact person | GET | Contact Persons |
| Mark as primary contact person | POST | Contact Persons |
| Create a Contact | POST | Contacts |
| List Contacts | GET | Contacts |
| Update a Contact | PUT | Contacts |
| Get Contact | GET | Contacts |
| Delete a Contact | DELETE | Contacts |
| Mark as Active | POST | Contacts |
| Mark as Inactive | POST | Contacts |
| Enable Portal Access | POST | Contacts |
| Enable Payment Reminders | POST | Contacts |
| Disable Payment Reminders | POST | Contacts |
| Email Statement | POST | Contacts |
| Get Statement Mail Content | GET | Contacts |
| Email Contact | POST | Contacts |
| List Comments | GET | Contacts |
| Add Additional Address | POST | Contacts |
| Get Contact Addresses | GET | Contacts |
| Edit Additional Address | PUT | Contacts |
| Delete Additional Address | DELETE | Contacts |
| List Refunds | GET | Contacts |
| Track 1099 | POST | Contacts |
| Untrack 1099 | POST | Contacts |
| Create a credit note | POST | Credit Notes |
| List all Credit Notes | GET | Credit Notes |
| Update a credit note | PUT | Credit Notes |
| Get a credit note | GET | Credit Notes |
| Delete a credit note | DELETE | Credit Notes |
| Email a credit note | POST | Credit Notes |
| Get email content | GET | Credit Notes |
| Void a Credit Note | POST | Credit Notes |
| Convert Credit Note to Draft. | POST | Credit Notes |
| Convert to Open | POST | Credit Notes |
| Submit a credit note for approval | POST | Credit Notes |
| Approve a credit note | POST | Credit Notes |
| Email history | GET | Credit Notes |
| Update billing address | PUT | Credit Notes |
| Update Shipping address | PUT | Credit Notes |
| List credit note template | GET | Credit Notes |
| Update a credit note template | PUT | Credit Notes |
| Credit to an invoice | POST | Credit Notes |
| List invoices credited | GET | Credit Notes |
| Delete invoices credited | DELETE | Credit Notes |
| Add a comment | POST | Credit Notes |
| List credit note comments & history | GET | Credit Notes |
| Delete a Comment | DELETE | Credit Notes |
| List credit note refunds | GET | Credit Notes |
| Refund credit note | POST | Credit Notes |
| List refunds of a credit note | GET | Credit Notes |
| Update credit note refund | PUT | Credit Notes |
| Get credit note refund | GET | Credit Notes |
| Delete credit note refund | DELETE | Credit Notes |
| Create a Currency | POST | Currency |
| List Currencies | GET | Currency |
| Update a Currency | PUT | Currency |
| Get a Currency | GET | Currency |
| Delete a currency | DELETE | Currency |
| Create an exchange rate | POST | Currency |
| List exchange rates | GET | Currency |
| Update an exchange rate | PUT | Currency |
| Get an exchange rate | GET | Currency |
| Delete an exchage rate | DELETE | Currency |
| Create Custom Modules | POST | Custom Modules |
| Bulk Update Custom Module | PUT | Custom Modules |
| Get Record List of a Custom Module | GET | Custom Modules |
| Delete Custom Modules | DELETE | Custom Modules |
| Update Custom Module | PUT | Custom Modules |
| Get Individual Record Details | GET | Custom Modules |
| Delete individual records | DELETE | Custom Modules |
| Create a payment | POST | Customer Payments |
| List Customer Payments | GET | Customer Payments |
| Update a payment | PUT | Customer Payments |
| Retrieve a payment | GET | Customer Payments |
| Delete a payment | DELETE | Customer Payments |
| Refund an excess customer payment | POST | Customer Payments |
| List refunds of a customer payment | GET | Customer Payments |
| Update a refund | PUT | Customer Payments |
| Details of a refund | GET | Customer Payments |
| Delete a Refund | DELETE | Customer Payments |
| Create an Estimate | POST | Estimates |
| List estimates | GET | Estimates |
| Update an Estimate | PUT | Estimates |
| Get an estimate | GET | Estimates |
| Delete an Estimate | DELETE | Estimates |
| Mark an estimate as sent | POST | Estimates |
| Mark an estimate as accepted | POST | Estimates |
| Mark an estimate as declined | POST | Estimates |
| Submit an estimate for approval | POST | Estimates |
| Approve an estimate. | POST | Estimates |
| Email an estimate | POST | Estimates |
| Get estimate email content | GET | Estimates |
| Email multiple estimates | POST | Estimates |
| Bulk export estimates | GET | Estimates |
| Bulk print estimates | GET | Estimates |
| Update billing address | PUT | Estimates |
| Update shipping address | PUT | Estimates |
| List estimate template | GET | Estimates |
| Update estimate template | PUT | Estimates |
| Add Comments | POST | Estimates |
| List estimate comments & history | GET | Estimates |
| Update comment | PUT | Estimates |
| Delete a comment | DELETE | Estimates |
| Create an Expense | POST | Expenses |
| List Expenses | GET | Expenses |
| Update an Expense | PUT | Expenses |
| Get an Expense | GET | Expenses |
| Delete an Expense | DELETE | Expenses |
| List expense History & Comments | GET | Expenses |
| Create an employee | POST | Expenses |
| List employees | GET | Expenses |
| Get an employee | GET | Expenses |
| Delete an employee | DELETE | Expenses |
| Add receipt to an expense | POST | Expenses |
| Get an expense receipt | GET | Expenses |
| Delete a receipt | DELETE | Expenses |
| Organization ID | GET | Introduction |
| Create an invoice | POST | Invoices |
| List invoices | GET | Invoices |
| Update an invoice | PUT | Invoices |
| Get an invoice | GET | Invoices |
| Delete an invoice | DELETE | Invoices |
| Mark an invoice as sent | POST | Invoices |
| Void an invoice | POST | Invoices |
| Mark as draft | POST | Invoices |
| Email invoices | POST | Invoices |
| Submit an invoice for approval | POST | Invoices |
| Approve an invoice | POST | Invoices |
| Email an invoice | POST | Invoices |
| Get invoice email content | GET | Invoices |
| Remind Customer | POST | Invoices |
| Get payment reminder mail content | GET | Invoices |
| Bulk invoice reminder | POST | Invoices |
| Bulk export Invoices | GET | Invoices |
| Bulk print invoices | GET | Invoices |
| Disable payment reminder | POST | Invoices |
| Enable payment reminder | POST | Invoices |
| Write off invoice | POST | Invoices |
| Cancel write off | POST | Invoices |
| Update billing address | PUT | Invoices |
| Update shipping address | PUT | Invoices |
| List invoice templates | GET | Invoices |
| Update invoice template | PUT | Invoices |
| List invoice payments | GET | Invoices |
| List credits applied | GET | Invoices |
| Apply credits | POST | Invoices |
| Delete a payment | DELETE | Invoices |
| Delete applied credit | DELETE | Invoices |
| Add attachment to an invoice | POST | Invoices |
| Update attachment preference | PUT | Invoices |
| Get an invoice attachment | GET | Invoices |
| Delete an attachment | DELETE | Invoices |
| Delete the expense receipt | DELETE | Invoices |
| Add comment | POST | Invoices |
| List invoice comments & history | GET | Invoices |
| Update comment | PUT | Invoices |
| Delete a comment | DELETE | Invoices |
| Create an Item | POST | Items |
| List items | GET | Items |
| Update an item | PUT | Items |
| Get an item | GET | Items |
| Delete an item | DELETE | Items |
| Mark as active | POST | Items |
| Mark as inactive | POST | Items |
| Create a journal | POST | Journals |
| Get journal list | GET | Journals |
| Update a journal | PUT | Journals |
| Get journal | GET | Journals |
| Delete a journal | DELETE | Journals |
| Mark a journal as published | POST | Journals |
| Add attachment to a journal | POST | Journals |
| Add comment | POST | Journals |
| Delete a comment | DELETE | Journals |
| Create opening balance | POST | Opening Balance |
| Update opening balance | PUT | Opening Balance |
| Get opening balance | GET | Opening Balance |
| Delete opening balance | DELETE | Opening Balance |
| Create a project | POST | Projects |
| List projects | GET | Projects |
| Update project | PUT | Projects |
| Get a project | GET | Projects |
| Delete project | DELETE | Projects |
| Activate project | POST | Projects |
| Inactivate a project | POST | Projects |
| Clone project | POST | Projects |
| Assign users | POST | Projects |
| List Users | GET | Projects |
| Invite user | POST | Projects |
| Update user | PUT | Projects |
| Get a User | GET | Projects |
| Delete user | DELETE | Projects |
| Post comment | POST | Projects |
| List comments | GET | Projects |
| Delete comment | DELETE | Projects |
| List invoices | GET | Projects |
| Create a purchase order | POST | Purchase Order |
| List purchase orders | GET | Purchase Order |
| Update a purchase order | PUT | Purchase Order |
| Get a purchase order | GET | Purchase Order |
| Delete purchase order | DELETE | Purchase Order |
| Mark a purchase order as open | POST | Purchase Order |
| Mark as billed | POST | Purchase Order |
| Cancel a purchase order | POST | Purchase Order |
| Submit a purchase order for approval | POST | Purchase Order |
| Approve a purchase order | POST | Purchase Order |
| Email a purchase order | POST | Purchase Order |
| Get purchase order email content | GET | Purchase Order |
| Update billing address | PUT | Purchase Order |
| List purchase order templates | GET | Purchase Order |
| Update purchase order template | PUT | Purchase Order |
| Add attachment to a purchase order | POST | Purchase Order |
| Update attachment preference | PUT | Purchase Order |
| Get a purchase order attachment | GET | Purchase Order |
| Delete an attachment | DELETE | Purchase Order |
| Add comment | POST | Purchase Order |
| List purchase order comments & history | GET | Purchase Order |
| Update comment | PUT | Purchase Order |
| Delete a comment | DELETE | Purchase Order |
| Create a recurring bill | POST | Recurring Bills |
| List recurring bills | GET | Recurring Bills |
| Update a recurring bill | PUT | Recurring Bills |
| Get a recurring bill | GET | Recurring Bills |
| Delete a recurring bill | DELETE | Recurring Bills |
| Stop a recurring bill | POST | Recurring Bills |
| Resume a recurring Bill | POST | Recurring Bills |
| List recurring bill history | GET | Recurring Bills |
| Create a recurring expense | POST | Recurring Expenses |
| List recurring expenses | GET | Recurring Expenses |
| Update a recurring expense | PUT | Recurring Expenses |
| Get a recurring expense | GET | Recurring Expenses |
| Delete a recurring expense | DELETE | Recurring Expenses |
| Stop a recurring expense | POST | Recurring Expenses |
| Resume a recurring Expense | POST | Recurring Expenses |
| List child expenses created | GET | Recurring Expenses |
| List recurring expense history | GET | Recurring Expenses |
| Create a Recurring Invoice | POST | Recurring Invoices |
| List all Recurring Invoice | GET | Recurring Invoices |
| Update Recurring Invoice | PUT | Recurring Invoices |
| Get a Recurring Invoice | GET | Recurring Invoices |
| Delete a Recurring Invoice | DELETE | Recurring Invoices |
| Stop a Recurring Invoice | POST | Recurring Invoices |
| Resume a Recurring Invoice | POST | Recurring Invoices |
| Update Recurring Invoice template | PUT | Recurring Invoices |
| List Recurring Invoice History | GET | Recurring Invoices |
| Create a retainerinvoice | POST | Retainer Invoices |
| List a retainer invoices | GET | Retainer Invoices |
| update a retainerinvoice | PUT | Retainer Invoices |
| Get a retainer invoice | GET | Retainer Invoices |
| Delete a retainer invoice | DELETE | Retainer Invoices |
| Mark a retainer invoice as sent | POST | Retainer Invoices |
| Update retainer invoice template | PUT | Retainer Invoices |
| Void a retainer invoice | POST | Retainer Invoices |
| Mark as draft | POST | Retainer Invoices |
| Submit a retainer invoice for approval | POST | Retainer Invoices |
| Approve a retainer invoice. | POST | Retainer Invoices |
| Email a retainer invoice | POST | Retainer Invoices |
| Get retainer invoice email content | GET | Retainer Invoices |
| Update billing address | PUT | Retainer Invoices |
| List retainer invoice templates | GET | Retainer Invoices |
| Add attachment to a retainer invoice | POST | Retainer Invoices |
| Get a retainer invoice attachment | GET | Retainer Invoices |
| Delete an attachment | DELETE | Retainer Invoices |
| Add comment | POST | Retainer Invoices |
| List retainer invoice comments & history | GET | Retainer Invoices |
| Update comment | PUT | Retainer Invoices |
| Delete a comment | DELETE | Retainer Invoices |
| Create a sales order | POST | Sales Order |
| List sales orders | GET | Sales Order |
| Update a sales order | PUT | Sales Order |
| Get a sales order | GET | Sales Order |
| Delete a sales order | DELETE | Sales Order |
| Mark a sales order as open | POST | Sales Order |
| Mark a sales order as void | POST | Sales Order |
| Update a sales order sub status | POST | Sales Order |
| Email a sales order | POST | Sales Order |
| Get sales order email content | GET | Sales Order |
| Submit a sales order for approval | POST | Sales Order |
| Approve a sales order. | POST | Sales Order |
| Bulk export sales orders | GET | Sales Order |
| Bulk print sales orders | GET | Sales Order |
| Update billing address | PUT | Sales Order |
| Update shipping address | PUT | Sales Order |
| List sales order templates | GET | Sales Order |
| Update sales order template | PUT | Sales Order |
| Add attachment to a sales order | POST | Sales Order |
| Update attachment preference | PUT | Sales Order |
| Get a sales order attachment | GET | Sales Order |
| Delete an attachment | DELETE | Sales Order |
| Add comment | POST | Sales Order |
| List sales order comments & history | GET | Sales Order |
| Update comment | PUT | Sales Order |
| Delete a comment | DELETE | Sales Order |
| Add a task | POST | Tasks |
| List tasks | GET | Tasks |
| Update a task | PUT | Tasks |
| Get a task | GET | Tasks |
| Delete a task added to a project | DELETE | Tasks |
| Create a tax | POST | Taxes |
| List taxes | GET | Taxes |
| Update a tax | PUT | Taxes |
| Get a tax | GET | Taxes |
| Delete a tax | DELETE | Taxes |
| Update a tax group | PUT | Taxes |
| Get a tax group | GET | Taxes |
| Delete a tax group | DELETE | Taxes |
| Create a tax group | POST | Taxes |
| Create a tax authority [US and CA Edition only] | POST | Taxes |
| List tax authorities [US Edition only] | GET | Taxes |
| Update a tax authority [US and CA Edition only] | PUT | Taxes |
| Get a tax authority [US and CA Edition only] | GET | Taxes |
| Delete a tax authority [US and CA Edition only] | DELETE | Taxes |
| Create a tax exemption [US Edition only] | POST | Taxes |
| List tax exemptions [US Edition only] | GET | Taxes |
| Update a tax exemption [US Edition only] | PUT | Taxes |
| Get a tax exemption [US Edition only] | GET | Taxes |
| Delete a tax exemption [US Edition only] | DELETE | Taxes |
| Log time entries | POST | Time Entries |
| List time entries | GET | Time Entries |
| Delete time entries | DELETE | Time Entries |
| Update time entry | PUT | Time Entries |
| Get a time entry | GET | Time Entries |
| Delete time entry | DELETE | Time Entries |
| Start timer | POST | Time Entries |
| Stop timer | POST | Time Entries |
| Get timer | GET | Time Entries |
| Create a user | POST | Users |
| List Users | GET | Users |
| Update a user | PUT | Users |
| Get a user | GET | Users |
| Delete a user | DELETE | Users |
| Get current user | GET | Users |
| Invite a user | POST | Users |
| Mark user as active | POST | Users |
| Mark user as inactive | POST | Users |
| Create a vendor credit | POST | Vendor Credits |
| List vendor credits | GET | Vendor Credits |
| Update vendor credit | PUT | Vendor Credits |
| Get vendor credit | GET | Vendor Credits |
| Delete vendor credit | DELETE | Vendor Credits |
| Convert to open | POST | Vendor Credits |
| Void vendor credit | POST | Vendor Credits |
| Submit a Vendor credit for approval | POST | Vendor Credits |
| Approve a Vendor credit | POST | Vendor Credits |
| Apply credits to a bill | POST | Vendor Credits |
| List bills credited | GET | Vendor Credits |
| Delete bills credited | DELETE | Vendor Credits |
| Refund a vendor credit | POST | Vendor Credits |
| List refunds of a vendor credit | GET | Vendor Credits |
| Update vendor credit refund | PUT | Vendor Credits |
| Get vendor credit refund | GET | Vendor Credits |
| Delete vendor credit refund | DELETE | Vendor Credits |
| List vendor credit refunds | GET | Vendor Credits |
| Add a comment | POST | Vendor Credits |
| List vendor credit comments & history | GET | Vendor Credits |
| Delete a comment | DELETE | Vendor Credits |
| Create a vendor payment | POST | Vendor Payments |
| List vendor payments | GET | Vendor Payments |
| Update a vendor payment | PUT | Vendor Payments |
| Get a vendor payment | GET | Vendor Payments |
| Delete a vendor payment | DELETE | Vendor Payments |
| Refund an excess vendor payment | POST | Vendor Payments |
| List refunds of a vendor payment | GET | Vendor Payments |
| Update a refund | PUT | Vendor Payments |
| Details of a refund | GET | Vendor Payments |
| Delete a refund | DELETE | Vendor Payments |
| Import a customer using the CRM account ID | POST | ZOHO CRM Integration |
| Import a customer using CRM contact ID | POST | ZOHO CRM Integration |
| Import a vendor using the CRM vendor ID | POST | ZOHO CRM Integration |

## API Definition Endpoints

You can fetch the complete API specification for this provider:

**New Format (OpenAPI spec):**
```bash
curl 'https://backend.lowcodeapi.com/zohobooks/openapi'
```

**Old Format (API definition):**
```bash
curl 'https://backend.lowcodeapi.com/zohobooks/definition'
```

## Response Format

All responses are wrapped in a `data` key:

```json
{
  "data": {
    // Actual response from provider (object or array)
  }
}
```