# Zoho Invoice Integration via LowCodeAPI

## Overview

Invoicing software

## Base Endpoint

```
https://api.lowcodeapi.com/zohoinvoice/
```

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [Zoho Invoice](https://www.zoho.com/invoice)
2. **Get your credentials** from [credential page](https://accounts.zoho.com/developerconsole)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

**Auth Type**: 

## API Categories

- **Contact Persons** - 6 endpoints
- **Contacts** - 22 endpoints
- **Credit Notes
** - 25 endpoints
- **Currency
** - 10 endpoints
- **Customer Payments** - 10 endpoints
- **Estimates** - 21 endpoints
- **Expense Category
** - 7 endpoints
- **Expenses
** - 10 endpoints
- **Invoices** - 38 endpoints
- **Items** - 7 endpoints
- **Price Lists** - 5 endpoints
- **Projects** - 18 endpoints
- **Recurring Expenses** - 8 endpoints
- **Recurring Invoices** - 9 endpoints
- **Retainer Invoices** - 20 endpoints
- **Tasks
** - 5 endpoints
- **Taxes
** - 17 endpoints
- **Time Entries
** - 9 endpoints
- **Users
** - 9 endpoints
- **ZOHO CRM Integration** - 1 endpoints
- **ZOHO CRM Integration
** - 1 endpoints

## Common Endpoints

### Category: Contact Persons

#### Create a contact person

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contactpersons`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contactpersons?api_token={api_token}
```

**Description**: Create a contact person for contact

**Request Body**:
```json
{
  "first_name": "<string>"
}
```

---

#### Update a contact person

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/contacts/contactpersons/contact_person_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contactpersons/contact_person_id?api_token={api_token}
```

**Description**: Update details of an existing contact person

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_person_id` | string | Yes | Contact Person Id |

**Request Body**:
```json
{
  "contact_id": "<string>",
  "first_name": "<string>"
}
```

---

#### Delete a contact person

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/contacts/contactpersons/contact_person_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contactpersons/contact_person_id?api_token={api_token}
```

**Description**: Delete an existing contact person

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_person_id` | string | Yes | Contact Person Id |

---

#### List contact persons

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/contactpersons`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/contactpersons?api_token={api_token}
```

**Description**: List all contacts with pagination.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

---

#### Get a contact person

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/contactpersons/contact_person_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/contactpersons/contact_person_id?api_token={api_token}
```

**Description**: Get the details of a contact person

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |
|`contact_person_id` | string | Yes | Contact Person Id |

---

#### Mark as primary contact person

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contactpersons/contact_person_id/primary`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contactpersons/contact_person_id/primary?api_token={api_token}
```

**Description**: Mark a contact person as primary for contact

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_person_id` | string | Yes | Contact Person Id |

---

### Category: Contacts

#### Create a Contact

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts?api_token={api_token}
```

**Description**: Create a contact with given information

**Request Body**:
```json
{
  "contact_name": "<string>"
}
```

---

#### List Contacts

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/contacts`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts?contact_name={contact_name}&company_name={company_name}&first_name={first_name}&first_last_name={first_last_name}&address={address}&email={email}&phone={phone}&filter_by={filter_by}&search_text={search_text}&sort_column={sort_column}&zcrm_contact_id={zcrm_contact_id}&zcrm_account_id={zcrm_account_id}&api_token={api_token}
```

**Description**: List all contacts with pagination.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_name` | string | Yes | Search contacts by contact name |
|`company_name` | string | No | Search contacts by company nam |
|`first_name` | string | No | Search contacts by first name of the contact person |
|`first_last_name` | string | No | Search contacts by last name of the contact person |
|`address` | string | No | Search contacts by any of the address fields |
|`email` | string | No | Search contacts by email id of the contact person |
|`phone` | string | No | Search contacts by phone number of the contact person |
|`filter_by` | string | No | Filter contacts by status |
|`search_text` | string | No | Search contacts by contact name or notes |
|`sort_column` | string | No | Sort contacts |
|`zcrm_contact_id` | string | No | CRM Contact ID for the contact |
|`zcrm_account_id` | string | No | CRM Account ID for the contact |

---

#### Update a Contact

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id?api_token={api_token}
```

**Description**: Update an existing contact

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

**Request Body**:
```json
{
  "contact_name": "<string>"
}
```

---

#### Get a Contact

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id?api_token={api_token}
```

**Description**: Get details of a Contact

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

---

#### Delete a Contact

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id?api_token={api_token}
```

**Description**: Delete an existing Contact


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

---

#### Mark as Active

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/active`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/active?api_token={api_token}
```

**Description**: Mark a contact as active


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

---

#### Mark as Inactive

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/inactive`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/inactive?api_token={api_token}
```

**Description**: Mark a contact as inactive


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

---

#### Enable Portal Access

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/portal/enable`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/portal/enable?api_token={api_token}
```

**Description**: Enable Portal Access for a Contact


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

**Request Body**:
```json
{
  "contact_persons": "<array>"
}
```

---

#### View All Client Reviews

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/clientreviews`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/clientreviews?contact_id={contact_id}&api_token={api_token}
```

**Description**: View the list of all client reviews for a particular contact


**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | No | Unique ID of a particular contact |

---

#### Details of a Particular Client Review

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/clientreviews/comment_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/clientreviews/comment_id?contact_id={contact_id}&api_token={api_token}
```

**Description**: View the details of a particular client review


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`comment_id` | string | Yes | Comment Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | No | Unique ID of a particular contact |

---

#### Reply a Client Review

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/clientreviews/comment_id/comment`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/clientreviews/comment_id/comment?api_token={api_token}
```

**Description**: Send a reply to a client's review


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`comment_id` | string | Yes | Comment Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Enable Payment Reminders

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/paymentreminder/enable`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/paymentreminder/enable?api_token={api_token}
```

**Description**: Enable automated payment reminders for a contact


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

---

#### Disable Payment Reminders

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/paymentreminder/disable`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/paymentreminder/disable?api_token={api_token}
```

**Description**: Disable automated payment reminders for a contact


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

---

#### Email Statement

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/statements/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/statements/email?api_token={api_token}
```

**Description**: Email statement to the contact

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

**Request Body**:
```json
{
  "to_mail_ids": "<array>",
  "subject": "<string>",
  "body": "<string>"
}
```

---

#### Get Statement Mail Content

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/contacts/contact_id/statements/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/contacts/contact_id/statements/email?start_date={start_date}&end_date={end_date}&api_token={api_token}
```

**Description**: Get the mail content of a contacts billing statement


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`contact_id` | string | Yes | Contact Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`start_date` | string | No | If start_date and end_date are not given, current month's statement will be sent to contact |
|`end_date` | string | No | End date for the statemen |

---

*Note: Showing 15 of 22 endpoints in this category.*

---

### Category: Credit Notes


#### Create a credit note

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/creditnotes`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes?api_token={api_token}
```

**Description**: Details of an existing creditnote

**Request Body**:
```json
{
  "customer_id": "<string>",
  "date": "<string>",
  "line_items": "<array>",
  "creditnote_number": "<string>"
}
```

---

#### List Credit Notes

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/creditnotes`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes?creditnote_number={creditnote_number}&date={date}&status={status}&total={total}&reference_number={reference_number}&customer_name={customer_name}&item_name={item_name}&customer_id={customer_id}&item_description={item_description}&filter_by={filter_by}&search_text={search_text}&sort_column={sort_column}&api_token={api_token}
```

**Description**: List all the Credit Notes

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_number` | string | No | Unique number generated |
|`date` | string | No | The date on which credit note is raised |
|`status` | string | No | Status of the credit note |
|`total` | string | No | Total credits raised in this credit note |
|`reference_number` | string | No | Reference number generated for the payment |
|`customer_name` | string | No | Name of the customer to whom the credit note is raised |
|`item_name` | string | No | Search credit notes by item name |
|`customer_id` | string | No | Customer ID of the customer for whom the credit note is raised |
|`item_description` | string | No | description for the item |
|`filter_by` | string | No | Filter credit notes by status |
|`search_text` | string | No |  Search credit notes by credit note number or customer name or credit note reference number |
|`sort_column` | string | No | Sort credit notes by following columns |

---

#### Update a credit note

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id?api_token={api_token}
```

**Description**: Update Details of an existing creditnote

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

**Request Body**:
```json
{
  "customer_id": "<string>",
  "date": "<string>",
  "line_items": "<array>",
  "creditnote_number": "<string>"
}
```

---

#### Get a credit note

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id?print={print}&accept={accept}&api_token={api_token}
```

**Description**: Details of an existing creditnote

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`print` | string | No | Export credit note pdf with default print option |
|`accept` | string | No | You can get credit note details as json/pdf/html |

---

#### Delete a credit note

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id?api_token={api_token}
```

**Description**: Delete an existing credit note

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

---

#### Email a credit note

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/email?api_token={api_token}
```

**Description**: Email a credit note

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

**Request Body**:
```json
{
  "to_mail_ids": "<array>",
  "subject": "<string>",
  "body": "<string>"
}
```

---

#### Void a credit note

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/void`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/void?api_token={api_token}
```

**Description**: To mark a credit note as invalid/nullify it content

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

---

#### Open a voided credit note

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/converttoopen`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/converttoopen?api_token={api_token}
```

**Description**: Convert a voided credit note to open

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

---

#### Email history

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/emailhistory`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/emailhistory?api_token={api_token}
```

**Description**: Get email history of a credit code

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

---

#### Update billing address

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/address/billing`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/address/billing?api_token={api_token}
```

**Description**: Updates the billing address for an existing credit note alone

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Update Shipping address

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/address/shipping`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/address/shipping?api_token={api_token}
```

**Description**: Updates the shipping address for an existing credit note alone

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List credit note templates

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/templates`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/templates?api_token={api_token}
```

**Description**: Get all credit note pdf templates

---

#### Update a credit note template

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/templates/template_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/templates/template_id?api_token={api_token}
```

**Description**: Update the pdf template associated with the credit note

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |
|`template_id` | string | Yes | Template Id |

---

#### Credit to an invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/invoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/invoices?api_token={api_token}
```

**Description**: Apply credit note to existing invoices

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List invoices credited

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/creditnotes/creditnote_id/invoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/creditnotes/creditnote_id/invoices?api_token={api_token}
```

**Description**: List invoices to which the credit note is applied

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`creditnote_id` | string | Yes | Creditnote Id |

---

*Note: Showing 15 of 25 endpoints in this category.*

---

### Category: Currency


#### Create a Currency

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies?api_token={api_token}
```

**Description**: Create a currency for transaction

**Request Body**:
```json
{
  "currency_code": "<string>",
  "currency_symbol": "<string>"
}
```

---

#### List Currencies

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies?filter_by={filter_by}&api_token={api_token}
```

**Description**: Get list of currencies configured

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`filter_by` | string | No | Filter currencies excluding base currency |

---

#### Update a Currency

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id?api_token={api_token}
```

**Description**: Update the details of a currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |

**Request Body**:
```json
{
  "currency_code": "<string>",
  "currency_symbol": "<string>"
}
```

---

#### Get a Currency

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id?api_token={api_token}
```

**Description**: Get the details of a currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |

---

#### Delete a currency

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id?api_token={api_token}
```

**Description**: Delete a currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |

---

#### Create an exchange rate

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id/exchangerates`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id/exchangerates?api_token={api_token}
```

**Description**: Create an exchange rate for the specified currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List exchange rates

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id/exchangerates`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id/exchangerates?from_date={from_date}&is_current_date={is_current_date}&sort_column={sort_column}&api_token={api_token}
```

**Description**: List of exchange rates configured for the currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`from_date` | string | No | Returns the exchange rate details |
|`is_current_date` | string | No | To return the exchange rate only if available for current date |
|`sort_column` | string | No | Sorts the exchange rate according to this column |

---

#### Update an exchange rate

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id/exchangerates/exchange_rate_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id/exchangerates/exchange_rate_id?api_token={api_token}
```

**Description**: Update the details of exchange rate for a currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |
|`exchange_rate_id` | string | Yes | Exchange Rate Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get an exchange rate.

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id/exchangerates/exchange_rate_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id/exchangerates/exchange_rate_id?api_token={api_token}
```

**Description**: Get the details of an exchange rate that has been asscoiated to the currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |
|`exchange_rate_id` | string | Yes | Exchange Rate Id |

---

#### Delete an exchage rate

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/settings/currencies/currency_id/exchangerates/exchange_rate_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/currencies/currency_id/exchangerates/exchange_rate_id?api_token={api_token}
```

**Description**: Delete an exchange rate for the specified currency

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`currency_id` | string | Yes | Currency Id |
|`exchange_rate_id` | string | Yes | Exchange Rate Id |

---

### Category: Customer Payments

#### Create a payment

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/customerpayments`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments?api_token={api_token}
```

**Description**: Create a new payment

**Request Body**:
```json
{
  "customer_id": "<string>",
  "payment_mode": "<string>",
  "amount": "<number>",
  "date": "<string>",
  "invoices": "<array>"
}
```

---

#### List Customer Payments

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/customerpayments`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments?customer_name={customer_name}&reference_number={reference_number}&date={date}&amount={amount}&notes={notes}&payment_mode={payment_mode}&filter_by={filter_by}&sort_column={sort_column}&search_text={search_text}&api_token={api_token}
```

**Description**: List all the payments made by your customer

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`customer_name` | string | No | Search payments by customer name |
|`reference_number` | string | No | Search payments by reference numbe |
|`date` | string | No | Date on which payment is made |
|`amount` | string | No | Search payments by payment amount |
|`notes` | string | No | Search payments by customer notes |
|`payment_mode` | string | No | Search payments by payment mode |
|`filter_by` | string | No | Filter payments by mode |
|`sort_column` | string | No | Sort based on selected column |
|`search_text` | string | No | Search payments by reference number or customer name or payment description |

---

#### Update a payment

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/payment_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/payment_id?api_token={api_token}
```

**Description**: Update an existing payment information

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`payment_id` | string | Yes | Payment Id |

**Request Body**:
```json
{
  "customer_id": "<string>",
  "payment_mode": "<string>",
  "amount": "<number>",
  "date": "<string>",
  "invoices": "<array>"
}
```

---

#### Retrieve a payment

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/payment_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/payment_id?api_token={api_token}
```

**Description**: Details of an existing payment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`payment_id` | string | Yes | Payment Id |

---

#### Delete a payment

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/payment_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/payment_id?api_token={api_token}
```

**Description**: Delete an existing payment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`payment_id` | string | Yes | Payment Id |

---

#### Refund an excess customer payment

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/customer_payment_id/refunds`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/customer_payment_id/refunds?api_token={api_token}
```

**Description**: Refund the excess amount paid by the customer

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`customer_payment_id` | string | Yes | Customer Payment Id |

**Request Body**:
```json
{
  "date": "<string>",
  "amount": "<number>"
}
```

---

#### List refunds of a customer payment

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/customer_payment_id/refunds`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/customer_payment_id/refunds?api_token={api_token}
```

**Description**: List all the refunds pertaining to an existing customer payment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`customer_payment_id` | string | Yes | Customer Payment Id |

---

#### Update a refund

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/customer_payment_id/refunds/refund_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/customer_payment_id/refunds/refund_id?api_token={api_token}
```

**Description**: Update the refunded transaction

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`customer_payment_id` | string | Yes | Customer Payment Id |
|`refund_id` | string | Yes | Refund Id |

**Request Body**:
```json
{
  "date": "<string>",
  "amount": "<number>"
}
```

---

#### Details of a refund

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/customer_payment_id/refunds/refund_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/customer_payment_id/refunds/refund_id?api_token={api_token}
```

**Description**: Obtain details of a particular refund of a customer payment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`customer_payment_id` | string | Yes | Customer Payment Id |
|`refund_id` | string | Yes | Refund Id |

---

#### Delete a Refund

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/customerpayments/customer_payment_id/refunds/refund_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/customerpayments/customer_payment_id/refunds/refund_id?api_token={api_token}
```

**Description**: Delete refund pertaining to an existing customer payment

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`customer_payment_id` | string | Yes | Customer Payment Id |
|`refund_id` | string | Yes | Refund Id |

---

### Category: Estimates

#### Create an Estimate

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/estimates`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates?api_token={api_token}
```

**Description**: Create an estimate for your customer

**Request Body**:
```json
{
  "customer_id": "<string>",
  "line_items": "<array>"
}
```

---

#### List estimates

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/estimates`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates?zcrm_potential_id={zcrm_potential_id}&api_token={api_token}
```

**Description**: List all estimates with pagination.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`zcrm_potential_id` | string | No | Potential ID of a Deal in CRM |

---

#### Update an Estimate

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id?api_token={api_token}
```

**Description**: Update an existing estimate. To delete a line item just remove it from the line_items list

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

**Request Body**:
```json
{
  "customer_id": "<string>",
  "line_items": "<array>"
}
```

---

#### Get an estimate

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id?print={print}&accept={accept}&api_token={api_token}
```

**Description**: Get the details of an estimate

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`print` | string | No | Print the exported pdf |
|`accept` | string | No | Get the details of a particular estimate in formats such as json/ pdf/ html |

---

#### Delete an Estimate

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id?api_token={api_token}
```

**Description**: Delete an existing estimate

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

---

#### Mark an estimate as sent

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id/status/sent`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id/status/sent?api_token={api_token}
```

**Description**: Mark a draft estimate as sent

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

---

#### Mark an estimate as accepted

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id/status/accepted`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id/status/accepted?api_token={api_token}
```

**Description**: Mark a sent estimate as accepted if the customer has accepted it

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

---

#### Mark an estimate as declined

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id/status/declined`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id/status/declined?api_token={api_token}
```

**Description**: Mark a sent estimate as declined if the customer has rejected it

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

---

#### Email an estimate

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id/email?api_token={api_token}
```

**Description**: Email an estimate to the customer. Input json string is not mandatory. If input json string is empty, mail will be send with default mail content.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

**Request Body**:
```json
{
  "to_mail_ids": "<array>"
}
```

---

#### Get estimate email content

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id/email?email_template_id={email_template_id}&api_token={api_token}
```

**Description**: Get the email content of an estimate

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`email_template_id` | string | Yes | Get the email content based on a specific email template |

---

#### Email multiple estimates

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/estimates/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/email?api_token={api_token}
```

**Description**: Send estimates to your customers by email. Maximum of 10 estimates can be sent at once

**Request Body**:
```json
{
  "estimate_ids": "<string>"
}
```

---

#### Bulk export estimates

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/estimates/pdf`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/pdf?estimate_ids={estimate_ids}&api_token={api_token}
```

**Description**: Maximum of 25 estimates can be exported in a single pdf

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_ids` | string | Yes | Comma separated estimate ids which are to be emailed |

---

#### Bulk print estimates

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/estimates/print`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/print?estimate_ids={estimate_ids}&api_token={api_token}
```

**Description**: Export estimates as pdf and print them. Maximum of 25 estimates can be printed

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_ids` | string | Yes | Comma separated estimate ids which are to be emailed |

---

#### Update billing address

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id/address/billing`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id/address/billing?api_token={api_token}
```

**Description**: Updates the billing address for this estimate alone

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Update shipping address

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/estimates/estimate_id/address/shipping`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/estimates/estimate_id/address/shipping?api_token={api_token}
```

**Description**: Updates the shipping address for this estimate alone

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`estimate_id` | string | Yes | Estimate Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

*Note: Showing 15 of 21 endpoints in this category.*

---

### Category: Expense Category


#### Create an expense category

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/expensecategories`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expensecategories?api_token={api_token}
```

**Description**: Create an expense category

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List expense categories

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/expensecategories`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expensecategories?filter_by={filter_by}&sort_column={sort_column}&api_token={api_token}
```

**Description**: List expense categories along with pagination

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`filter_by` | string | No | Filter expense categories by status |
|`sort_column` | string | No | Sort expenses |

---

#### Update an expense category

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/expensecategories/category_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expensecategories/category_id?api_token={api_token}
```

**Description**: Update an expense category

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`category_id` | string | Yes | Category Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get an expense category

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/expensecategories/category_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expensecategories/category_id?api_token={api_token}
```

**Description**: Get the details of an expense category

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`category_id` | string | Yes | Category Id |

---

#### Delete an expense category

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/expensecategories/category_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expensecategories/category_id?api_token={api_token}
```

**Description**: Delete an existing expense category

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`category_id` | string | Yes | Category Id |

---

#### Mark an expense category as active

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/expensecategories/category_id/active`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expensecategories/category_id/active?api_token={api_token}
```

**Description**: Update an expense category status as active

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`category_id` | string | Yes | Category Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Mark an expense category as inactive

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/expensecategories/category_id/inactive`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expensecategories/category_id/inactive?api_token={api_token}
```

**Description**: Update an expense category status as inactive

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`category_id` | string | Yes | Category Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

### Category: Expenses


#### Create an Expense

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/expenses`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expenses?api_token={api_token}
```

**Description**: Create billable or non-billable expense

**Request Body**:
```json
{
  "amount": "<number>",
  "reference_number": "<string>"
}
```

---

#### List Expenses

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/expenses`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expenses?description={description}&reference_number={reference_number}&date={date}&status={status}&amount={amount}&account_name={account_name}&customer_name={customer_name}&search_text={search_text}&sort_column={sort_column}&filter_by={filter_by}&api_token={api_token}
```

**Description**: List all the Expenses with pagination

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`description` | string | No | Search expenses by description |
|`reference_number` | string | No | Search expenses by reference number |
|`date` | string | No | Search expenses by expense date |
|`status` | string | No | Search expenses by expense status |
|`amount` | string | No | Search expenses by amount |
|`account_name` | string | No | Search expenses by expense account name |
|`customer_name` | string | No | Search expenses by customer name |
|`search_text` | string | No | Search expenses by account name or description |
|`sort_column` | string | No | Sort expenses |
|`filter_by` | string | No | Filter expenses by expense status |

---

#### Update an Expense

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/expenses/expense_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expenses/expense_id?api_token={api_token}
```

**Description**: Update an existing Expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`expense_id` | string | Yes | Expense Id |

**Request Body**:
```json
{
  "amount": "<number>",
  "reference_number": "<string>"
}
```

---

#### Get an Expense

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/invoice/v3/expenses/expense_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoice/v3/expenses/expense_id?api_token={api_token}
```

**Description**: Get the details of the Expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`expense_id` | string | Yes | Expense Id |

---

#### Delete an Expense

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/expenses/expense_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expenses/expense_id?api_token={api_token}
```

**Description**: Delete an existing expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`expense_id` | string | Yes | Expense Id |

---

#### List expense History & Comments

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/expenses/expense_id/comments`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/expenses/expense_id/comments?api_token={api_token}
```

**Description**: Get history and comments of an expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`expense_id` | string | Yes | Expense Id |

---

#### Create an employee

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/employees`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/employees?api_token={api_token}
```

**Description**: Create an employee for an expense

**Request Body**:
```json
{
  "name": "<string>",
  "email": "<string>"
}
```

---

#### List employees

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/employees`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/employees?api_token={api_token}
```

**Description**: List employees with pagination

---

#### Get an employee

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/employees/employee_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/employees/employee_id?api_token={api_token}
```

**Description**: Get the details of the employee

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`employee_id` | string | Yes | Employee Id |

---

#### Delete an employee

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/employees/employee_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/employees/employee_id?api_token={api_token}
```

**Description**: Delete an existing employee

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`employee_id` | string | Yes | Employee Id |

---

### Category: Invoices

#### Create an invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices?api_token={api_token}
```

**Description**: Create an invoice for your customer

**Request Body**:
```json
{
  "customer_id": "<string>",
  "line_items": "<array>"
}
```

---

#### List invoices

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/invoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices?api_token={api_token}
```

**Description**: List all invoices with pagination

---

#### Update an invoice

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id?api_token={api_token}
```

**Description**: Update an existing invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

**Request Body**:
```json
{
  "customer_id": "<string>",
  "line_items": "<array>"
}
```

---

#### Get an invoice

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id?print={print}&accept={accept}&api_token={api_token}
```

**Description**: Get the details of an invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`print` | string | No | Print the exported pdf |
|`accept` | string | No | Get the details of a particular invoice |

---

#### Delete an invoice

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id?api_token={api_token}
```

**Description**: Delete an existing invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

---

#### Mark an invoice as sent

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id/status/sent`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id/status/sent?api_token={api_token}
```

**Description**: Mark a draft invoice as sent

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

---

#### Void an invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id/status/void`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id/status/void?api_token={api_token}
```

**Description**: Mark an invoice status as void

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

---

#### Mark as draft

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id/status/draft`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id/status/draft?api_token={api_token}
```

**Description**: Mark a voided invoice as draft

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

---

#### Email an invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id/email?api_token={api_token}
```

**Description**: Email an invoice to the customer

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

**Request Body**:
```json
{
  "to_mail_ids": "<array>"
}
```

---

#### Get invoice email content

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id/email?email_template_id={email_template_id}&api_token={api_token}
```

**Description**: Get the email content of an invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`email_template_id` | string | No | Get the email content based on a specific email template |

---

#### Email invoices

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/email?api_token={api_token}
```

**Description**: Send invoices to your customers by email

**Request Body**:
```json
{
  "contacts": "<array>",
  "invoice_ids": "<string>"
}
```

---

#### Remind Customer

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id/paymentreminder`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id/paymentreminder?api_token={api_token}
```

**Description**: Remind your customer about an unpaid invoice by email

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

**Request Body**:
```json
{
  "cc_mail_ids": "<array>"
}
```

---

#### Get payment reminder mail content

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/invoices/invoice_id/paymentreminder`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/invoice_id/paymentreminder?api_token={api_token}
```

**Description**: Get the mail content of the payment reminder

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_id` | string | Yes | Invoice Id |

---

#### Bulk invoice reminder

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/invoices/paymentreminder`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/paymentreminder?api_token={api_token}
```

**Description**: Remind your customer about an unpaid invoices by email

**Request Body**:
```json
{
  "invoice_ids": "<string>"
}
```

---

#### Bulk export Invoices

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/invoices/pdf`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/invoices/pdf?invoice_ids={invoice_ids}&api_token={api_token}
```

**Description**: Maximum of 25 invoices can be exported in a single pdf

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`invoice_ids` | string | Yes | Comma separated invoice ids which are to be export as pdf |

---

*Note: Showing 15 of 38 endpoints in this category.*

---

### Category: Items

#### Create an Item

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/items`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/items?api_token={api_token}
```

**Description**: Create a new item

**Request Body**:
```json
{
  "name": "<string>",
  "rate": "<number>"
}
```

---

#### List Contacts

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/items`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/items?name={name}&description={description}&rate={rate}&tax_id={tax_id}&filter_by={filter_by}&search_text={search_text}&sort_column={sort_column}&api_token={api_token}
```

**Description**: Get the list of all active items with pagination

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`name` | string | No | Name of the item |
|`description` | string | No | Search items by description |
|`rate` | number | No | Search items by rate |
|`tax_id` | string | No | Search items by tax id |
|`filter_by` | string | No | Filter items by status |
|`search_text` | number | No | Search items by name or description |
|`sort_column` | string | No | Sort items |

---

#### Update an Item

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/items/item_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/items/item_id?api_token={api_token}
```

**Description**: Update the details of an existing item

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`item_id` | string | Yes | Item Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Retrieve an item

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/items/item_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/items/item_id?api_token={api_token}
```

**Description**: Fetch details of an existing item

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`item_id` | string | Yes | Item Id |

---

#### Delete an item

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/items/item_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/items/item_id?api_token={api_token}
```

**Description**: Delete an existing item. Items that are part of a transaction cannot be deleted

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`item_id` | string | Yes | Item Id |

---

#### Mark as active

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/items/item_id/active`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/items/item_id/active?api_token={api_token}
```

**Description**: Mark an inactive item as active

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`item_id` | string | Yes | Item Id |

---

#### Mark as inactive

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/items/item_id/inactive`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/items/item_id/inactive?api_token={api_token}
```

**Description**: Mark an active item as inactive

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`item_id` | string | Yes | Item Id |

---

### Category: Price Lists

#### Create a Price List

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/pricebooks`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/pricebooks?api_token={api_token}
```

**Description**: Create a new Price List.


**Request Body**:
```json
{
  "name": "<string>",
  "pricebook_type": "<string>",
  "is_increase": "<boolean>",
  "rounding_type": "<string>"
}
```

---

#### List of all the Price Lists

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/pricebooks`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/pricebooks?api_token={api_token}
```

**Description**: List of all the Price Lists

---

#### Update a Price List

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/pricebooks/pricebook_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/pricebooks/pricebook_id?api_token={api_token}
```

**Description**: Update an existing Price List

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`pricebook_id` | string | Yes | Pricebook Id |

**Request Body**:
```json
{
  "name": "<string>",
  "pricebook_type": "<string>",
  "is_increase": "<boolean>",
  "rounding_type": "<string>"
}
```

---

#### Retrieve a Price list

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/pricebooks/pricebook_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/pricebooks/pricebook_id?api_token={api_token}
```

**Description**: Fetch the details of an existing Price List.

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`pricebook_id` | string | Yes | Pricebook Id |

---

#### Delete a Price List

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/pricebooks/pricebook_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/pricebooks/pricebook_id?api_token={api_token}
```

**Description**: Delete a Price List


**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`pricebook_id` | string | Yes | Pricebook Id |

---

### Category: Projects

#### Create a project

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects?api_token={api_token}
```

**Description**: Create a new project

**Request Body**:
```json
{
  "project_name": "<string>",
  "customer_id": "<string>",
  "billing_type": "<string>",
  "user_id": "<string>"
}
```

---

#### List projects

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects?filter_by={filter_by}&customer_id={customer_id}&sort_column={sort_column}&api_token={api_token}
```

**Description**: List all projects with pagination

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`filter_by` | string | No | Filter projects by any status |
|`customer_id` | string | No | Unique ID of the customer |
|`sort_column` | string | No | Sort projects |

---

#### Update a project

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id?api_token={api_token}
```

**Description**: Update details of a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

**Request Body**:
```json
{
  "project_name": "<string>",
  "customer_id": "<string>",
  "billing_type": "<string>",
  "user_id": "<string>"
}
```

---

#### Get a project

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id?api_token={api_token}
```

**Description**: Get the details of a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

---

#### Delete project

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id?api_token={api_token}
```

**Description**: Deleting a existing project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

---

#### Activate a project

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/active`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/active?api_token={api_token}
```

**Description**: Mark project as active

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

---

#### Deactivate a project

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/inactive`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/inactive?api_token={api_token}
```

**Description**: Marking a project as inactive

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

---

#### Clone a project

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/clone`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/clone?api_token={api_token}
```

**Description**: Cloning the settings of an existing project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

**Request Body**:
```json
{
  "project_name": "<string>"
}
```

---

#### Assign users

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/users`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/users?api_token={api_token}
```

**Description**: Assign a users to a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

**Request Body**:
```json
{
  "user_id": "<string>"
}
```

---

#### List Users

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/users`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/users?api_token={api_token}
```

**Description**: Get list of all users associated to a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

---

#### Invite user

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/users/invite`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/users/invite?api_token={api_token}
```

**Description**: Invite a user to the project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

**Request Body**:
```json
{
  "user_name": "<string>",
  "email": "<string>"
}
```

---

#### Update user

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/users/user_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/users/user_id?api_token={api_token}
```

**Description**: Update details of a user

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |
|`user_id` | string | Yes | User Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get a User

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/users/user_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/users/user_id?api_token={api_token}
```

**Description**: Get details of a user in project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |
|`user_id` | string | Yes | User Id |

---

#### Delete user

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/users/user_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/users/user_id?api_token={api_token}
```

**Description**: Remove user from a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |
|`user_id` | string | Yes | User Id |

---

#### Post comment

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/comments`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/comments?api_token={api_token}
```

**Description**: Post comment to a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

**Request Body**:
```json
{
  "description": "<string>"
}
```

---

*Note: Showing 15 of 18 endpoints in this category.*

---

### Category: Recurring Expenses

#### Create a recurring expense

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses?api_token={api_token}
```

**Description**: Create a new recurring expense

**Request Body**:
```json
{
  "account_id": "<string>",
  "recurrence_name": "<string>",
  "start_date": "<string>",
  "gst_no": "<string>",
  "recurrence_frequency": "<string>",
  "repeat_every": "<string>",
  "amount": "<number>"
}
```

---

#### List recurring expenses

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses?recurrence_name={recurrence_name}&last_created_date={last_created_date}&next_expense_date={next_expense_date}&status={status}&account_id={account_id}&account_name={account_name}&amount={amount}&customer_name={customer_name}&customer_id={customer_id}&paid_through_account_id={paid_through_account_id}&filter_by={filter_by}&search_text={search_text}&sort_column={sort_column}&api_token={api_token}
```

**Description**: List all the Expenses with pagination

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurrence_name` | string | No | Search recurring expenses by recurring expense name |
|`last_created_date` | string | No | Search recurring expenses by date |
|`next_expense_date` | string | No | Search recurring expenses by date on which next expense |
|`status` | string | No | Search expenses by expense status |
|`account_id` | string | No | Unique ID of an account |
|`account_name` | string | No | Search expenses by expense account name |
|`amount` | string | No | Search expenses by amount |
|`customer_name` | string | No | Search expenses by customer name |
|`customer_id` | string | No | Search expenses by customer id |
|`paid_through_account_id` | string | No | Search expenses by paid through account id |
|`filter_by` | string | No | Filter expenses by expense status |
|`search_text` | string | No | Search expenses by account name or description |
|`sort_column` | string | No | Sort expenses |

---

#### Update a recurring expense

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses/recurring_expense_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses/recurring_expense_id?api_token={api_token}
```

**Description**: Update an existing recurring expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_expense_id` | string | Yes | Recurring Expense Id |

**Request Body**:
```json
{
  "account_id": "<string>",
  "recurrence_name": "<string>",
  "start_date": "<string>",
  "gst_no": "<string>",
  "recurrence_frequency": "<string>",
  "repeat_every": "<string>",
  "amount": "<number>"
}
```

---

#### Get a recurring expense

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses/recurring_expense_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses/recurring_expense_id?api_token={api_token}
```

**Description**: Get the details of the recurring expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_expense_id` | string | Yes | Recurring Expense Id |

---

#### Delete a recurring expense

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses/recurring_expense_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses/recurring_expense_id?api_token={api_token}
```

**Description**: Deleting an existing recurring expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_expense_id` | string | Yes | Recurring Expense Id |

---

#### Resume a recurring Expense

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses/recurring_expense_id/status/stop`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses/recurring_expense_id/status/stop?api_token={api_token}
```

**Description**: Resume a stopped recurring expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_expense_id` | string | Yes | Recurring Expense Id |

---

#### List child expenses created

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses/recurring_expense_id/expenses`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses/recurring_expense_id/expenses?sort_column={sort_column}&api_token={api_token}
```

**Description**: List child expenses created from recurring expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_expense_id` | string | Yes | Recurring Expense Id |

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`sort_column` | string | No | Sort expenses |

---

#### List recurring expense history

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/recurringexpenses/recurring_expense_id/comments`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringexpenses/recurring_expense_id/comments?api_token={api_token}
```

**Description**: Get history and comments of a recurring expense

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_expense_id` | string | Yes | Recurring Expense Id |

---

### Category: Recurring Invoices

#### Create a Recurring Invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices?api_token={api_token}
```

**Description**: Creating a new recurring invoice

**Request Body**:
```json
{
  "recurrence_name": "<string>",
  "customer_id": "<string>",
  "recurrence_frequency": "<string>"
}
```

---

#### List Recurring Invoice

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices?api_token={api_token}
```

**Description**: List the details of all recurring invoice

---

#### Update Recurring Invoice

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices/recurring_invoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices/recurring_invoice_id?api_token={api_token}
```

**Description**: Update the recurring invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_invoice_id` | string | Yes | Recurring Invoice Id |

**Request Body**:
```json
{
  "recurrence_name": "<string>",
  "customer_id": "<string>",
  "recurrence_frequency": "<string>"
}
```

---

#### Get a Recurring Invoice

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices/recurring_invoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices/recurring_invoice_id?api_token={api_token}
```

**Description**: Get the details of a recurring invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_invoice_id` | string | Yes | Recurring Invoice Id |

---

#### Delete a Recurring Invoice

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices/recurring_invoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices/recurring_invoice_id?api_token={api_token}
```

**Description**: Delete an existing recurring invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_invoice_id` | string | Yes | Recurring Invoice Id |

---

#### Stop a Recurring Invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices/recurring_invoice_id/status/stop`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices/recurring_invoice_id/status/stop?api_token={api_token}
```

**Description**: Stop an active recurring invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_invoice_id` | string | Yes | Recurring Invoice Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Resume a Recurring Invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices/recurring_invoice_id/status/resume`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices/recurring_invoice_id/status/resume?api_token={api_token}
```

**Description**: Resume a stopped recurring invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_invoice_id` | string | Yes | Recurring Invoice Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Update Recurring Invoice template

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices/recurring_invoice_id/templates/template_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices/recurring_invoice_id/templates/template_id?api_token={api_token}
```

**Description**: Update the pdf template associated with the recurring invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_invoice_id` | string | Yes | Recurring Invoice Id |
|`template_id` | string | Yes | Template Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List Recurring Invoice History

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/recurringinvoices/recurring_invoice_id/comments`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/recurringinvoices/recurring_invoice_id/comments?api_token={api_token}
```

**Description**: Get the complete history and comments of a recurring invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`recurring_invoice_id` | string | Yes | Recurring Invoice Id |

---

### Category: Retainer Invoices

#### Create a retainer invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices?api_token={api_token}
```

**Description**: Create a retainer invoice for your customer

**Request Body**:
```json
{
  "customer_id": "<string>",
  "line_items": "<array>"
}
```

---

#### List Retainer invoices

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices?print={print}&sort_column={sort_column}&filter_by={filter_by}&sort_order={sort_order}&page={page}&api_token={api_token}
```

**Description**: List all retainer invoices with pagination

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`print` | string | No | Print the exported pdf |
|`sort_column` | string | No | Sort retainer invoices |
|`filter_by` | string | No | Filter invoices by any status or payment expected date |
|`sort_order` | string | No | The order for sorting |
|`page` | string | No | Number of pages |

---

#### Update a retainer invoice

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id?api_token={api_token}
```

**Description**: Update an existing invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

**Request Body**:
```json
{
  "customer_id": "<string>",
  "line_items": "<array>"
}
```

---

#### Get a retainer invoice

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id?api_token={api_token}
```

**Description**: Get the details of a retainer invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

---

#### Delete a retainer invoice

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id?api_token={api_token}
```

**Description**: Delete an existing retainer invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

---

#### Mark a retainer invoice as sent

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/status/sent`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/status/sent?api_token={api_token}
```

**Description**: Mark a draft retainer invoice as sent

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

---

#### Update retainer invoice template

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/templates/template_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/templates/template_id?api_token={api_token}
```

**Description**: Update the pdf template associated with the retainer invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |
|`template_id` | string | Yes | Template Id |

---

#### Void a retainer invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/status/void`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/status/void?api_token={api_token}
```

**Description**: Mark an invoice status as void

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

---

#### Mark as draft

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/reatinerinvoice_id/status/draft`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/reatinerinvoice_id/status/draft?api_token={api_token}
```

**Description**: Mark a voided retainer invoice as draft

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

---

#### Email a retainer invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/email?api_token={api_token}
```

**Description**: Email a retainer invoice to the customer

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

**Request Body**:
```json
{
  "to_mail_ids": "<array>"
}
```

---

#### Get retainer invoice email content

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/email`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/email?api_token={api_token}
```

**Description**: Get the email content of a retainer invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

---

#### Update billing address

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/address/billing`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/address/billing?api_token={api_token}
```

**Description**: Updates the billing address for this retainer invoice alone

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List retainer invoice templates

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/templates`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/templates?api_token={api_token}
```

**Description**: Get all retainer invoice pdf templates

---

#### Add attachment to a retainer invoice

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/attachment`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/attachment?api_token={api_token}
```

**Description**: Attach a file to an invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get a retainer invoice attachment

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/retainerinvoices/retainerinvoice_id/attachment`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/retainerinvoices/retainerinvoice_id/attachment?api_token={api_token}
```

**Description**: Returns the file attached to the retainer invoice

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`retainerinvoice_id` | string | Yes | Retainerinvoice Id |

---

*Note: Showing 15 of 20 endpoints in this category.*

---

### Category: Tasks


#### Add a task

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/tasks`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/tasks?api_token={api_token}
```

**Description**: Adding a new task to a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

**Request Body**:
```json
{
  "task_name": "<string>"
}
```

---

#### List tasks

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/tasks`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/tasks?api_token={api_token}
```

**Description**: Get list of all the tasks added to a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |

---

#### Update a task

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/tasks/task_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/tasks/task_id?api_token={api_token}
```

**Description**: Update the details of an existing task

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |
|`task_id` | string | Yes | Task Id |

**Request Body**:
```json
{
  "task_name": "<string>"
}
```

---

#### Get a task

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/tasks/task_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/tasks/task_id?api_token={api_token}
```

**Description**: Get the details of a task

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |
|`task_id` | string | Yes | Task Id |

---

#### Delete a Task

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/projects/project_id/tasks/task_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/project_id/tasks/task_id?api_token={api_token}
```

**Description**: Delete a task added to a project

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`project_id` | string | Yes | Project Id |
|`task_id` | string | Yes | Task Id |

---

### Category: Taxes


#### Create a tax

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/settings/taxes`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxes?api_token={api_token}
```

**Description**: Create a tax which can be associated with an item

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### List taxes

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/taxes`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxes?api_token={api_token}
```

**Description**: List of simple and compound taxes with pagination

---

#### Update a tax

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/settings/taxes/tax_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxes/tax_id?api_token={api_token}
```

**Description**: Update the details of a simple or compound tax

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_id` | string | Yes | Tax Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get a tax

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/taxes/tax_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxes/tax_id?api_token={api_token}
```

**Description**: Get the details of a simple or compound tax

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_id` | string | Yes | Tax Id |

---

#### Delete a tax

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/settings/taxes/tax_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxes/tax_id?api_token={api_token}
```

**Description**: Delete a simple or compound tax

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_id` | string | Yes | Tax Id |

---

#### Update a tax group

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/settings/taxgroups/tax_group_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxgroups/tax_group_id?api_token={api_token}
```

**Description**: Update the details of the tax group

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_group_id` | string | Yes | Tax Group Id |

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Get a tax group

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/taxgroups/tax_group_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxgroups/tax_group_id?api_token={api_token}
```

**Description**: Get the details of a tax groupZj7u9ki0-lo]|

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_group_id` | string | Yes | Tax Group Id |

---

#### Delete a tax group

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/settings/taxgroups/tax_group_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxgroups/tax_group_id?api_token={api_token}
```

**Description**: Delete a tax group

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_group_id` | string | Yes | Tax Group Id |

---

#### Create a tax group

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/settings/taxgroups`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxgroups?api_token={api_token}
```

**Description**: Create a tax group associating multiple taxes

**Request Body**:
```json
{
  "key": "value"
}
```

---

#### Create Tax Exemption

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/settings/taxexemptions`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxexemptions?api_token={api_token}
```

**Description**: Create a Tax Exemption

**Request Body**:
```json
{
  "tax_exemption_code": "<string>",
  "type": "<string>"
}
```

---

#### List Tax Exemptions

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/taxexemptions`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxexemptions?api_token={api_token}
```

**Description**: List all Tax Exemptions

---

#### Update Tax Exemption

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/settings/taxexemptions/tax_exemption_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxexemptions/tax_exemption_id?api_token={api_token}
```

**Description**: Update an existing Tax Exemption

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_exemption_id` | string | Yes | Tax Exemption Id |

**Request Body**:
```json
{
  "tax_exemption_code": "<string>",
  "type": "<string>"
}
```

---

#### Delete Tax Exemption

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/settings/taxexemptions/tax_exemption_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxexemptions/tax_exemption_id?api_token={api_token}
```

**Description**: Delete a Tax Exemption

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`tax_exemption_id` | string | Yes | Tax Exemption Id |

---

#### Create Tax Authority.

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/settings/taxauthorities`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxauthorities?api_token={api_token}
```

**Description**: Create a Tax Authority

**Request Body**:
```json
{
  "tax_authority_name": "<string>"
}
```

---

#### List Tax Authorities

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/settings/taxauthorities`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/settings/taxauthorities?api_token={api_token}
```

**Description**: List all Tax Authorities

---

*Note: Showing 15 of 17 endpoints in this category.*

---

### Category: Time Entries


#### Log time entries

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries?api_token={api_token}
```

**Description**: Logging time entries

**Request Body**:
```json
{
  "project_id": "<string>",
  "task_id": "<string>",
  "user_id": "<string>",
  "log_date": "<string>"
}
```

---

#### List time entries.

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries?from_date={from_date}&to_date={to_date}&filter_by={filter_by}&project_id={project_id}&user_id={user_id}&sort_column={sort_column}&api_token={api_token}
```

**Description**: List all time entries with pagination

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`from_date` | string | No | Date from which the time entries logged to be fetched |
|`to_date` | string | No | Date up to which the time entries logged to be fetched |
|`filter_by` | string | No | Filter time entries by date and status |
|`project_id` | string | No | Unique ID of the project |
|`user_id` | string | No | Unique ID of the user of timesheet |
|`sort_column` | string | No | Sort time entries |

---

#### Delete time entries

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries?api_token={api_token}
```

**Description**: Deleting time entries

---

#### Update time entry

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries/time_entry_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries/time_entry_id?api_token={api_token}
```

**Description**: Update logged time entry

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`time_entry_id` | string | Yes | Time Entry Id |

---

#### Get a time entry

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries/time_entry_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries/time_entry_id?api_token={api_token}
```

**Description**: Get details of a time entry

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`time_entry_id` | string | Yes | Time Entry Id |

---

#### Delete time entry

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries/time_entry_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries/time_entry_id?api_token={api_token}
```

**Description**: Deleting a logged time entry

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`time_entry_id` | string | Yes | Time Entry Id |

---

#### Start timer

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries/timer/start`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries/timer/start?api_token={api_token}
```

**Description**: Start tracking time spent

---

#### Stop timer

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries/timer/stop`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries/timer/stop?api_token={api_token}
```

**Description**: Stop tracking time, say taking a break or leaving

---

#### Get timer

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/projects/timeentries/runningtimer/me`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/projects/timeentries/runningtimer/me?api_token={api_token}
```

**Description**: Get current running timer

---

### Category: Users


#### Create a user

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/users`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users?api_token={api_token}
```

**Description**: Create a user for your organization

**Request Body**:
```json
{
  "name": "<string>",
  "email": "<string>"
}
```

---

#### List Users

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/users`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users?filter_by={filter_by}&sort_column={sort_column}&api_token={api_token}
```

**Description**: Get the list of all users in the organization

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`filter_by` | string | No | Criteria used to filter |
|`sort_column` | string | No | Sort users |

---

#### Update a user

**Method**: `PUT` | **LowCodeAPI Path**: `/invoice/v3/users/user_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users/user_id?api_token={api_token}
```

**Description**: Update the details of a user

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_id` | string | Yes | User Id |

**Request Body**:
```json
{
  "name": "<string>",
  "email": "<string>"
}
```

---

#### Get a user

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/users/user_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users/user_id?api_token={api_token}
```

**Description**: Get the details of a user

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_id` | string | Yes | User Id |

---

#### Delete a user

**Method**: `DELETE` | **LowCodeAPI Path**: `/invoice/v3/users/user_id`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users/user_id?api_token={api_token}
```

**Description**: Delete a user associated to the organization

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_id` | string | Yes | User Id |

---

#### Get current user

**Method**: `GET` | **LowCodeAPI Path**: `/invoice/v3/users/me`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users/me?api_token={api_token}
```

**Description**: Get the details of the current user

---

#### Invite a user

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/users/user_id/invite`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users/user_id/invite?api_token={api_token}
```

**Description**: Send invitation email to a person

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_id` | string | Yes | User Id |

---

#### Mark user as active

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/users/user_id/active`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users/user_id/active?api_token={api_token}
```

**Description**: Mark an inactive user as active

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_id` | string | Yes | User Id |

---

#### Mark user as inactive

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/users/user_id/inactive`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/users/user_id/inactive?api_token={api_token}
```

**Description**: Mark an active user as inactive

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`user_id` | string | Yes | User Id |

---

### Category: ZOHO CRM Integration

#### Import a customer using the CRM account ID

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/crm/account/crm_account_id/import`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/crm/account/crm_account_id/import?api_token={api_token}
```

**Description**: Zoho Invoice must be integrated with Zoho CRM using Accounts and Contacts sync or using Accounts only sync to import a customer from CRM with its CRM account ID

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`crm_account_id` | string | Yes | Crm Account Id |

---

### Category: ZOHO CRM Integration


#### Import a customer using CRM contact ID

**Method**: `POST` | **LowCodeAPI Path**: `/invoice/v3/crm/contact/crm_contact_id/import`

**Full URL**:
```
https://api.lowcodeapi.com/zohoinvoice/invoice/v3/crm/contact/crm_contact_id/import?api_token={api_token}
```

**Description**: Zoho Invoice must be integrated with Zoho CRM using Contacts only sync to import a customer from CRM with its CRM contact ID

**Path Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`crm_account_id` | string | Yes | Crm Account Id |

---

## Complete Endpoint Reference

For a complete list of all 258 endpoints, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/zohoinvoice/definition`
- **Official Provider Documentation**: https://www.zoho.com/invoice/api/v3/introduction