# Zoho Tables Integration via LowCodeAPI
## Overview
Online database
## Base Endpoint
```
https://api.lowcodeapi.com/zohotables/
```
## Authentication
LowCodeAPI handles authentication automatically. You only need to:
1. **Sign up** at [Zoho Tables](https://www.zoho.com/tables)
2. **Get your credentials** from [credential page](https://accounts.zoho.com/developerconsole)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests
**Auth Type**: OAUTH2.0
## API Categories
- **Base** - 4 endpoints
- **Data** - 2 endpoints
- **Export** - 1 endpoints
- **Fields** - 7 endpoints
- **Import** - 1 endpoints
- **Portal** - 1 endpoints
- **Record** - 4 endpoints
- **Tables** - 4 endpoints
- **Views** - 1 endpoints
- **Workspaces** - 7 endpoints
## Common Endpoints
### Category: Base
#### List Base
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/bases`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/bases?portal_id={portal_id}&workspace_id={workspace_id}&api_token={api_token}
```
**Description**: List all the Bases of a Workspace
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | number | Yes | Portal ID |
|`workspace_id` | string | Yes | Workspace ID |
---
#### Duplicate Base
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/bases`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/bases?api_token={api_token}
```
**Description**: Duplicate a new Base in a Workspace
**Request Body**:
```json
{
"portal_id": "<number>",
"workspace_id": "<string>",
"base_id": "<string>",
"base_name": "<string>",
"base_color": "<string>",
"base_icon": "<number>"
}
```
---
#### Update Base
**Method**: `PUT` | **LowCodeAPI Path**: `/api/v1/bases`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/bases?api_token={api_token}
```
**Description**: Update name, icon and color of a Base in the Workspace
**Request Body**:
```json
{
"portal_id": "<number>",
"base_id": "<string>",
"base_name": "<string>",
"base_color": "<string>",
"base_icon": "<number>"
}
```
---
#### Search Base
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/searchbases`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/searchbases?search_string={search_string}&workspace_id={workspace_id}&api_token={api_token}
```
**Description**: Get all the Bases whose names are matched with the search_string
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`search_string` | string | Yes | String to Search |
|`workspace_id` | string | No | WorkspaceID to search inside a particular workspace |
---
### Category: Data
#### List Data
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/records`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/records?base_id={base_id}&table_id={table_id}&view_id={view_id}&record_id={record_id}&count={count}&selection_option_color={selection_option_color}&api_token={api_token}
```
**Description**: Get the list of all records and its data for a specific Table in a Base
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id` | string | Yes | Table Id |
|`view_id` | string | No | View Id |
|`record_id` | string | No | Reference record id |
|`count` | number | No | Selection Option Name |
|`selection_option_color` | string | No | No of records to fetch |
---
#### Update Data
**Method**: `PUT` | **LowCodeAPI Path**: `/api/v1/data`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/data?api_token={api_token}
```
**Description**: Update a field's value of a Record in a Table in a Base
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>",
"record_id": "<string>",
"field_id": "<number>"
}
```
---
### Category: Export
#### Export
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/exports`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/exports?base_id={base_id}&table_id={table_id}&view_id={view_id}&scope={scope}&file_type={file_type}&password={password}&api_token={api_token}
```
**Description**: Use this API to export the base/table/view
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id` | string | No | Table Id |
|`view_id` | string | No | View Id |
|`scope` | string | Yes | base|table|view |
|`file_type` | string | Yes | csv|xls|xlsx|tsv|ics |
|`password` | string | Yes | To get Password protected file |
---
### Category: Fields
#### List Fields
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/fields`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/fields?base_id={base_id}&table_id={table_id}&view_id={view_id}&api_token={api_token}
```
**Description**: Get all the fields and its details for a specific Table in a Base
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id` | string | Yes | Table Id |
|`view_id` | string | No | When a view ID is provided, additional information, such as height and visibility, is included in the response |
---
#### Create Field
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/fields`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/fields?api_token={api_token}
```
**Description**: Add a new field to a Table in a Base
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>"
}
```
---
#### Update Field
**Method**: `PUT` | **LowCodeAPI Path**: `/api/v1/fields`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/fields?api_token={api_token}
```
**Description**: Change name, type and/or type components of the field in a Table
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>"
}
```
---
#### Delete Field
**Method**: `DELETE` | **LowCodeAPI Path**: `/api/v1/fields`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/fields?base_id={base_id}&table_id ={table_id }&field_id={field_id}&api_token={api_token}
```
**Description**: Remove a field from a Table in a Base
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id ` | string | Yes | Table Id |
|`field_id` | string | No | Field Id |
---
#### Create Selection Options
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/selectionoptions`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/selectionoptions?api_token={api_token}
```
**Description**: Add a new selection option in a Field
**Request Body**:
```json
{
"base_id": "<string>",
"table_id ": "<string>"
}
```
---
#### Delete Selection Options
**Method**: `DELETE` | **LowCodeAPI Path**: `/api/v1/selectionoptions`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/selectionoptions?base_id={base_id}&table_id={table_id}&field_id={field_id}&selection_option_id={selection_option_id}&api_token={api_token}
```
**Description**: Delete the selection option in a Field
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id` | string | Yes | Table Id |
|`field_id` | string | No | Field Id |
|`selection_option_id` | string | No | Selection Option Id |
---
#### Update Selection Options
**Method**: `PUT` | **LowCodeAPI Path**: `/api/v1/selectionoptions`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/selectionoptions?api_token={api_token}
```
**Description**: Update the name and color of a selection option in a Field
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>"
}
```
---
### Category: Import
#### Import
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/import`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/import?api_token={api_token}
```
**Description**: Use this API to import the base/table from the files
**Request Body**:
```json
{
"import_scope": "<string>",
"portal_id ": "<string>",
"workspace_id": "<string>",
"base_id": "<string>",
"import_file": "<file>"
}
```
---
### Category: Portal
#### List Portal
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/portals`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/portals?api_token={api_token}
```
**Description**: List Portals
---
### Category: Record
#### Create Record With Data
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/records`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/records?api_token={api_token}
```
**Description**: Add a new record to a Table in a Base
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>"
}
```
---
#### Delete Record
**Method**: `DELETE` | **LowCodeAPI Path**: `/api/v1/records`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/records?base_id={base_id}&table_id={table_id}&record_id={record_id}&api_token={api_token}
```
**Description**: Remove a record from a Table in a Base
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id` | string | Yes | Table Id |
|`record_id` | string | No | Record Id |
---
#### Update Records with Criteria
**Method**: `PUT` | **LowCodeAPI Path**: `/api/v1/records`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/records?api_token={api_token}
```
**Description**: Update the records of a Table in the Base, that matches the given criteria or record IDs
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>",
"data": "<string>"
}
```
---
#### Fetch Records with Criteria
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/fetchrecordswithcriteria`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/fetchrecordswithcriteria?api_token={api_token}
```
**Description**: Fetch the records of a Table in the Base, that matches the given criteria or record IDs
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>",
"view_id": "<string>"
}
```
---
### Category: Tables
#### List Tables
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/tables`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/tables?base_id={base_id}&api_token={api_token}
```
**Description**: Get all the tables of a Base
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
---
#### Duplicate Table
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/tables`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/tables?api_token={api_token}
```
**Description**: Duplicate a Table in a Base
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>",
"table_name": "<string>",
"is_duplicate_with_records": "<boolean>"
}
```
---
#### Update Table
**Method**: `PUT` | **LowCodeAPI Path**: `/api/v1/tables`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/tables?api_token={api_token}
```
**Description**: Update the name of a Table in the Base
**Request Body**:
```json
{
"base_id": "<string>",
"table_id": "<string>",
"table_name": "<string>"
}
```
---
#### Delete Table
**Method**: `DELETE` | **LowCodeAPI Path**: `/api/v1/tables`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/tables?base_id={base_id}&table_id={table_id}&api_token={api_token}
```
**Description**: Remove a specific Table in a Base
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id` | string | Yes | Table Id |
---
### Category: Views
#### List Views
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/views`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/views?base_id={base_id}&table_id={table_id}&api_token={api_token}
```
**Description**: Get the details of all views for a specific Table in a Base
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`base_id` | string | Yes | Base Id |
|`table_id` | string | Yes | Table Id |
---
### Category: Workspaces
#### List Workspaces
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/workspaces`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/workspaces?portal_id={portal_id}&api_token={api_token}
```
**Description**: Get all the Workspaces of a Portal
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | number | Yes | Portal ID |
---
#### Create Workspace
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/workspaces`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/workspaces?api_token={api_token}
```
**Description**: Add a new Workspace in a Portal
**Request Body**:
```json
{
"portal_id": "<number>",
"Workspace_name": "<string>"
}
```
---
#### Update Workspace
**Method**: `PUT` | **LowCodeAPI Path**: `/api/v1/workspaces`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/workspaces?api_token={api_token}
```
**Description**: Update the name of a Workspace in the Portal
**Request Body**:
```json
{
"portal_id": "<number>",
"Workspace_name": "<string>",
"workspace_id": "<string>"
}
```
---
#### Delete Workspace
**Method**: `DELETE` | **LowCodeAPI Path**: `/api/v1/workspaces`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/workspaces?portal_id={portal_id}&workspace_id={workspace_id}&api_token={api_token}
```
**Description**: Remove a specific Workspace in a Portal
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | number | Yes | Portal ID |
|`workspace_id` | string | Yes | Workspace ID |
---
#### List Workspace Members
**Method**: `GET` | **LowCodeAPI Path**: `/api/v1/workspacemembers`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/workspacemembers?portal_id={portal_id}&workspace_id={workspace_id}&api_token={api_token}
```
**Description**: Use this API to list down all the members of a Workspace
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | number | Yes | Portal ID |
|`workspace_id` | string | Yes | Workspace ID |
---
#### Add Workspace Member
**Method**: `POST` | **LowCodeAPI Path**: `/api/v1/workspacemembers`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/workspacemembers?api_token={api_token}
```
**Description**: Add a member in the Workspace
**Request Body**:
```json
{
"portal_id": "<number>",
"workspace_id": "<string>",
"email_id": "<string>",
"role": "<string>"
}
```
---
#### Delete Workspace Members
**Method**: `DELETE` | **LowCodeAPI Path**: `/api/v1/workspacemembers`
**Full URL**:
```
https://api.lowcodeapi.com/zohotables/api/v1/workspacemembers?portal_id={portal_id}&workspace_id={workspace_id}&email_id={email_id}&api_token={api_token}
```
**Description**: Remove members from a specific Workspace
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
|`portal_id` | number | Yes | Portal ID |
|`workspace_id` | string | Yes | Workspace ID |
|`email_id` | string | Yes | Email ID |
---
## Complete Endpoint Reference
For a complete list of all 32 endpoints, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/zohotables/definition`
- **Official Provider Documentation**: https://tables.zoho.com/help/api/v1