# Zoho Commerce Integration via LowCodeAPI
**Last Updated**: February 11, 2026
## Overview
E-commerce platform
The Zoho Commerce API provides access to:
- **E-commerce** - Related functionality
## Base Endpoint
```
https://api.lowcodeapi.com/zohocommerce/
```
**Important**: Always include the provider name in the URL path after `api.lowcodeapi.com/`
## Authentication
LowCodeAPI handles authentication automatically. You only need to:
1. **Sign up** at [Zoho Commerce](https://www.zoho.com/commerce)
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
The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your provider credentials (API keys, OAuth tokens, etc.)
- Apply them to each request
- Handle token refresh for OAuth providers
**Auth Type**: OAUTH2.0
## URL Format (Important)
LowCodeAPI supports **two URL formats** for endpoints with path parameters. **Always try New Format first**, and only fall back to Old Format if it doesn't work.
### New Format (Priority) - Dynamic Path Parameters
- **Path parameters stay in the URL path** - Do NOT convert to query parameters
- **Provider name is always in the URL path** after `api.lowcodeapi.com/`
- Pattern: `https://api.lowcodeapi.com/{provider}/{path_with_params}?api_token={api_token}`
**Example**:
```bash
# New Format - Path parameter stays in the URL path
https://api.lowcodeapi.com/zohocommerce/resource/{RESOURCE_ID}?api_token=YOUR_API_TOKEN
```
### Old Format (Fallback) - Sanitized Path + Query Parameters
- **Path parameters become query parameters**
- **Provider name is always in the URL path**
- Pattern: `https://api.lowcodeapi.com/{provider}/{sanitized_path}?{path_params}&api_token={api_token}`
**Example**:
```bash
# Old Format - Path parameter becomes a query parameter
https://api.lowcodeapi.com/zohocommerce/resource/id?id=RESOURCE_ID&api_token=YOUR_API_TOKEN
```
### Decision Flow for AI Agents
1. Always use **New Format first** - Keep path parameters in the URL path
2. If you get a 404 or error, try **Old Format** with sanitized path
3. Log which format worked for future requests to this provider
## API Categories
- **Account Dashboard** - 3 endpoints
- **Address Book** - 5 endpoints
- **Cart** - 3 endpoints
- **Categories** - 9 endpoints
- **Checkout** - 5 endpoints
- **Coupons** - 5 endpoints
- **Import Products** - 3 endpoints
- **Inventory** - 1 endpoints
- **Listing** - 4 endpoints
- **My Orders** - 3 endpoints
- **Payments** - 3 endpoints
- **Portal** - 3 endpoints
- **Products** - 9 endpoints
- **Sales Orders** - 5 endpoints
- **Sales Return** - 3 endpoints
- **Shipment Orders** - 3 endpoints
- **Taxes** - 6 endpoints
- **Variants** - 5 endpoints
## Common Endpoints
### Category: Account Dashboard
#### Get User Profile
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/userProfile`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/userProfile?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/userprofile?api_token={api_token}
```
**Description**: Get User Profile
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/portaluser/userProfile?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get User Profile](https://www.zoho.com/commerce/api/get-user-profile.html)
---
#### Edit User Profile
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/userProfile`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/userProfile?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/userprofile?api_token={api_token}
```
**Description**: Edit User Profile
**Request Body**:
```json
{
"contact_person_list": "<object>",
"email": "<string>",
"token": "<string>",
"user_info": "<array>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `contact_person_list` | object | Yes | Contains user contact_person_id |
| `email` | string | Yes | Email ID of the user |
| `token` | string | Yes | User's token |
| `user_info` | array | Yes | User_info contains the edited profile details of the user |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/portaluser/userProfile?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Edit User Profile](https://www.zoho.com/commerce/api/edit-user-profile.html)
---
#### Change Password
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/changePassword`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/changePassword?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/changepassword?api_token={api_token}
```
**Description**: Change Password
**Request Body**:
```json
{
"confirm_password": "<string>",
"current_password": "<string>",
"new_password": "<string>",
"token": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `confirm_password` | string | Yes | Confirmation password of the newly entered password |
| `current_password` | string | Yes | Current password of the user's account |
| `new_password` | string | Yes | New password that needs to be updated |
| `token` | string | Yes | User's token |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/portaluser/changePassword?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Change Password](https://www.zoho.com/commerce/api/change-password.html)
---
### Category: Address Book
#### Get Address Book
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/address`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token={api_token}
```
**Description**: Get Address Book
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Address Book](https://www.zoho.com/commerce/api/get-address-book.html)
---
#### Create Address Book
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/address`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token={api_token}
```
**Description**: Create Address Book
**Request Body**:
```json
{
"address_details": "<object>",
"zuid": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address_details` | object | Yes | Contains JSON of user address detail that needed to be updated |
| `zuid` | string | Yes | User ID of the user |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/portaluser/address?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Create Address Book](https://www.zoho.com/commerce/api/create-address-book.html)
---
#### Mark Address as Default
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/address/{address_id}/default`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address/{address_id}/default?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address/address_id/default?address_id={address_id}&api_token={api_token}
```
**Description**: Mark Address as Default
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address_id` | string | Yes | Address ID in the mapped shipping address detail of the user |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/portaluser/address/{address_id}/default?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Mark Address as Default](https://www.zoho.com/commerce/api/mark-address-as-default.html)
---
#### Delete Address Book
**Method**: `DELETE` | **LowCodeAPI Path**: `/portaluser/address/{address_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address/{address_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address/address_id?address_id={address_id}&api_token={api_token}
```
**Description**: Delete Address Book
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address_id` | string | Yes | Address ID in the mapped shipping address detail of the user |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/portaluser/address/{address_id}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete Address Book](https://www.zoho.com/commerce/api/delete-address-book.html)
---
#### Update Address Book
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/address/{address_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address/{address_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/address/address_id?address_id={address_id}&api_token={api_token}
```
**Description**: Update Address Book
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address_id` | string | Yes | Address ID in the mapped shipping address detail of the user |
**Request Body**:
```json
{
"address_details": "<object>",
"zuid": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address_details` | object | Yes | Contains JSON of user address detail that needed to be updated |
| `zuid` | string | Yes | User ID of the user |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/portaluser/address/{address_id}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update Address Book](https://www.zoho.com/commerce/api/update-address-book.html)
---
### Category: Cart
#### Add to Cart
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/cart`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token={api_token}
```
**Description**: Add to Cart
**Request Body**:
```json
{
"cart_id": "<string>",
"product_variant_id": "<string>",
"quantity": "<number>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cart_id` | string | Yes | The identifier of the cart. It is created by default, if there is no cart ID. |
| `custom_field_id` | number | No | Unique identifier of the custom field. |
| `custom_fields` | array | No | Contains the custom field values for the product. |
| `data_type` | string | No | The data type of the custom field. |
| `label` | string | No | The label value of the custom field. |
| `product_variant_id` | string | Yes | The item to be added in cart. |
| `quantity` | number | Yes | Quantity of the item to be added in cart. |
| `value` | string | No | The value of the custom field. |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Add to Cart](https://www.zoho.com/commerce/api/add-to-cart.html)
---
#### Delete from Cart
**Method**: `DELETE` | **LowCodeAPI Path**: `/storefront/api/v1/cart`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?cart_id={cart_id}&product_variant_id={product_variant_id}&api_token={api_token}
```
**Description**: Delete from Cart
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cart_id` | string | No | The identifier of the cart |
| `product_variant_id` | string | Yes | The item to be deleted from cart |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete from Cart](https://www.zoho.com/commerce/api/delete-from-cart.html)
---
#### Update a Cart
**Method**: `PUT` | **LowCodeAPI Path**: `/storefront/api/v1/cart`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token={api_token}
```
**Description**: Update a Cart
**Request Body**:
```json
{
"cart_id": "<string>",
"product_variant_id": "<string>",
"quantity": "<number>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cart_id` | string | Yes | The identifier of the cart to be updated |
| `product_variant_id` | string | Yes | The item to be updated in cart |
| `quantity` | number | Yes | Quantity of the item to be updated in cart |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/cart?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update a Cart](https://www.zoho.com/commerce/api/update-cart.html)
---
### Category: Categories
#### List All Categories
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/categories`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?page={page}&per_page={per_page}&api_token={api_token}
```
**Description**: List All Categories
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | number | No | Page number |
| `per_page` | number | No | Number of percentage taxable |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?page=VALUE&per_page=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [List All Categories](https://www.zoho.com/commerce/api/list-all-categories.html)
---
#### Create a Category
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/categories`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token={api_token}
```
**Description**: Create a Category
**Request Body**:
```json
{
"name": "<string>",
"url": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `description` | string | No | Description about the category |
| `name` | string | Yes | Name of the category |
| `parent_category_id` | number | No | Parent ID of the category (Empty will be considered as ROOT) |
| `seo_description` | string | No | Description about the category to be used in SEO |
| `seo_keyword` | string | No | Keywords related to category that can be used for SEO (Multiple keywords can be specified by separating them with commas) |
| `seo_title` | string | No | Title of the category to be used in SEO |
| `show_in_menu` | boolean | No | Specify whether the category should be shown as a menu item in published site or not |
| `url` | string | Yes | URL of the category. The value should be unique [URL can contain only letters (upper and lower cases), numbers, hyphen(-) and underscore(_)] |
| `visibility` | boolean | No | Visibility of the category in published site |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Create a Category](https://www.zoho.com/commerce/api/create-a-category.html)
---
#### Retrieve a Category
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/categories/editpage`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/editpage?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/editpage?category_id={category_id}&api_token={api_token}
```
**Description**: Retrieve a Category
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category_id` | number | Yes | Category id for which category detail is required |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/editpage?category_id=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Retrieve a Category](https://www.zoho.com/commerce/api/retrieve-a-category.html)
---
#### Update a Category
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/categories`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token={api_token}
```
**Description**: Update a Category
**Request Body**:
```json
{
"key": "value"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `description` | string | No | Description about the category |
| `name` | string | No | Name of the category |
| `parent_category_id` | number | No | Parent ID of the category (Empty will be considered as ROOT) |
| `seo_description` | string | No | Description about the category to be used in SEO |
| `seo_keyword` | string | No | Keywords related to category that can be used for SEO (Multiple keywords can be specified by separating them with commas) |
| `seo_title` | string | No | Title of the category to be used in SEO |
| `show_in_menu` | boolean | No | Specify whether the category should be shown as a menu item in published site or not |
| `url` | string | No | URL of the category. The value should be unique [URL can contain only letters (upper and lower cases), numbers, hyphen(-), and underscore(_)] |
| `visibility` | boolean | No | Visibility of the category in published site |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update a Category](https://www.zoho.com/commerce/api/update-category.html)
---
#### Delete a Category
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/categories`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?delete_sub_categories={delete_sub_categories}&api_token={api_token}
```
**Description**: Delete a Category
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `delete_sub_categories` | boolean | No | The value should be true when you're deleting the parent category. If the category has no child the param can be neglected |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete a Category](https://www.zoho.com/commerce/api/delete-category.html)
---
#### Re-order Categories
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/categories/siblingorder`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/siblingorder?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/siblingorder?api_token={api_token}
```
**Description**: Re-order Categories
**Request Body**:
```json
{
"categories": "<object>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `categories` | object | Yes | Array of category IDs in their respective sibling order |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/siblingorder?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Re-order Categories](https://www.zoho.com/commerce/api/reorder-categories.html)
---
#### Add Category Image
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/categories/images`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?api_token={api_token}
```
**Description**: Add Category Image
**Request Body**:
```json
{
"image": "<file>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `alter_text` | string | No | Alternate text for the image |
| `image` | file | Yes | Binary of the image |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Add Category Image](https://www.zoho.com/commerce/api/add-category-image.html)
---
#### Edit Category Image
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/categories/images`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?alter_text={alter_text}&name={name}&api_token={api_token}
```
**Description**: Edit Category Image
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alter_text` | string | No | Alternate text for the category's image (shouldn't contain any html characters like <>) |
| `name` | string | No | Name of the category's image (shouldn't contain any html characters like <>) |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/images?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Edit Category Image](https://www.zoho.com/commerce/api/edit-category-image.html)
---
#### Delete Category Image
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/categories/documents`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/documents?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/documents?api_token={api_token}
```
**Description**: Delete Category Image
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/store/api/v1/categories/documents?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete Category Image](https://www.zoho.com/commerce/api/delete-category-image.html)
---
### Category: Checkout
#### Get Checkout
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/checkout`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout?checkout_id={checkout_id}&api_token={api_token}
```
**Description**: Get Checkout
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as an identifier |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout?checkout_id=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Checkout](https://www.zoho.com/commerce/api/get-checkout.html)
---
#### Add Address
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/address`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/address?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/address?checkout_id={checkout_id}&api_token={api_token}
```
**Description**: Add Address
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as an identifier |
**Request Body**:
```json
{
"billing_address": "<string>",
"shipping_address": "<object>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `billing_address` | string | Yes | Billing address of the customer (contains the same fields as above) |
| `country` | string | No | Country of the customer's shipping/billing address |
| `email_address` | string | No | Email Id of the customer's shipping/billing address |
| `first_name` | string | No | First name of the customer's shipping/billing |
| `last_name` | string | No | Last name of the customer's shipping/billing |
| `postal_code` | string | No | ZIP Code of the customer's shipping/billing address |
| `same_billing_address` | boolean | No | Checks whether the billing address is the same as shipping address |
| `shipping_address` | object | Yes | The address to which the goods must be delivered |
| `state` | string | No | State of the customer's shipping/billing address |
| `telephone` | string | No | Phone number of the customer's shipping/billing address |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/address?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Add Address](https://www.zoho.com/commerce/api/add-address.html)
---
#### Add Shipping Method
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/shipping-methods`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/shipping-methods?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/shipping-methods?checkout_id={checkout_id}&api_token={api_token}
```
**Description**: Add Shipping Method
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as an identifier |
**Request Body**:
```json
{
"shipping": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `shipping` | string | Yes | The id of the shipping method to be added for the checkout |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/shipping-methods?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Add Shipping Method](https://www.zoho.com/commerce/api/add-shipping-method.html)
---
#### Place an Order
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/process-offline-payment`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/process-offline-payment?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/process-offline-payment?api_token={api_token}
```
**Description**: Place an Order
**Request Body**:
```json
{
"checkout_id": "<string>",
"payment_mode": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as identifier |
| `payment_mode` | string | Yes | Allowed value: cash_on_delivery |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/process-offline-payment?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Place an Order](https://www.zoho.com/commerce/api/place-order.html)
---
#### Add or Remove Coupons
**Method**: `POST` | **LowCodeAPI Path**: `/storefront/api/v1/checkout/applycoupon`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/applycoupon?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/applycoupon?api_token={api_token}
```
**Description**: Add or Remove Coupons
**Request Body**:
```json
{
"checkout_id": "<string>",
"coupon_code": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `checkout_id` | string | Yes | Unique ID generated by the server for the checkout. This is used as identifier |
| `coupon_code` | string | Yes | The coupon code to be applied. To remove the coupon you need to change the data type to empty string |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/checkout/applycoupon?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Add or Remove Coupons](https://www.zoho.com/commerce/api/checkout-coupons.html)
---
### Category: Coupons
#### List Coupons
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/coupons`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token={api_token}
```
**Description**: List Coupons
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [List Coupons](https://www.zoho.com/commerce/api/list-coupons.html)
---
#### Get Coupon
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/coupons/{coupon_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/{coupon_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/coupon_id?coupon_id={coupon_id}&api_token={api_token}
```
**Description**: Get Coupon
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | string | Yes | Coupon Id |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/{coupon_id}?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Coupon](https://www.zoho.com/commerce/api/get-coupon.html)
---
#### Create Coupon
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/coupons`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token={api_token}
```
**Description**: Create Coupon
**Request Body**:
```json
{
"activation_time": "<boolean>",
"coupon_code": "<string>",
"coupon_name": "<string>",
"discount_type": "<string>",
"discount_value": "<string>",
"max_redemption_count": "<number>",
"max_redemption_count_per_user": "<number>",
"minimum_order_value": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `activation_time` | boolean | Yes | If true, guest users cannot apply this coupon |
| `coupon_code` | string | Yes | Code for the coupon |
| `coupon_name` | string | Yes | Name of the coupon |
| `discount_type` | string | Yes | Type of coupon, either 'Flat' or 'Percentage' |
| `discount_value` | string | Yes | Value of the coupon |
| `eligible_customers` | object | No | Coupon applicable for the mentioned customers |
| `eligible_products` | object | No | Coupon applicable for the mentioned products |
| `eligible_shipping_zones` | object | No | Coupon applicable for the mentioned shipping zones |
| `max_redemption_count` | number | Yes | Coupon limit for store |
| `max_redemption_count_per_user` | number | Yes | Coupon limit per customer |
| `minimum_order_value` | string | Yes | Order total must be greater than this amount in order to apply this coupon |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Create Coupon](https://www.zoho.com/commerce/api/create-coupon.html)
---
#### Update Coupon
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/coupons/{coupon_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/{coupon_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/coupon_id?coupon_id={coupon_id}&api_token={api_token}
```
**Description**: Update Coupon
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | string | Yes | Coupon Id |
**Request Body**:
```json
{
"activation_time": "<string>",
"coupon_code": "<string>",
"coupon_name": "<string>",
"discount_type": "<string>",
"discount_value": "<string>",
"expiry_time": "<string>",
"max_redemption_count": "<number>",
"max_redemption_count_per_user": "<number>",
"minimum_order_value": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `activation_time` | string | Yes | Time of coupon activation |
| `coupon_code` | string | Yes | Code for the coupon |
| `coupon_name` | string | Yes | Name of the coupon |
| `discount_type` | string | Yes | Type of coupon, either 'Flat' or 'Percentage' |
| `discount_value` | string | Yes | Value of the coupon |
| `eligible_customers` | object | No | Coupon applicable for the mentioned customers |
| `eligible_products` | object | No | Coupon applicable for the mentioned products |
| `eligible_shipping_zones` | object | No | Coupon applicable for the mentioned shipping zones |
| `expiry_time` | string | Yes | Expiry time for coupon |
| `max_redemption_count` | number | Yes | Coupon limit for store |
| `max_redemption_count_per_user` | number | Yes | Coupon limit per customer |
| `minimum_order_value` | string | Yes | Order total must be greater than this amount in order to apply this coupon |
| `restrict_for_guest_user` | boolean | No | If true, guest user cannot apply this coupon |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/{coupon_id}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update Coupon](https://www.zoho.com/commerce/api/update-coupon.html)
---
#### Delete Coupon
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/coupons/{coupon_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/{coupon_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/coupon_id?coupon_id={coupon_id}&api_token={api_token}
```
**Description**: Delete Coupon
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `coupon_id` | string | Yes | Coupon Id |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/store/api/v1/coupons/{coupon_id}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete Coupon](https://www.zoho.com/commerce/api/delete-coupon.html)
---
### Category: Import Products
#### Upload Import File
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/import/uploadfile`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/uploadfile?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/uploadfile?api_token={api_token}
```
**Description**: Upload Import File
**Request Body**:
```json
{
"charencoding": "<string>",
"delimiter": "<string>",
"duplicate_handling": "<string>",
"entity": "<string>",
"importfile": "<file>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `charencoding` | string | Yes | Give character encoding used in the file. Possible values are UTF-8, UTF-16 |
| `delimiter` | string | Yes | Give delimiter used in the file. Possible values are ',' and ';' |
| `duplicate_handling` | string | Yes | Give value that defines how to handle duplicate records. Only possible value is 'overwrite' |
| `entity` | string | Yes | Give entity type of the import. Only possible value is 'itemgroup' |
| `importfile` | file | Yes | Give file that needs to be imported |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/uploadfile?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Upload Import File](https://www.zoho.com/commerce/api/import-products-step-1.html)
---
#### Preview Imported File
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/import/preview`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/preview?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/preview?api_token={api_token}
```
**Description**: Preview Imported File
**Request Body**:
```json
{
"csv_column": "<string>",
"entity_column": "<string>",
"entity_columns": "<array>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `csv_column` | string | Yes | Give csv column name |
| `entity_column` | string | Yes | Give corresponding entity column name for mapping |
| `entity_columns` | array | Yes | Give array of all entity and csv column mapping (Use entity_columns array response format from the step 1) |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/import/preview?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Preview Imported File](https://www.zoho.com/commerce/api/import-products-step-2.html)
---
#### Import Products
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/import`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/import?api_token={api_token}
```
**Description**: Import Products
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/import?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Import Products](https://www.zoho.com/commerce/api/import-products-step-3.html)
---
### Category: Inventory
#### Manage Stock
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/inventoryadjustments`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/inventoryadjustments?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/inventoryadjustments?api_token={api_token}
```
**Description**: Manage Stock
**Request Body**:
```json
{
"adjustment_type": "<string>",
"item_id": "<number>",
"line_items": "<array>",
"quantity_adjusted": "<string>",
"reason": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adjustment_type` | string | Yes | Adjustment type should be 'quantity' |
| `item_id` | number | Yes | Give variant_id of the product that needs to be adjusted |
| `line_items` | array | Yes | Give a list of all the items along with adjustment quantity |
| `quantity_adjusted` | string | Yes | The adjusted quantity of the line item |
| `reason` | string | Yes | Reason for stock adjustment |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/inventoryadjustments?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Manage Stock](https://www.zoho.com/commerce/api/manage-stock.html)
---
### Category: Listing
#### Get Product
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/products/{product_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/products/{product_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/products/product_id?product_id={product_id}&api_token={api_token}
```
**Description**: Get Product
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | Unique ID generated by the server for the product. This is used as identifier |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/products/{product_id}?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Product](https://www.zoho.com/commerce/api/get-product.html)
---
#### Get Category
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/categories/{category_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/categories/{category_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/categories/category_id?category_id={category_id}&api_token={api_token}
```
**Description**: Get Category
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `category_id` | string | Yes | Unique ID generated by the server for the category. This is used as identifier |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/categories/{category_id}?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Category](https://www.zoho.com/commerce/api/get-category.html)
---
#### Get Collection
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/collections/{collection_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/collections/{collection_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/collections/collection_id?collection_id={collection_id}&api_token={api_token}
```
**Description**: Get Collection
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `collection_id` | string | Yes | Unique ID generated by the server for the collection. This is used as identifier |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/collections/{collection_id}?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Collection](https://www.zoho.com/commerce/api/get-collection.html)
---
#### Search Product
**Method**: `GET` | **LowCodeAPI Path**: `/storefront/api/v1/search-products`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/search-products?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/search-products?q={q}&api_token={api_token}
```
**Description**: Search Product
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | The query string to be searched for in the store |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/storefront/api/v1/search-products?q=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Search Product](https://www.zoho.com/commerce/api/search-product.html)
---
### Category: My Orders
#### Get User Orders
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/orders`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/orders?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/orders?filterDate={filterDate}&api_token={api_token}
```
**Description**: Get User Orders
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filterDate` | string | No | Represents the number of months for which the orders need to be displayed |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/portaluser/orders?filterDate=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get User Orders](https://www.zoho.com/commerce/api/get-user-orders.html)
---
#### Get Order Details
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/orders/{order_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/orders/{order_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/orders/order_id?order_id={order_id}&api_token={api_token}
```
**Description**: Get Order Details
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | order_id of an order |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/portaluser/orders/{order_id}?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Order Details](https://www.zoho.com/commerce/api/get-order-details.html)
---
#### Cancel Order
**Method**: `POST` | **LowCodeAPI Path**: `/portaluser/orders/returns`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/orders/returns?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/orders/returns?api_token={api_token}
```
**Description**: Cancel Order
**Request Body**:
```json
{
"line_items": "<array>",
"reason": "<string>",
"salesorder_id": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `line_items` | array | Yes | List of line items to be returned |
| `reason` | string | Yes | Reason for returning an item |
| `salesorder_id` | string | Yes | Order ID of line items |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/portaluser/orders/returns?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Cancel Order](https://www.zoho.com/commerce/api/cancel-order.html)
---
### Category: Payments
#### Mark as Paid
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{salesorders_id}/payments`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorders_id}/payments?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorders_id/payments?salesorders_id={salesorders_id}&api_token={api_token}
```
**Description**: Mark as Paid
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesorders_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"amount": "<number>",
"date": "<string>",
"payment_mode": "<string>",
"reference_number": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `amount` | number | Yes | Amount paid in the respective payment |
| `date` | string | Yes | Date on which payment is made. Date Format [yyyy-mm-dd] |
| `description` | string | No | Description about the payment |
| `payment_mode` | string | Yes | Mode through which payment is made. This can be check, cash, credit card, bank transfer, bank remittance, auto transaction, or others. Maximum length = 100 |
| `reference_number` | string | Yes | Reference number generated for the payment. A string of your choice can also be used as the reference number. Maximum length of the reference number = 100 |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorders_id}/payments?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Mark as Paid](https://www.zoho.com/commerce/api/mark-as-paid.html)
---
#### Update Payment
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{order_id}/payments/{payment_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}/payments/{payment_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/payments/payment_id?order_id={order_id}&payment_id={payment_id}&api_token={api_token}
```
**Description**: Update Payment
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | Order Id |
| `payment_id` | string | Yes | Payment Id |
**Request Body**:
```json
{
"amount": "<number>",
"date": "<string>",
"payment_mode": "<string>",
"reference_number": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `amount` | number | Yes | Amount paid in the respective payment |
| `date` | string | Yes | Date on which payment is made. Date Format [yyyy-mm-dd] |
| `description` | string | No | Description about the payment |
| `payment_mode` | string | Yes | Mode through which payment is made. This can be check, cash, credit card, bank transfer, bank remittance, auto transaction, or others. Maximum length = 100 |
| `reference_number` | string | Yes | Reference number generated for the payment. A string of your choice can also be used as the reference number. Maximum length of the reference number = 100 |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}/payments/{payment_id}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update Payment](https://www.zoho.com/commerce/api/update-payment.html)
---
#### Refund Payment
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{salesorder_id}/refund`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/refund?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/refund?salesorder_id={salesorder_id}&api_token={api_token}
```
**Description**: Refund Payment
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesorder_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"amount": "<number>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `amount` | number | Yes | Amount to be refunded |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/refund?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Refund Payment](https://www.zoho.com/commerce/api/refund-payment.html)
---
### Category: Portal
#### Get Signup Fields
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/signupfields`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/signupfields?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/signupfields?api_token={api_token}
```
**Description**: Get Signup Fields
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/portaluser/signupfields?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Signup Fields](https://www.zoho.com/commerce/api/get-signup-fields.html)
---
#### Signout
**Method**: `GET` | **LowCodeAPI Path**: `/signout`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/signout?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/signout?api_token={api_token}
```
**Description**: Signout
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/signout?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Signout](https://www.zoho.com/commerce/api/signout.html)
---
#### Get Current User
**Method**: `GET` | **LowCodeAPI Path**: `/portaluser/getCurrentPortalUser`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/getCurrentPortalUser?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/portaluser/getcurrentportaluser?api_token={api_token}
```
**Description**: Get Current User
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/portaluser/getCurrentPortalUser?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Current User](https://www.zoho.com/commerce/api/get-current-user.html)
---
### Category: Products
#### List All Products
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/products`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?filter_by={filter_by}&page_start_from={page_start_from}&per_page={per_page}&sort_column={sort_column}&sort_order={sort_order}&api_token={api_token}
```
**Description**: List All Products
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter_by` | string | No | Allowed Values : Status.All, Status.Active, Status.Inactive, ItemType.All, ItemType.Inventory, ItemType.NonInventory |
| `page_start_from` | number | No | Allowed Values : 1 to n |
| `per_page` | number | No | Allowed Values : 10,25,50,100,200 |
| `sort_column` | string | No | Allowed Values : name, created_time, last_modified_time, min_rate, max_rate |
| `sort_order` | string | No | Allowed Values : A ,D |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?filter_by=VALUE&page_start_from=VALUE&per_page=VALUE&sort_column=VALUE&sort_order=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [List All Products](https://www.zoho.com/commerce/api/list-all-products.html)
---
#### Create a Product with Variant
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/products`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token={api_token}
```
**Description**: Create a Product with Variant
**Request Body**:
```json
{
"name": "<string>",
"url": "<string>",
"variants": "<array>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attribute_name1` | string | No | Give attribute name for the product |
| `attribute_name2` | string | No | Give attribute name for the product |
| `attribute_name3` | string | No | Give attribute name for the product |
| `attribute_option_data1` | string | No | Give color code for the correspoding attributes. This field is only needed when you give attribute_type as colour.For Eg: If attribute_type2 is Colour then give corresponding color code value in attribute_option_data2 |
| `attribute_option_data2` | string | No | Give color code for the correspoding attributes. This field is only needed when you give attribute_type as colour.For Eg: If attribute_type2 is Colour then give corresponding color code value in attribute_option_data2 |
| `attribute_option_data3` | string | No | Give color code for the correspoding attributes. This field is only needed when you give attribute_type as colour.For Eg: If attribute_type2 is Colour then give corresponding color code value in attribute_option_data2 |
| `attribute_option_name1` | string | No | Give attribute values for the corresponding attributes. For Eg: If attribute_name1 is SIZE then give attribute_option_name1 (eg: large,medium,..etc) with the corresponding values |
| `attribute_option_name2` | string | No | Give attribute values for the corresponding attributes. For Eg: If attribute_name1 is SIZE then give attribute_option_name1 (eg: large,medium,..etc) with the corresponding values |
| `attribute_option_name3` | string | No | Give attribute values for the corresponding attributes. For Eg: If attribute_name1 is SIZE then give attribute_option_name1 (eg: large,medium,..etc) with the corresponding values |
| `attribute_type1` | string | No | Two possible values are Text (default value) or Color |
| `attribute_type2` | string | No | Two possible values are Text (default value) or Color |
| `attribute_type3` | string | No | Two possible values are Text (default value) or Color |
| `avatax_tax_code` | string | No | Give Avalara tax code for the variant. For US Only |
| `brand` | string | No | Give the brand name for the product |
| `category_id` | number | No | Give the unique category_id to map the category |
| `custom_fields` | array | No | Give set of customfield_id and value for the variant |
| `customfield_id` | number | No | Give unique cusomfield id to denote the label |
| `ean` | string | No | Give EAN for the variant |
| `height` | string | No | Give the package height |
| `hsn_or_sac` | string | No | Give HSN or SAC for the variant. For India Only |
| `initial_stock` | string | No | This field is MANDATORY if you pass variant_type as 'inventory' |
| `is_featured` | boolean | No | Enable this if product is on sale |
| `is_returnable` | boolean | No | Enable this if product can be returned by the customers |
| `isbn` | string | No | Give ISBN for the variant |
| `label_rate` | string | No | Give retail price of the variant |
| `length` | string | No | Give the package length |
| `name` | string | Yes | Name of the product |
| `package_details` | array | No | Give package details such as weight, width, height and length. This is used to calcuate shipping charges at the time of checkout |
| `part_number` | string | No | Give MPN for the variant |
| `product_description` | string | No | Detailed description of the product |
| `product_short_description` | string | No | Concise description of the product |
| `rate` | string | No | Give selling price of the variant |
| `reorder_level` | string | No | Low stock limit for the variant below which will trigger an email remainder |
| `seo_description` | string | No | Give SEO description for the product |
| `seo_keyword` | string | No | Give SEO keywords for the product |
| `seo_title` | string | No | Give title for SEO |
| `show_in_storefront` | boolean | No | When enabled, this shows the product in store |
| `sku` | string | No | Give SKU for the variant |
| `specification_id` | number | No | Give unique specification id that denotes the label |
| `specification_value_id` | number | No | Denotes the value for the particular label |
| `specifications` | array | No | Give set of specification_id and specification_value_id |
| `specificationset_id` | number | No | Give unique specification set ID to give specification details for the product |
| `tags` | array | No | Give the list of tags for the product |
| `upc` | string | No | Give UPC for the variant |
| `url` | string | Yes | URL of the product |
| `value` | string | No | Give corresponding values for the label |
| `variant_type` | string | No | Give variant_type as 'inventory' |
| `variants` | array | Yes | Give list of all the variants for the product |
| `weight` | string | No | Give the package weight |
| `width` | string | No | Give the package width |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Create a Product with Variant](https://www.zoho.com/commerce/api/create-a-product-with-variant.html)
---
#### Product Details
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/products/editpage`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/editpage?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/editpage?product_id={product_id}&api_token={api_token}
```
**Description**: Product Details
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | Give unique product id to get the details |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/editpage?product_id=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Product Details](https://www.zoho.com/commerce/api/product-details.html)
---
#### Update a Product
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/products`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token={api_token}
```
**Description**: Update a Product
**Request Body**:
```json
{
"key": "value"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attribute_name1` | string | No | Give attribute name for the product. You can add a maximum of 3 attributes |
| `attribute_name2` | string | No | Give attribute name for the product. You can add a maximum of 3 attributes |
| `attribute_name3` | string | No | Give attribute name for the product. You can add a maximum of 3 attributes |
| `attribute_option_data1` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type2 is Colour then give the corresponding color code value in attribute_option_data2 |
| `attribute_option_data2` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type2 is Colour then give the corresponding color code value in attribute_option_data2 |
| `attribute_option_data3` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type3 is Colour then give the corresponding color code value in attribute_option_data3 |
| `attribute_option_name1` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name1 is SIZE then give attribute_option_name1 (e.g., large, medium, etc.) with the corresponding values |
| `attribute_option_name2` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name2 is SIZE then give attribute_option_name2 (e.g., large, medium, etc.) with the corresponding values |
| `attribute_option_name3` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name3 is SIZE then give attribute_option_name3 (e.g., large, medium, etc.) with the corresponding values |
| `attribute_type1` | string | No | Give attribute type corresponding to the attribute name given. Two possible values are Text (default value) or Colour |
| `attribute_type2` | string | No | Give attribute type corresponding to the attribute name given. Two possible values are Text (default value) or Colour |
| `attribute_type3` | string | No | Give attribute type corresponding to the attribute name given. Two possible values are Text (default value) or Colour |
| `avatax_tax_code` | string | No | Give Avalara tax code for the variant. For US only |
| `brand` | string | No | Give the brand name for the product |
| `category_id` | number | No | Give the unique category_id to map the category |
| `custom_fields` | array | No | Give a set of custom_field values for the variant |
| `customfield_id` | number | No | Give a unique custom field id to denote the label |
| `document_ids` | array | No | Give a set of document_id of the images to map with variants |
| `ean` | string | No | Give EAN for the variant |
| `height` | string | No | Give the package height |
| `hsn_or_sac` | string | No | Give HSN or SAC for the variant. For India only |
| `initial_stock` | string | No | Give the stock count for the variant. This field is MANDATORY if you pass variant_type as 'inventory' |
| `is_featured` | boolean | No | Enable this if the product is on sale |
| `is_returnable` | boolean | No | Enable this if the product can be returned by the customers |
| `isbn` | string | No | Give ISBN for the variant |
| `label_rate` | string | No | Give the retail price of the variant |
| `length` | string | No | Give the package length |
| `name` | string | No | Name of the product |
| `package_details` | array | No | Give package details such as weight, width, height, and length. This is used to calculate shipping charges at the time of checkout |
| `page_layout_id` | number | No | Give a unique page layout id corresponding to custom field details pertaining to a specific product |
| `part_number` | string | No | Give MPN for the variant |
| `product_description` | string | No | Detailed description of the product |
| `product_short_description` | string | No | Concise description of the product |
| `rate` | string | No | Give the selling price of the variant |
| `reorder_level` | string | No | Low stock limit for the variant below which will trigger an email reminder |
| `seo_description` | string | No | Give SEO description for the product |
| `seo_keyword` | string | No | Give SEO keywords for the product |
| `seo_title` | string | No | Give title for SEO |
| `show_in_storefront` | boolean | No | When enabled, this shows the product in store |
| `sku` | string | No | Give SKU for the variant |
| `specification_id` | number | No | Give a unique specification id that denotes the label |
| `specification_value_id` | number | No | Give a unique specification value id that denotes the value for the particular label |
| `specifications` | array | No | Give a set of specification_id and specification_value_id |
| `specificationset_id` | number | No | Give a unique specification set ID to give specification details for the product |
| `tags` | array | No | Give the list of tags for the product |
| `upc` | string | No | Give UPC for the variant |
| `url` | string | No | URL of the product |
| `value` | string | No | Give corresponding values for the label |
| `variant_type` | string | No | Give variant_type as 'inventory' to track inventory stock for the product |
| `variants` | array | No | Give a list of all the variants for the product |
| `weight` | string | No | Give the package weight |
| `width` | string | No | Give the package width |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update a Product](https://www.zoho.com/commerce/api/update-a-product.html)
---
#### Delete a List of Products
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/products`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?is_deletedInfoNeeded={is_deletedInfoNeeded}&product_ids={product_ids}&api_token={api_token}
```
**Description**: Delete a List of Products
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `is_deletedInfoNeeded` | string | No | To get the detail of the product |
| `product_ids` | string | Yes | Give list of product_ids with comma separated |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete a List of Products](https://www.zoho.com/commerce/api/delete-a-list-of-products.html)
---
#### Add Product Images
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/products/images`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images?api_token={api_token}
```
**Description**: Add Product Images
**Request Body**:
```json
{
"image": "<file>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `image` | file | Yes | Binary of the image |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Add Product Images](https://www.zoho.com/commerce/api/add-product-images.html)
---
#### Re-order Product Images
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/products/images/reorder`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images/reorder?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images/reorder?api_token={api_token}
```
**Description**: Re-order Product Images
**Request Body**:
```json
{
"document_id": "<string>",
"documents": "<array>",
"order": "<number>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `document_id` | string | Yes | Give document_id of the image obtained from product data |
| `documents` | array | Yes | Give set of document_id and order to reorder the images |
| `order` | number | Yes | Give the order number of the particular image |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/images/reorder?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Re-order Product Images](https://www.zoho.com/commerce/api/reorder-product-images.html)
---
#### Delete Product Image
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/products/documents`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/documents?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/documents?api_token={api_token}
```
**Description**: Delete Product Image
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/store/api/v1/products/documents?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete Product Image](https://www.zoho.com/commerce/api/delete-product-image.html)
---
#### Export Products
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/export`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/export?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/export?accept={accept}&entity={entity}&export_limit={export_limit}&export_start_id={export_start_id}&export_start_index={export_start_index}&from_date={from_date}&to_date={to_date}&api_token={api_token}
```
**Description**: Export Products
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `accept` | string | Yes | Give format for the export file. Possible values are csv/xls |
| `entity` | string | Yes | Give entity type of the export. Only possible value is 'itemgroup' |
| `export_limit` | string | No | Give export limit. Should be less than 25,000 |
| `export_start_id` | string | No | Entity that have IDs greater to this start id will be fetched with limit |
| `export_start_index` | string | No | Offset row number: this will start exporting from nth row of export entity |
| `from_date` | string | No | Give from date for the export. Format: yyyy-mm-dd |
| `to_date` | string | No | Give to_date for the export. Format: yyyy-mm-dd |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/export?accept=VALUE&entity=VALUE&export_limit=VALUE&export_start_id=VALUE&export_start_index=VALUE&from_date=VALUE&to_date=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Export Products](https://www.zoho.com/commerce/api/export-products.html)
---
### Category: Sales Orders
#### List All Sales Orders
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/salesorders`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders?filter_by={filter_by}&page={page}&per_page={per_page}&sort_column={sort_column}&sort_order={sort_order}&api_token={api_token}
```
**Description**: List All Sales Orders
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter_by` | string | No | Status filter. Options: All, Draft, Confirmed, ToBePacked, ToBeShipped, Shipped, ToBeInvoiced, Closed, Void |
| `page` | number | No | Page number. Should be a positive integer |
| `per_page` | number | No | Items per page. Options: 10, 25, 50, 100, 200 |
| `sort_column` | string | No | Column to sort by. Options: customer_name, salesorder_number, date, shipment_date, total, bcy_total, created_time, last_modified_time |
| `sort_order` | string | No | Sort order. Options: A (ascending), D (descending) |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders?filter_by=VALUE&page=VALUE&per_page=VALUE&sort_column=VALUE&sort_order=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [List All Sales Orders](https://www.zoho.com/commerce/api/list-all-sales-orders.html)
---
#### Retrieve a Sales Order
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{order_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id?order_id={order_id}&api_token={api_token}
```
**Description**: Retrieve a Sales Order
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | Order Id |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Retrieve a Sales Order](https://www.zoho.com/commerce/api/retrieve-sales-order.html)
---
#### Update Status
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{salesorder_id}/status/{status}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/status/{status}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/status/status?salesorder_id={salesorder_id}&status={status}&api_token={api_token}
```
**Description**: Update Status
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesorder_id` | string | Yes | Salesorder Id |
| `status` | string | Yes | Satus |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/status/{status}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update Status](https://www.zoho.com/commerce/api/update-status.html)
---
#### Add Comments
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{salesorder_id}/comments`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/comments?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/comments?salesorder_id={salesorder_id}&api_token={api_token}
```
**Description**: Add Comments
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesorder_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"description": "<string>",
"transaction_type": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `description` | string | Yes | The comment to be added |
| `mail_to_customer` | boolean | No | Boolean to determine whether it has to be mailed to the customer |
| `show_comment_to_client` | boolean | No | Boolean to determine whether the comment needs to be shown to client |
| `transaction_type` | string | Yes | Allowed values: salesorder, customer_payment, shipment_order, contact, none |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/comments?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Add Comments](https://www.zoho.com/commerce/api/add-comments.html)
---
#### Update Address
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{order_id}/address/{address_type}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}/address/{address_type}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/address/address_type?address_type={address_type}&order_id={order_id}&api_token={api_token}
```
**Description**: Update Address
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `address_type` | string | Yes | Address Type |
| `order_id` | string | Yes | Order Id |
**Request Body**:
```json
{
"address": "<string>",
"attention": "<string>",
"city": "<string>",
"country": "<string>",
"phone": "<string>",
"state": "<string>",
"zip": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `address` | string | Yes | Name of the street of the customer's billing address |
| `attention` | string | Yes | Name of the person, whose attention is required |
| `city` | string | Yes | Name of the city of the customer's billing address |
| `country` | string | Yes | Name of the country of the customer's billing address |
| `fax` | string | No | Fax number of the customer's billing address |
| `phone` | string | Yes | Phone number of the customer |
| `state` | string | Yes | Name of the state of the customer's billing address |
| `zip` | string | Yes | ZIP code of the customer's billing address |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}/address/{address_type}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update Address](https://www.zoho.com/commerce/api/update-address.html)
---
### Category: Sales Return
#### Create a Sales Return
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesreturns`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns?salesorder_id={salesorder_id}&api_token={api_token}
```
**Description**: Create a Sales Return
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesorder_id` | number | No | Unique ID generated by the server for the sales order. This is used as identifier. |
**Request Body**:
```json
{
"line_items": "<array>",
"quantity": "<number>",
"salesorder_item_id": "<number>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `line_items` | array | Yes | List of items in a package. Each line item contains salesorder_item_id, item_id, and quantity |
| `quantity` | number | Yes | Quantity of the item to be returned |
| `salesorder_item_id` | number | Yes | Unique ID generated by the server for each line item. This is used as an identifier |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Create a Sales Return](https://www.zoho.com/commerce/api/create-a-sales-order.html)
---
#### Change Status
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesreturns/{salesreturn_id}/status/{salesreturn_status}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns/{salesreturn_id}/status/{salesreturn_status}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns/salesreturn_id/status/salesreturn_status?salesreturn_id={salesreturn_id}&salesreturn_status={salesreturn_status}&api_token={api_token}
```
**Description**: Change Status
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesreturn_id` | number | Yes | Unique ID generated by the server for the sales return. This is used as identifier |
| `salesreturn_status` | string | Yes | The current status of the sales return |
**Request Body**:
```json
{
"key": "value"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `line_items` | array | No | List of items in a package. Each line item contains salesorder_item_id, item_id, and quantity |
| `refund_status` | string | No | The current status of the refund |
| `shipped_status` | string | No | The current status of the package |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturns/{salesreturn_id}/status/{salesreturn_status}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Change Status](https://www.zoho.com/commerce/api/change-status.html)
---
#### Refund a Sales Return
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesreturn/{salesreturn_id}/refund`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturn/{salesreturn_id}/refund?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturn/salesreturn_id/refund?salesreturn_id={salesreturn_id}&api_token={api_token}
```
**Description**: Refund a Sales Return
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesreturn_id` | number | Yes | Unique ID generated by the server for the sales return. This is used as identifier |
**Request Body**:
```json
{
"amount": "<number>",
"line_items": "<array>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `amount` | number | Yes | Amount to be refunded |
| `is_returned_to_stock` | boolean | No | Add product to stock. Allowed values are true and false. |
| `line_items` | array | Yes | List of items in a package. Each line item contains salesorder_item_id, item_id, and quantity |
| `quantity` | number | No | Quantity of the item to be returned |
| `salesreturn_item_id` | number | No | Unique ID generated by the server for the sales return. This is used as identifier |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesreturn/{salesreturn_id}/refund?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Refund a Sales Return](https://www.zoho.com/commerce/api/refund-sales-return.html)
---
### Category: Shipment Orders
#### Mark as Delivered
**Method**: `POST` | **LowCodeAPI Path**: `/{endpoint}/store/api/v1/salesorders/{order_id}/shipmentorders/delivered`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/{endpoint}/store/api/v1/salesorders/{order_id}/shipmentorders/delivered?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/shipmentorders/delivered?order_id={order_id}&api_token={api_token}
```
**Description**: Mark as Delivered
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | Order Id |
**Request Body**:
```json
{
"delivery_date": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `delivery_date` | string | Yes | Date of delivery of the product |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/{endpoint}/store/api/v1/salesorders/{order_id}/shipmentorders/delivered?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Mark as Delivered](https://www.zoho.com/commerce/api/mark-as-delivered.html)
---
#### Mark as Shipped
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{order_id}/shipmentorders/shipped`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}/shipmentorders/shipped?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/order_id/shipmentorders/shipped?order_id={order_id}&api_token={api_token}
```
**Description**: Mark as Shipped
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | Order Id |
**Request Body**:
```json
{
"carrier": "<string>",
"shipment_date": "<string>",
"tracking_number": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `carrier` | string | Yes | Carrier used for shipment |
| `service` | string | No | Type of service selected for shipment |
| `shipment_date` | string | Yes | Shipment date of the sales order |
| `tracking_number` | string | Yes | Tracking number of shipment |
| `tracking_url` | string | No | The tracking URL of the shipment |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{order_id}/shipmentorders/shipped?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Mark as Shipped](https://www.zoho.com/commerce/api/mark-as-shipped.html)
---
#### Update a Shipment Order
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/salesorders/{salesorder_id}/shipmentorders`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/shipmentorders?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/salesorder_id/shipmentorders?salesorder_id={salesorder_id}&api_token={api_token}
```
**Description**: Update a Shipment Order
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `salesorder_id` | string | Yes | Salesorder Id |
**Request Body**:
```json
{
"carrier": "<string>",
"salesorder_id": "<string>",
"shipment_date": "<string>",
"tracking_number": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `carrier` | string | Yes | Carrier used for shipment |
| `salesorder_id` | string | Yes | Unique ID generated by the server for the sales order. This is used as identifier |
| `service` | string | No | Type of service selected for shipment |
| `shipment_date` | string | Yes | Shipment date of the sales order |
| `tracking_number` | string | Yes | Tracking number of shipment |
| `tracking_url` | string | No | The tracking URL of the shipment |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/salesorders/{salesorder_id}/shipmentorders?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update a Shipment Order](https://www.zoho.com/commerce/api/update-shipment-order.html)
---
### Category: Taxes
#### Create a Tax
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token={api_token}
```
**Description**: Create a Tax
**Request Body**:
```json
{
"country_code": "<string>",
"tax_name": "<string>",
"tax_percentage": "<number>",
"tax_type": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `country_code` | string | Yes | Two-letter country code to which the tax belongs |
| `tax_name` | string | Yes | Name of the tax to be created |
| `tax_percentage` | number | Yes | Number of percentage taxable |
| `tax_specific_type` | string | No | Type of tax For Indian Edition. Allowed values: IGST, SGST, NIL, CESS. |
| `tax_type` | string | Yes | Type to determine whether it is a simple or compound tax. Allowed values: tax and compound_tax |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Create a Tax](https://www.zoho.com/commerce/api/create-tax.html)
---
#### Update a Tax
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules/{tax_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/{tax_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/tax_id?tax_id={tax_id}&api_token={api_token}
```
**Description**: Update a Tax
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax_id` | string | Yes | Tax Id |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/{tax_id}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update a Tax](https://www.zoho.com/commerce/api/update-tax.html)
---
#### Delete a Tax
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules/{tax_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/{tax_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/tax_id?tax_id={tax_id}&api_token={api_token}
```
**Description**: Delete a Tax
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tax_id` | string | Yes | Tax Id |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules/{tax_id}?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete a Tax](https://www.zoho.com/commerce/api/delete-tax.html)
---
#### List Taxes
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/settings/taxrules`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token={api_token}
```
**Description**: List Taxes
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxrules?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [List Taxes](https://www.zoho.com/commerce/api/list-taxes.html)
---
#### Update Tax Preferences
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/settings/taxpreferences`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token={api_token}
```
**Description**: Update Tax Preferences
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update Tax Preferences](https://www.zoho.com/commerce/api/update-tax-preferences.html)
---
#### Get Tax Preferences
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/settings/taxpreferences`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token={api_token}
```
**Description**: Get Tax Preferences
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/settings/taxpreferences?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Get Tax Preferences](https://www.zoho.com/commerce/api/get-tax-preferences.html)
---
### Category: Variants
#### List All Variants
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/variants`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?item_type={item_type}&page={page}&per_page={per_page}&sort_column={sort_column}&sort_order={sort_order}&status={status}&variant_ids={variant_ids}&api_token={api_token}
```
**Description**: List All Variants
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `item_type` | string | No | ItemType.Inventory, ItemType.NonInventory |
| `page` | number | No | 1 to n |
| `per_page` | number | No | 10, 25, 50, 100, 200 |
| `sort_column` | string | No | name, last_modified_time, actual_available_stock |
| `sort_order` | string | No | A, D |
| `status` | string | No | active, inactive |
| `variant_ids` | number | No | list of unique variant ids separated by comma to get specific variant details. Limit : 50 |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?item_type=VALUE&page=VALUE&per_page=VALUE&sort_column=VALUE&sort_order=VALUE&status=VALUE&variant_ids=VALUE&api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [List All Variants](https://www.zoho.com/commerce/api/list-all-variants.html)
---
#### Create a Variant
**Method**: `POST` | **LowCodeAPI Path**: `/store/api/v1/variants`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token={api_token}
```
**Description**: Create a Variant
**Request Body**:
```json
{
"rate": "<string>"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attribute_option_data1` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type2 is Colour then give the corresponding color code value in attribute_option_data2 |
| `attribute_option_data2` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type2 is Colour then give the corresponding color code value in attribute_option_data2 |
| `attribute_option_data3` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type3 is Colour then give the corresponding color code value in attribute_option_data3 |
| `attribute_option_name1` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name1 is SIZE then give attribute_option_name1 (e.g., large, medium, etc.) with the corresponding values |
| `attribute_option_name2` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name2 is SIZE then give attribute_option_name2 (e.g., large, medium, etc.) with the corresponding values |
| `attribute_option_name3` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name3 is SIZE then give attribute_option_name3 (e.g., large, medium, etc.) with the corresponding values |
| `avatax_tax_code` | string | No | Give Avalara tax code for the variant. For US only |
| `custom_fields` | array | No | Give set of custom_field values for the variant |
| `customfield_id` | number | No | Give unique customfield id to denote the label |
| `document_ids` | array | No | Give set of document_id of the images to map with variants |
| `ean` | string | No | Give EAN for the variant |
| `height` | string | No | Give the package height |
| `hsn_or_sac` | string | No | Give HSN or SAC for the variant. For India only |
| `initial_stock` | string | No | Give stock count for the variant. This field is MANDATORY if you pass variant_type as 'inventory' |
| `isbn` | string | No | Give ISBN for the variant |
| `label_rate` | string | No | Give retail price of the variant |
| `length` | string | No | Give the package length |
| `package_details` | array | No | Give package details such as weight, width, height, and length. This is used to calculate shipping charges at the time of checkout |
| `part_number` | string | No | Give MPN for the variant |
| `product_id` | string | No | Give product id of the product to which variant needs to be added |
| `rate` | string | Yes | Give selling price of the variant |
| `reorder_level` | string | No | Low stock limit for the variant below which will trigger an email remainder |
| `sku` | string | No | Give SKU for the variant |
| `upc` | string | No | Give UPC for the variant |
| `value` | string | No | Give corresponding values for the label |
| `weight` | string | No | Give the package weight |
| `width` | string | No | Give the package width |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X POST "https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Create a Variant](https://www.zoho.com/commerce/api/create-a-variant.html)
---
#### Variant Details
**Method**: `GET` | **LowCodeAPI Path**: `/store/api/v1/variants/{variant_id}`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants/{variant_id}?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants/variant_id?variant_id={variant_id}&api_token={api_token}
```
**Description**: Variant Details
**Path Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `variant_id` | string | Yes | Variant Id |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X GET "https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants/{variant_id}?api_token=YOUR_API_TOKEN"
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Variant Details](https://www.zoho.com/commerce/api/variant-details.html)
---
#### Update a Variant
**Method**: `PUT` | **LowCodeAPI Path**: `/store/api/v1/variants`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token={api_token}
```
**Description**: Update a Variant
**Request Body**:
```json
{
"key": "value"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `attribute_option_data1` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type2 is Colour then give the corresponding color code value in attribute_option_data2 |
| `attribute_option_data2` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type2 is Colour then give the corresponding color code value in attribute_option_data2 |
| `attribute_option_data3` | string | No | Give color code for the corresponding attributes. This field is only needed when you give attribute_type as Colour. For example, if attribute_type3 is Colour then give the corresponding color code value in attribute_option_data3 |
| `attribute_option_name1` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name1 is SIZE then give attribute_option_name1 (e.g., large, medium, etc.) with the corresponding values |
| `attribute_option_name2` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name2 is SIZE then give attribute_option_name2 (e.g., large, medium, etc.) with the corresponding values |
| `attribute_option_name3` | string | No | Give attribute values for the corresponding attributes. For example, if attribute_name3 is SIZE then give attribute_option_name3 (e.g., large, medium, etc.) with the corresponding values |
| `avatax_tax_code` | string | No | Give Avalara tax code for the variant. For US only |
| `custom_fields` | array | No | Give set of custom_field values for the variant |
| `customfield_id` | number | No | Give unique custom field id to denote the label |
| `document_ids` | array | No | Give set of document_id of the images to map with variants |
| `ean` | string | No | Give EAN for the variant |
| `height` | string | No | Give the package height |
| `hsn_or_sac` | string | No | Give HSN or SAC for the variant. For India only |
| `initial_stock` | string | No | Give stock count for the variant. This field is MANDATORY if you pass variant_type as 'inventory' |
| `isbn` | string | No | Give ISBN for the variant |
| `label_rate` | string | No | Give retail price of the variant |
| `length` | string | No | Give the package length |
| `package_details` | array | No | Give package details such as weight, width, height, and length. This is used to calculate shipping charges at the time of checkout |
| `part_number` | string | No | Give MPN for the variant |
| `rate` | string | No | Give selling price of the variant |
| `reorder_level` | string | No | Low stock limit for the variant below which will trigger an email remainder |
| `sku` | string | No | Give SKU for the variant |
| `status` | string | No | Give status of the variant. Allowed values: active, inactive |
| `upc` | string | No | Give UPC for the variant |
| `value` | string | No | Give corresponding values for the label |
| `weight` | string | No | Give the package weight |
| `width` | string | No | Give the package width |
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X PUT "https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Update a Variant](https://www.zoho.com/commerce/api/update-variant.html)
---
#### Delete a Variant
**Method**: `DELETE` | **LowCodeAPI Path**: `/store/api/v1/variants`
**New Format (Priority)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token=YOUR_API_TOKEN
```
**Old Format (Fallback)**:
```bash
https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token={api_token}
```
**Description**: Delete a Variant
**Example Request**:
```bash
# NEW FORMAT (PRIORITY) - Path parameters stay in URL
curl -X DELETE "https://api.lowcodeapi.com/zohocommerce/store/api/v1/variants?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
```
**Example Response**:
```json
{
"data": {
// Provider response here
}
}
```
**Official Documentation**: [Delete a Variant](https://www.zoho.com/commerce/api/delete-variant.html)
---
## API Definition Endpoints
You can retrieve the complete OpenAPI specification for this provider using these endpoints:
**New Format (OpenAPI spec with dynamic path parameters):**
```bash
curl -X GET "https://backend.lowcodeapi.com/zohocommerce/openapi"
```
**Old Format (API definition with sanitized paths):**
```bash
curl -X GET "https://backend.lowcodeapi.com/zohocommerce/definition"
```
## Response Format
All responses from LowCodeAPI are wrapped in a `data` key:
```json
{
"data": {
// Actual response from provider API
}
}
```
The `data` key contains the raw response from the provider's API.
## Complete Endpoint Reference
For a complete list of all 78 endpoints, refer to:
- **Official Provider Documentation**: https://www.zoho.com/commerce/api/introduction.html
## Usage Examples
### Example 1: Basic API Request (New Format)
Making a simple request to Zoho Commerce:
```bash
# Replace RESOURCE_ID with an actual resource ID from your Zoho Commerce account
curl -X GET "https://api.lowcodeapi.com/zohocommerce/resource/{RESOURCE_ID}?api_token=YOUR_API_TOKEN"
```
### Example 2: Request with Query Parameters (New Format)
Request with specific parameters:
```bash
# Include query parameters for filtering
curl -X GET "https://api.lowcodeapi.com/zohocommerce/resources?filter=value&api_token=YOUR_API_TOKEN"
```
## Error Handling
Standard HTTP status codes apply. All responses are wrapped in a `data` key:
```json
{
"data": {
// Actual response from provider
}
}
```