Zoho Tables is composed entities that you'll need to be familiar with to access and use the APIs of Zoho Tables. To access these entities, Zoho Tables APIs follow REST API standards and support HTTP requests and responses. All responses are in JSON format, and will have an HTTP status code.
The APIs adhering to REST standards utilize HTTP request methods like GET, POST, DELETE, and PUT.
Method | Description | Acceptable RequestContent Types |
---|---|---|
GET | To retrieve resources. | Query parameters |
POST | To insert or upload any new resource. | Query parameters , application/x-www-form-urlencoded , multipart/form-data |
DELETE | To delete a resource. | Query parameters , application/x-www-form-urlencoded |
PUT | To update an existing resource. | Query parameters , application/x-www-form-urlencoded , multipart/form-data |
If the server faces an error while processing a client's request, it will send a suitable HTTP Status Code as a response to the client.
Code | Status | Description |
---|---|---|
200 | SUCCESS | The request has been processed successfully |
400 | BAD REQUEST | The request didn't meet the criteria |
401 | UNAUTHORIZED | The request cannot be processed since there is no permission to perform this action. |
404 | MISSING MODULE ID(S) | If one or more module IDs are missing in your request. |
406 | NOT ACCEPTABLE | The request attempted to perform an invalid action |
409 | CONFLICTS | The request attempted to perform existing actions |
500 | INTERNAL SERVER ERROR | Generic error encountered due to an unexpected server error. |
The Query parameter name in the Zoho Tables API request should be URL encoded with the UTF-8 Charset.
For example, if a request has query string parameters field_ids_with_values={"fieldID":"value"}, then the left parenthesis ({) must be replaced by %7B , the right parenthesis (}) by %7D, double quotes (") by %22, and colon (:) by %3A. Therefore, field_ids_with_values={"fieldID":"value"} query parameter in the API URL must be encoded as
In Zoho Tables, Portal is your personalized gateway for your account. The parameter portal_id along with the Portal ID should be sent with every API request related to Workspaces and Bases.
Similarly, workspace_id, base_id, table_id, field_id, record_id, and selection_option_id should be used appropriately in your requests.
OAuth 2.0 is a widely accepted protocol used for authentication and authorization. It provides a secure framework for granting secure delegated access to protected resources in Zoho through APIs, enabling various third-party client applications to access them safely.
Zoho Tables APIs use specific scopes that determine the type of resources a client application can access. Tokens are typically created with multiple scopes to enhance security. For example, you can generate a scope to create or view a base. Each scope consists of three parameters: Service Name, Scope Name, and OperationType. The format for defining a scope is as follows:
scope=ServiceName.ScopeName.OperationType
In this example, ZohoTables is the Service Name, workspaces is the Scope Name, and ALL is the Operation Type.
Module | Description | Scopes |
---|---|---|
portals | To access portals related to APIs | ZohoTables.portals.READ WorkDrive.team.ALL WorkDrive.workspace.ALL WorkDrive.files.ALL |
workspaces | To access workspaces related to APIs | ZohoTables.workspaces.READ ZohoTables.workspaces.CREATE ZohoTables.workspaces.UPDATE ZohoTables.workspaces.DELETE ZohoTables.webhooks.UPDATE ZohoTables.webhooks.DELETE WorkDrive.workspace.ALL WorkDrive.files.ALL ZohoCliq.webhooks.CREATE |
bases | To access bases related to APIs | ZohoTables.bases.READ ZohoTables.bases.CREATE ZohoTables.bases.UPDATE ZohoTables.bases.DELETE ZohoTables.webhooks.UPDATE ZohoTables.webhooks.DELETE WorkDrive.files.ALL |
tables | To access tables related to APIs | ZohoTables.tables.READ ZohoTables.tables.CREATE ZohoTables.tables.UPDATE ZohoTables.tables.DELETE ZohoTables.webhooks.UPDATE ZohoTables.webhooks.DELETE |
views | To access views related to APIs | ZohoTables.views.READ |
fields | To access fields related to APIs | ZohoTables.fields.READ ZohoTables.fields.CREATE ZohoTables.fields.DELETE ZohoTables.fields.UPDATE |
records | To access records related to APIs | ZohoTables.records.CREATE ZohoTables.records.DELETE ZohoTables.records.READ ZohoTables.records.UPDATE ZohoTables.webhooks.UPDATE ZohoCliq.webhooks.CREATE ZohoFiles.files.ALL |
data | To access data related to APIs | ZohoTables.records.READ ZohoTables.data.UPDATE ZohoTables.webhooks.UPDATE ZohoFiles.files.ALL ZohoCliq.webhooks.CREATE |
import | To access import related to APIs | ZohoTables.imports.CREATE ZohoTables.webhooks.UPDATE WorkDrive.teamfolders.ALL WorkDrive.files.ALL |
export | To access export related to APIs | ZohoTables.bases.READ ZohoTables.tables.READ ZohoTables.views.READ WorkDrive.files.ALL |
Before initiating authorization or making any API calls to Zoho Tables, you must to register your application in the Zoho Developer Console.
1. Go to Zoho API Console dashboard.
2. Choose a client type for your application.
(For more details, refer to OAuth Overview.)
3. Provide the required details for the chosen client type
4. Click "Create".
5. After registration, you will receive:
After registering, you can enable Multi-DC (Data Center) support (except for Self Client type, which is used only for testing purposes) from the Settings tab in the API console.
To access Zoho Tables APIs, users must authenticate the application, allowing it to make API calls on their behalf using an access token. An access token is a key that the application includes in its API requests to validate its identity. Once authenticated, the application can interact with Zoho Tables programmatically on the user's behalf.
The access token is obtained from a grant token (also known as authorization code). The Zoho Tables APIs use the authorization code grant type to securely provide access to protected resources. The method for generating grant token depends on the client type, with two available options:
Web-based applications are used when your application is web-based, requires user login and consent, and supports multiple users.
Parameter | Type | Description |
---|---|---|
scope * | string | One or more scopes,separated by commas. |
client_id * | string | The Client ID received during the registration. |
response_type * | string | Must be code (Provide this literal string as the value.) |
access_type * | string | Set as 'offline' or 'online'. offline - Returns a refresh token (used to regenerate access tokens after expiration). online - Returns an access token only. |
redirect_uri * | string | One of the redirected URIs provided during registration. Must match exactly. |
state | string | A custom value to be passed through the flow and returned to you as-is. |
Note: All query parameter names and values must be URL-encoded using UTF-8 charset.
The grant token (code) is valid only for 60 seconds. You must use it immediately in the next step to exchange it for an access token.
OAuth2.0 requests typically require authentication via an access token, provided as a bearer token. To authenticate, include this token in the Authorization header of your HTTP request using the bearer value
You must use your domain-specific Zoho Accounts URL to generate access and refresh tokens. The following are the various domains and their corresponding account URLs:
{ access_token: "1000.a*********************b.2**************************e", refresh_token: "1000.a*********************2.0**************************0", token_type: "Bearer", expires_in: 3600 }
Parameter | Type | Description |
---|---|---|
code * | string | The Grant Token or the value of code obtained in the previous step. |
client_id * | string | The Client ID that was generated during the client registration. |
client_secret * | string | The Client Secret that was generated during the client registration. |
redirect_uri * | string | One of the Authorized Redirect URIs you provided during client registration. You must not provide an unregistered redirect URI. |
grant_type * | string | authorization_code (Provide this literal string as the value.) |
scope * | string | The scope the access_token is to be generated for. You can provide multiple scopes by separating them using commas. |
state | string | An opaque string that is round-tripped in the protocol. This value will be returned to you unchanged. |
Once you have acquired the Grant Token, proceed to send a POST request to this API using the provided parameters to generate the access_token.
Parameter | Description |
---|---|
access_token | Access token to access Zoho Tables APIs. |
refresh_token | Refresh token to obtain new access tokens. |
expires_in | Time in seconds after which the access token expires. |
token_type | Type of token obtained. "Bearer" indicates this is an access token. |
After the authentication process is complete, include the access token in the HTTP authorization header for every request to the Zoho Tables API. The value of the header should be "Zoho-oauthtoken {access_token}".
Access tokens expire one hour after generation. To generate a new access token, use the refresh token you generated earlier.
You must use your domain-specific Zoho Accounts URL to refresh your access token.
Parameter | Type | Description |
---|---|---|
refresh_token * | string | The refresh_token obtained in the previous step. |
client_id * | string | The Client ID that was generated during the client registration. |
client_secret * | string | The Client Secret that was generated during the client registration. |
redirect_uri * | string | One of the Authorized Redirect URIs provided during the client registration. You must not provide an unregistered redirect URI. |
grant_type * | string | authorization_code (Provide this literal string as the value.) |
{ access_token: "1000.a*********************b.2**************************e", refresh_token: "1000.a*********************2.0**************************0", token_type: "Bearer", expires_in: 3600 }
Note: You must use your domain-specific Zoho Accounts URL to revoke your refresh token.
Parameter | Type | Description |
---|---|---|
refresh_token | string | The refresh_token obtained from the Generate Access and Refresh Token API. |
Currently, there are no daily or monthly usage limits for Zoho Tables APIs. However, to prevent server overload, there is a rate limit on the number of API calls a user can make per minute.
If this limit is exceeded, the API requests will be blocked for the "Lock Period" (as specified below), and will not be processed for the next n minutes.
API Name | Usage Limit (per minute) | Lock Period (in minutes) |
---|---|---|
List Portals | 30 | 5 |
List Workspaces | 30 | 5 |
Create Workspace | 20 | 5 |
Update Workspace | 20 | 5 |
Delete Workspace | 20 | 5 |
List Workspace Members | 30 | 5 |
Add Workspace Member | 20 | 5 |
Delete Workspace Member | 20 | 5 |
List Bases | 30 | 5 |
Create Base | 20 | 5 |
Duplicate Base | 20 | 5 |
Update Base | 20 | 5 |
Delete Base | 20 | 5 |
Search Bases | 30 | 5 |
List Tables | 30 | 5 |
Create Table | 20 | 5 |
Duplicate Table | 20 | 5 |
Update Table | 20 | 5 |
Delete Table | 20 | 5 |
List Views | 30 | 5 |
Create Record | 20 | 5 |
Create Record With Data | 20 | 5 |
Delete Record | 20 | 5 |
Update Records With Criteria | 20 | 5 |
Fetch Records With Criteria | 30 | 5 |
List Fields | 30 | 5 |
Create Field | 20 | 5 |
Update Field | 20 | 5 |
Delete Field | 20 | 5 |
Create Selection Options | 20 | 5 |
Delete Selection Options | 20 | 5 |
Update Selection Options | 20 | 5 |
List Data | 30 | 5 |
Update Data | 30 | 5 |
Import | 1 | 2 |
API Name | Usage Limit (per 2 minutes) | Lock Period (in minutes) |
---|---|---|
Export | 1 | 2 |
Use this API to get all the Portals.
oauthscope : ZohoTables.portals.READ,WorkDrive.team.ALL,WorkDrive.workspace.ALL,WorkDrive.files.ALL
Role | Number |
---|---|
Owner | 1 |
Manager | 2 |
User | 3 |
ModuleType | Number |
---|---|
Portal | 1 |
Workspace | 2 |
{ "portals": { "fetched" : [ { "portalID": "1", "name": "portal-1", "members" : [["mailID", "role", "name","role's moduleType","userState"], ["mailID", "role", "name","role's moduleType","userState"]], "invitedMembers" : [["mailID", "role","role's moduleType","userState"], ["mailID", "role","role's moduleType","userState"]], "createdTime" : 143698767882, "createdBy" : "name", "createdByMailID" : "mailID", "lastModifiedTime" : 143698767882, "lastModifiedBy" : "name", "lastModifiedByMailID" : "mailID", "isShared" : false, "planType" : "FREE PLAN", "isHomePortal" : true }, { "portalID": "2", "name": "portal-2", "members" : [["mailID", "role", "name","role's moduleType","userState"]], "createdTime" : 143698767886, "createdBy" : "name", "createdByMailID" : "mailID", "lastModifiedTime" : 143698767882, "lastModifiedBy" : "name", "lastModifiedByMailID" : "mailID", "isShared" : true, "planType" : "FREE PLAN", "isHomePortal" : false } ] }, "message": "Portals Fetched Successfully", "status": "success" }
{ "portals": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Portals", "status": "failure" }
Use this API to add a new Portal.
oauthscope : ZohoTables.portals.CREATE
portal_name * | string | Portal Name |
Note: Params with * are mandatory
{ "portals": { "created" : [ { "portalID": "1", "name": "portal-1", "members" : [["mailID", "role", "name"]] } ] }, "message": "Portals Created Successfully", "status": "success" }
{ "portals": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Create Portals", "status": "failure" }
Use this API to update the name and description of a Portal.
oauthscope : ZohoTables.portals.UPDATE
portal_id * | long | Portal ID |
portal_name | string | Portal Name |
Note: Params with * are mandatory
{ "portals": { "updated" : [ { "portalID": "1", "name": "portal-1" } ] }, "message": "Portals Updated Successfully", "status": "success" }
{ "portals": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Update Portals", "status": "failure" }
Use this API to remove a specific Portal.
oauthscope : ZohoTables.portals.DELETE
portal_id * | long | Portal ID |
Note: Params with * are mandatory
{ "portals": { "deleted" : [ { "portalID": "1", "name": "portal-1", "members" : [["mailID", "role","name"], ["mailID", "role","name"]], "invitedMembers" : [["mailID", "role"], ["mailID", "role"]], } ] }, "message": "Portals Deleted Successfully", "status": "success" }
{ "portals": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Portals", "status": "failure" }
Use this API to get all the members of a Portal.
oauthscope : ZohoTables.portals.READ
portal_id * | long | Portal ID |
Note: Params with * are mandatory
Role | Number |
---|---|
Super Admin | 1 |
Admin | 2 |
User | 3 |
{ "portalMembers": { "fetched" : [ { "members" : [["mailID", "role","name"], ["mailID", "role","name"]], "invitedMembers" : [["mailID", "role"], ["mailID", "role"]] } ] }, "message": "Portal Member(s) Fetched Successfully", "status": "success" }
{ "portalMembers": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Portal Member(s)", "status": "failure" }
Use this API to add a member in a Portal.
oauthscope : ZohoTables.portals.CREATE
portal_id * | long | Portal ID |
email_id * | String | Email ID |
role * | int | role constant |
Note: Params with * are mandatory
Roles | Constant |
---|---|
Super Admin | 1(Can't add user as Super Admin) |
Admin | 2 |
User | 3 |
{ "portalMembers": { "added" : [ { "members" : [["mailID", "role","name"]] (or) "invitedMembers" : [["mailID", "role"]] } ] }, "message": "Portal Member(s) Added Successfully", "status": "success" }
{ "portalMembers": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": " "Error in Add Portal Member(s)"", "status": "failure" }
Use this API to remove member from a specific Portal.
oauthscope : ZohoTables.portals.DELETE
portal_id * | long | Portal ID |
email_id * | String | Email ID |
Note: Params with * are mandatory
Roles | Constant |
---|---|
Super Admin | 1(Can't delete Super Admin) |
Admin | 2 |
User | 3 |
{ "portalMembers": { "deleted" : [ { "members" : [["mailID", "role","name"]] } ] }, "message": "Portal Member(s) Deleted Successfully", "status": "success" }
{ "portalMembers": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Portal Member(s)", "status": "failure" }
Use this API to get all the Workspaces of a Portal.
oauthscope : ZohoTables.workspaces.READ,WorkDrive.workspace.ALL,WorkDrive.files.ALL,ZohoCliq.Webhooks.CREATE
portal_id * | long | Portal ID |
Note: Params with * are mandatory
Roles | Constant |
---|---|
Manager | 2 (or) 6 |
Editor | 2 |
Data Maintainer | 8 |
Commenter | 7 |
Viewer | 3 |
Base User | 5 |
ModuleType | Number |
---|---|
Portal | 1 |
Workspace | 2 |
{ "workspaces": { "fetched" : [ { "workspaceID": "1", "name": "workspace-1", "members" : [["mailID", "role", "name","role's moduleType","userState"], ["mailID", "role", "name","role's moduleType","userState"]], "invitedMembers" : [["mailID", "role","role's moduleType","userState"], ["mailID", "role","role's moduleType","userState"]], "createdTime" : 143698767882, "createdBy" : "name", "createdByMailID" : "mailID", "lastModifiedTime" : 143698767882, "lastModifiedBy" : "name", "lastModifiedByMailID" : "mailID", "isHomeWorkspace" : true }, { "workspaceID": "2", "name": "workspace-2", "members" : [["mailID", "role", "name","role's moduleType","userState"]], "createdTime" : 143698767886, "createdBy" : "name", "createdByMailID" : "mailID", "lastModifiedTime" : 143698767882, "lastModifiedBy" : "name", "lastModifiedByMailID" : "mailID", "isHomeWorkspace" : true } ] }, "message": "Workspaces Fetched Successfully", "status": "success" }
{ "workspaces": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Workspaces", "status": "failure" }
Use this API to add a new Workspace in a Portal.
oauthscope : ZohoTables.workspaces.CREATE,WorkDrive.workspace.ALL,WorkDrive.files.ALL,ZohoTables.webhooks.UPDATE,ZohoCliq.Webhooks.CREATE
portal_id * | long | Portal ID |
workspace_name | string | Workspace Name |
Note: Params with * are mandatory
{ "workspaces": { "created" : [ { "workspaceID": "2", "name": "workspace-2", "members" : [["mailID", "role", "name","role's moduleType","userState"]] } ] }, "message": "Workspaces Created Successfully", "status": "success" }
{ "workspaces": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Create Workspaces", "status": "failure" }
Use this API to update the name of a Workspace in the Portal.
oauthscope : ZohoTables.workspaces.UPDATE,WorkDrive.workspace.ALL,WorkDrive.files.ALL,ZohoCliq.Webhooks.CREATE
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
workspace_name * | string | Workspace Name |
Note: Params with * are mandatory
{ "workspaces": { "updated" : [ { "workspaceID": "2", "name": "workspace-2", } ] }, "message": "Workspaces Updated Successfully", "status": "success" }
{ "workspaces": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Update Workspaces", "status": "failure" }
Use this API to remove a specific Workspace in a Portal.
oauthscope : ZohoTables.workspaces.DELETE,WorkDrive.workspace.ALL,WorkDrive.files.ALL,ZohoTables.webhooks.DELETE,ZohoCliq.Webhooks.CREATE
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
Note: Params with * are mandatory
{ "workspaces": { "deleted" : [ { "workspaceID": "2", "name": "workspace-2", "members" : [["mailID", "role", "name", "role's moduleType","userState"], ["mailID", "role", "name", "role's moduleType","userState"]] } ] }, "message": "Workspaces Deleted Successfully", "status": "success" }
{ "workspaces": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Workspaces", "status": "failure" }
Use this API to list down all the members of a Workspace.
oauthscope : ZohoTables.workspaces.READ,WorkDrive.workspace.ALL,WorkDrive.files.ALL,ZohoCliq.Webhooks.CREATE
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
Note: Params with * are mandatory
Roles | Constant |
---|---|
Manager | 2 (or) 6 |
Editor | 2 |
Data Maintainer | 8 |
Commenter | 7 |
Viewer | 3 |
Base User | 5 |
ModuleType | Number |
---|---|
Portal | 1 |
Workspace | 2 |
{ "workspaceMembers": { "fetched" : [ { "members" : [["mailID", "role","name","role's moduleType","userState"], ["mailID", "role","name","role's moduleType","userState"]], "invitedMembers" : [["mailID", "role","role's moduleType","userState"], ["mailID", "role","role's moduleType","userState"]] } ] }, "message": "Workspace Member(s) Fetched Successfully", "status": "success" }
{ "workspaceMembers": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Workspace Member(s)", "status": "failure" }
Use this API to add a member in the Workspace.
oauthscope : ZohoTables.workspaces.CREATE,WorkDrive.workspace.ALL,WorkDrive.files.ALL,ZohoCliq.Webhooks.CREATE
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
email_id * | string | Email ID |
role * | int | role constant |
Note: Params with * are mandatory
Roles | Constant |
---|---|
Manager | 6 |
Editor | 2 |
Data Maintainer | 8 |
Commenter | 7 |
Viewer | 3 |
Base User | 5 |
ModuleType | Number |
---|---|
Portal | 1 |
Workspace | 2 |
{ "workspaceMembers": { "added" : [ { "members" : [["mailID", "role","name","role's moduleType","userState"]] (or) "invitedMembers" : [["mailID", "role","role's moduleType","userState"]] } ] }, "message": "Workspace Member(s) Added Successfully", "status": "success" }
{ "workspaceMembers": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Add Workspace Member(s)", "status": "failure" }
Use this API to remove members from a specific Workspace.
oauthscope : ZohoTables.workspaces.DELETE,WorkDrive.workspace.ALL,WorkDrive.files.ALL,ZohoCliq.Webhooks.CREATE
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
email_id * | string | Email ID |
Note: Params with * are mandatory
Roles | Constant |
---|---|
Manager | 6 |
Editor | 2 |
Data Maintainer | 8 |
Commenter | 7 |
Viewer | 3 |
Base User | 5 |
ModuleType | Number |
---|---|
Portal | 1 |
Workspace | 2 |
{ "workspaceMembers": { "deleted" : [ { "members" : [["mailID", "role","name","role's moduleType","userState"]] } ] }, "message": "Workspace Member(s) Deleted Successfully", "status": "success" }
{ "workspaceMembers": { "error": { "code": "<<<error code >>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Workspace Member(s)", "status": "failure" }
Use this API to get all the Bases of a Workspace.
oauthscope : ZohoTables.bases.READ,WorkDrive.files.ALL
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
Note: Params with * are mandatory
{ "bases": { "fetched" : [ { "baseID": "1", "name": "base-1", "icon" : 1, "color" : "6575da", "createdTime" : 143698767882, "createdBy" : "name", "createdByMailID" : "mailID", "lastModifiedTime" : 143698767882, "lastModifiedBy" : "name", "lastModifiedByMailID" : "mailID" }, { "baseID": "2", "name": "base-2", "icon" : 1, "color" : "6575da", "createdTime" : 143698767882, "createdBy" : "name", "createdByMailID" : "mailID", "lastModifiedTime" : 143698767882, "lastModifiedBy" : "name", "lastModifiedByMailID" : "mailID" } ] }, "message": "Bases Fetched Successfully", "status": "success" }
{ "bases": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Bases", "status": "failure" }
Use this API to add a new Base in a Workspace.
oauthscope : ZohoTables.bases.CREATE,WorkDrive.files.ALL,ZohoTables.webhooks.UPDATE
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
base_name | string | Base Name |
base_icon | Number | Base Icon |
base_color | Hex Code | Base Color |
Note: Params with * are mandatory
Icon | Number |
---|---|
BriefCaseIcon | 0 |
AnalysisIcon | 1 |
AnchourIcon | 2 |
ArchiveIcon | 3 |
BeakerIcon | 4 |
BellIcon | 5 |
BookIcon | 6 |
BookoneIcon | 7 |
AmbulanceIcon | 8 |
BugIcon | 9 |
BuildingIcon | 10 |
BulbIcon | 11 |
CalculatorIcon | 12 |
CalendarIcon | 13 |
CameraIcon | 14 |
ChatIcon | 15 |
CheckListIcon | 16 |
ClockIcon | 17 |
CloudIcon | 18 |
CodeIcon | 19 |
CoffeeIcon | 20 |
CogsIcon | 21 |
ConvertionIcon | 22 |
DashboardIcon | 23 |
DevelopmentIcon | 24 |
FavoriteIcon | 25 |
FlimIcon | 26 |
FolderIcon | 27 |
GlassCupIcon | 28 |
HomeIcon | 29 |
HospitalIcon | 30 |
ImageIcon | 31 |
InfoIcon | 32 |
LoudSpeakerIcon | 33 |
EmailIcon | 34 |
MarkerIcon | 35 |
MedicalKitIcon | 36 |
MicIcon | 37 |
MoonIcon | 38 |
MusicIcon | 39 |
OrganisationIcon | 40 |
PagesIcon | 41 |
PhoneIcon | 42 |
PlayerIcon | 43 |
RssIcon | 44 |
ScissorIcon | 45 |
ScreenShotIcon | 46 |
ShoppingIcon | 47 |
SpeakerIcon | 48 |
FloppyIcon | 49 |
TabletIcon | 50 |
TagsIcon | 51 |
TargetIcon | 52 |
TeaIcon | 53 |
TransportIcon | 54 |
TriggerIcon | 55 |
BaseUserIcon | 56 |
BaseUsersIcon | 57 |
WindowIcon | 58 |
["7a62c4", "bf4e85", "0a7ea8", "5565ce", "b05807", "058722", "af4c41", "2c72df", "a36b0a", "576168", "a44ca8", "f283a7", "088375", "66d2ce", "cf4b0e", "697d21", "bd2f2f", "61c3f2", "e3a605", "42506b", "d1c7ef", "ecc4d7", "bde0ed", "c1c7ed", "f3d7bc", "c6e3cc", "e7c0c0", "bbd3fa", "f9d9a2", "c3c7ca", "e3b5e5", "ffcfde", "bbede7", "b5f7f5", "f2c0aa", "e7f2bf", "f7b5b5", "bee6fa", "ffe8ab", "c5d2eb"]
{ "bases": { "created" : [ { "baseID": "1", "name": "base-1", "icon" : 1, "color" : "6575da" } ] }, "message": "Bases Created Successfully", "status": "success" }
{ "bases": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Create Bases", "status": "failure" }
Use this API to duplicate a new Base in a Workspace.
oauthscope : ZohoTables.bases.CREATE,WorkDrive.files.ALL,ZohoTables.webhooks.UPDATE
portal_id * | long | Portal ID |
workspace_id * | string | Workspace ID |
base_id * | string | Source Base Id |
base_name | string | Base Name |
base_icon | Number | Base Icon |
base_color | Hex Code | Base Color |
is_data_needed | boolean | By default it is true. Can be set as false if you want to duplicate the base without its data. |
Note: Params with * are mandatory
Icon | Number |
---|---|
BriefCaseIcon | 0 |
AnalysisIcon | 1 |
AnchourIcon | 2 |
ArchiveIcon | 3 |
BeakerIcon | 4 |
BellIcon | 5 |
BookIcon | 6 |
BookoneIcon | 7 |
AmbulanceIcon | 8 |
BugIcon | 9 |
BuildingIcon | 10 |
BulbIcon | 11 |
CalculatorIcon | 12 |
CalendarIcon | 13 |
CameraIcon | 14 |
ChatIcon | 15 |
CheckListIcon | 16 |
ClockIcon | 17 |
CloudIcon | 18 |
CodeIcon | 19 |
CoffeeIcon | 20 |
CogsIcon | 21 |
ConvertionIcon | 22 |
DashboardIcon | 23 |
DevelopmentIcon | 24 |
FavoriteIcon | 25 |
FlimIcon | 26 |
FolderIcon | 27 |
GlassCupIcon | 28 |
HomeIcon | 29 |
HospitalIcon | 30 |
ImageIcon | 31 |
InfoIcon | 32 |
LoudSpeakerIcon | 33 |
EmailIcon | 34 |
MarkerIcon | 35 |
MedicalKitIcon | 36 |
MicIcon | 37 |
MoonIcon | 38 |
MusicIcon | 39 |
OrganisationIcon | 40 |
PagesIcon | 41 |
PhoneIcon | 42 |
PlayerIcon | 43 |
RssIcon | 44 |
ScissorIcon | 45 |
ScreenShotIcon | 46 |
ShoppingIcon | 47 |
SpeakerIcon | 48 |
FloppyIcon | 49 |
TabletIcon | 50 |
TagsIcon | 51 |
TargetIcon | 52 |
TeaIcon | 53 |
TransportIcon | 54 |
TriggerIcon | 55 |
BaseUserIcon | 56 |
BaseUsersIcon | 57 |
WindowIcon | 58 |
["7a62c4", "bf4e85", "0a7ea8", "5565ce", "b05807", "058722", "af4c41", "2c72df", "a36b0a", "576168", "a44ca8", "f283a7", "088375", "66d2ce", "cf4b0e", "697d21", "bd2f2f", "61c3f2", "e3a605", "42506b", "d1c7ef", "ecc4d7", "bde0ed", "c1c7ed", "f3d7bc", "c6e3cc", "e7c0c0", "bbd3fa", "f9d9a2", "c3c7ca", "e3b5e5", "ffcfde", "bbede7", "b5f7f5", "f2c0aa", "e7f2bf", "f7b5b5", "bee6fa", "ffe8ab", "c5d2eb"]
{ "bases": { "duplicated" : [ { "baseID": "1", "name": "base-1", "icon" : 1, "color" : "6575da" } ] }, "message": "Bases Duplicated Successfully", "status": "success" }
{ "bases": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Duplicate Bases", "status": "failure" }
Use this API to update name, icon and color of a Base in the Workspace.
oauthscope : ZohoTables.bases.UPDATE,WorkDrive.files.ALL
portal_id * | long | Portal ID |
base_id * | string | Base Id |
base_name | string | Base Name |
base_icon | Number | Base Icon |
base_color | Hex Code | Base Color |
Note: Params with * are mandatory
Icon | Number |
---|---|
BriefCaseIcon | 0 |
AnalysisIcon | 1 |
AnchourIcon | 2 |
ArchiveIcon | 3 |
BeakerIcon | 4 |
BellIcon | 5 |
BookIcon | 6 |
BookoneIcon | 7 |
AmbulanceIcon | 8 |
BugIcon | 9 |
BuildingIcon | 10 |
BulbIcon | 11 |
CalculatorIcon | 12 |
CalendarIcon | 13 |
CameraIcon | 14 |
ChatIcon | 15 |
CheckListIcon | 16 |
ClockIcon | 17 |
CloudIcon | 18 |
CodeIcon | 19 |
CoffeeIcon | 20 |
CogsIcon | 21 |
ConvertionIcon | 22 |
DashboardIcon | 23 |
DevelopmentIcon | 24 |
FavoriteIcon | 25 |
FlimIcon | 26 |
FolderIcon | 27 |
GlassCupIcon | 28 |
HomeIcon | 29 |
HospitalIcon | 30 |
ImageIcon | 31 |
InfoIcon | 32 |
LoudSpeakerIcon | 33 |
EmailIcon | 34 |
MarkerIcon | 35 |
MedicalKitIcon | 36 |
MicIcon | 37 |
MoonIcon | 38 |
MusicIcon | 39 |
OrganisationIcon | 40 |
PagesIcon | 41 |
PhoneIcon | 42 |
PlayerIcon | 43 |
RssIcon | 44 |
ScissorIcon | 45 |
ScreenShotIcon | 46 |
ShoppingIcon | 47 |
SpeakerIcon | 48 |
FloppyIcon | 49 |
TabletIcon | 50 |
TagsIcon | 51 |
TargetIcon | 52 |
TeaIcon | 53 |
TransportIcon | 54 |
TriggerIcon | 55 |
BaseUserIcon | 56 |
BaseUsersIcon | 57 |
WindowIcon | 58 |
["7a62c4", "bf4e85", "0a7ea8", "5565ce", "b05807", "058722", "af4c41", "2c72df", "a36b0a", "576168", "a44ca8", "f283a7", "088375", "66d2ce", "cf4b0e", "697d21", "bd2f2f", "61c3f2", "e3a605", "42506b", "d1c7ef", "ecc4d7", "bde0ed", "c1c7ed", "f3d7bc", "c6e3cc", "e7c0c0", "bbd3fa", "f9d9a2", "c3c7ca", "e3b5e5", "ffcfde", "bbede7", "b5f7f5", "f2c0aa", "e7f2bf", "f7b5b5", "bee6fa", "ffe8ab", "c5d2eb"]
{ "bases": { "updated" : [ { "baseID": "1", "name": "base-1", "icon" : 1, "color" : "6575da" } ] }, "message": "Bases Updated Successfully", "status": "success" }
{ "bases": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Update Bases", "status": "failure" }
Use this API to remove a specific Base in a Workspace.
oauthscope : ZohoTables.bases.DELETE,WorkDrive.files.ALL,ZohoTables.webhooks.DELETE
portal_id * | long | Portal ID |
base_id * | string | Base Id |
Note: Params with * are mandatory
{ "bases": { "deleted" : [ { "baseID": "1", "name": "base-1", "icon" : 1, "color" : "6575da" } ] }, "message": "Bases Deleted Successfully", "status": "success" }
{ "bases": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Bases", "status": "failure" }
Use this API to get all the Bases whose names are matched with the search_string.
oauthscope : ZohoTables.bases.READ,WorkDrive.files.ALL
search_string * | string | String to Search |
portal_id * | long | Portal ID |
workspace_id | string | WorkspaceID to search inside a particular workspace |
Note: Params with * are mandatory
{ "bases": { "searched" : [ { "baseID": "1", "name": "base-1", "icon" : 1, "color" : "6575da", "workspaceID" : "2", "workspaceName" : "workspace_2" }, { "baseID": "2", "name": "base-2", "icon" : 1, "color" : "6575da", "workspaceID" : "5", "workspaceName" : "workspace_5" } ] }, "message": "Bases Searched Successfully", "status": "success" }
{ "bases": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Search Bases", "status": "failure" }
Use this API to get all the tables of a Base.
oauthscope : ZohoTables.tables.READ
base_id * | string | Base Id |
Note: Params with * are mandatory
{ "tables": { "fetched" : [ { "tableID": "1", "name": "table-1", "recordsCount": 28, "fieldsCount": 12, "isActiveTable": true }, { "tableID": "2", "name": "table-2", "recordsCount": 5, "fieldsCount": 3, "isActiveTable": false } ] }, "message": "Tables Fetched Successfully", "status": "success" }
{ "tables": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Tables", "status": "failure" }
Use this API to add a new Table in a Base.
oauthscope : ZohoTables.tables.CREATE,ZohoTables.webhooks.UPDATE
base_id * | string | Base Id |
table_name | string | Table Name |
Note: Params with * are mandatory
{ "tables": { "created" : [ { "tableID": "1", "name": "table-1", "recordsCount": 28, "fieldsCount": 12 }, ] }, "message": "Tables Created Successfully", "status": "success" }
{ "tables": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Create Tables", "status": "failure" }
Use this API to duplicate a Table in a Base.
oauthscope : ZohoTables.tables.CREATE,ZohoTables.webhooks.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
table_name | string | Table Name |
is_duplicate_with_records | boolean | By default it is true. Can be set as false if you want to duplicate the table without its records |
Note: Params with * are mandatory
{ "tables": { "duplicated" : [ { "tableID": "1", "name": "table-1", "recordsCount": 28, "fieldsCount": 12 }, ] }, "message": "Tables Duplicated Successfully", "status": "success" }
{ "tables": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Duplicate Tables", "status": "failure" }
Use this API to update the name of a Table in the Base.
oauthscope : ZohoTables.tables.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
table_name | string | Table Name |
Note: Params with * are mandatory
{ "tables": { "updated" : [ { "tableID": "1", "name": "table-1" }, ] }, "message": "Tables Updated Successfully", "status": "success" }
{ "tables": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Update Tables", "status": "failure" }
Use this API to remove a specific Table in a Base.
oauthscope : ZohoTables.tables.DELETE,ZohoTables.webhooks.DELETE
base_id * | string | Base Id |
table_id * | string | Table Id |
Note: Params with * are mandatory
{ "tables": { "deleted" : [ { "tableID": "1", "name": "table-1" }, ] }, "message": "Tables Deleted Successfully", "status": "success" }
{ "tables": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Tables", "status": "failure" }
Use this API to get the details of all views for a specific Table in a Base.
oauthscope : ZohoTables.views.READ
base_id * | string | Base Id |
table_id * | string | Table Id |
Note: Params with * are mandatory
View type | Number |
---|---|
Grid | 1 |
Kanban | 2 |
Calendar | 3 |
Gallery | 4 |
Form | 6 |
{ "views": { "fetched" : [ { "viewID": "1", "name": "view-1", "description": "description", "type": "1", "isSortApplied" : true, "isFilterApplied" : false, "isActiveView": false }, { "viewID": "v2", "name": "view-2", "description": "description", "type": "2", "isSortApplied" : true, "isFilterApplied" : true, "isActiveView": true } ] }, "message": "Views Fetched Successfully", "status": "success" }
{ "tables": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Tables", "status": "failure" }
Use this API to add a new record to a Table in a Base.
oauthscope : ZohoTables.records.CREATE,ZohoFiles.files.ALL,ZohoCliq.Webhooks.CREATE,ZohoTables.webhooks.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
view_id | string | View Id Note : View User must provide viewID |
Note: Params with * are mandatory
{ "records": { "created": [ { "recordID": "r1", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" } } ] }, "message": "Records Created Successfully", "status": "success" }
{ "records": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Create Record", "status": "failure" }
Use this API to remove a record from a Table in a Base.
oauthscope : ZohoTables.records.DELETE,ZohoFiles.files.ALL,ZohoCliq.Webhooks.CREATE,ZohoTables.webhooks.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
view_id | string | View Id Note : View User must provide viewID |
record_id * | string | Record Id |
Note: Params with * are mandatory
{ "records": { "deleted": [ { "recordID": "1", } ] }, "message": "Records Deleted Successfully", "status": "success" }
{ "records": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Record", "status": "failure" }
Use this API to add a new record to a Table in a Base.
oauthscope : ZohoTables.records.CREATE,ZohoFiles.files.ALL,ZohoCliq.Webhooks.CREATE,ZohoTables.webhooks.UPDATE
base_id * | String | Base Id |
table_id * | String | Table Id |
view_id | string | View Id Note : View User must provide viewID |
field_ids_with_values | JsonObject | The data that needs to be updated. Examples are given below. If field_ids_with_values is not provided, the record will be created with empty data. |
field_ids | JsonArray | Field Ids As Array |
values | JsonArray | Corresponding Values for fields As Array |
Note : field_ids_with_values JsonObject and field_ids and values JsonArray both will work for mentioning data. But field_ids_with_values JsonObject gets the high precedence. |
Note: Params with * are mandatory
{ "records": { "created": [ { "recordID": "r1", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" } } ] }, "message": "Records Created Successfully", "status": "success" }
{ "records": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Record", "status": "failure" }
Use this API to update the records of a Table in the Base, that matches the given criteria or record IDs.
oauthscope : ZohoTables.records.UPDATE,ZohoFiles.files.ALL,ZohoCliq.Webhooks.CREATE,ZohoTables.webhooks.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
view_id | string | View Id Note : View User must provide viewID |
data * | string | The data that needs to be updated. Examples given below |
is_ids_used_in_data | boolean | By default it is false. Can be set as true if the field is specified by "ID" in data. |
criteria | string | If criteria is not set, all available records will get updated. Mention the criteria as described below. |
is_ids_used_in_params | boolean | By default it is false. Can be set as true if the field is specified by "ID" in criteria. |
first_match_only | boolean | By default it is false. If true and if there are multiple records on the specified criteria, records will be updated for first match alone. Otherwise, all the matched records will be updated. |
is_case_sensitive | boolean | By default it is true. Can be set as false for case-insensitive search. Note : Field names and conditions should be case-sensitive. This case-sensitive and case-insensitive search only applicable for the values in the criteria whose field type is any of the following : Text, URL, Email, Attachment, Link and Lookup if linked using any one of previously mentioned field types. |
is_upsert_needed | boolean | By default it is false. Can be set us true if needed. (upsert-If the criteria do not find a matching record, a new record will be created with the given data) |
record_ids | JSONArray | record IDs as array for updating records with given data. Note : you can give record IDs instead of criteria for updating records. record IDs have more precedence. The parameters first_match_only, is_case_sensitive, is_ids_used_in_params, and is_upsert_needed are specifically applicable when using criteria exclusively. |
Note: Params with * are mandatory
Fields | Condition Types |
---|---|
Numeric, Autonumber, Percentage, Rating, Currency, Formula and rollup field if return type is Number, Link and Lookup if leaf field type is one of the above | equals (or) =, not equals (or) !=, <, <=, >, >=, is empty, is not empty |
URL, Email, Text, Attachment, Collaborator, PhoneNumber, Multi Select, Single Selection, CheckBox, Created by, Modified by, Keyword extraction, Language detection, Sentiment, Link and Lookup if leaf field type is one of the above | equals (or) =, not equals (or) !=, contains, does not contains, starts with, ends with, is empty, is not empty |
Date, Created time, Modified Time, Formula and rollup field if return type is date, Link and Lookup if leaf field type is one of the above | equals (or) =, not equals (or) !=, is empty, is not empty |
{ "records": { "updated": [ { "recordID": "r1", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" } } ] }, "message": "Record(s) Updated Successfully", "status": "success" }
{ "records": { "created": [ { "recordID": "r1", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" } } ] }, "message": "Record(s) Created Successfully", "status": "success" }
{ "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }
Use this API to fetch the records of a Table in the Base, that matches the given criteria or record IDs. Get view specific details of those records by giving view ID in the request.
oauthscope : ZohoTables.records.READ
base_id * | string | Base Id |
table_id * | string | Table Id |
view_id | string | View ID Note : View User must provide viewID. When a view ID is provided, additional information, such as height and visibility, is included in the response |
criteria | string | If criteria is not set, all available records will get fetched(max 1000). Mention the criteria as described below. |
first_match_only | boolean | By default it is false. If true and if there are multiple records on the specified criteria, records will be fetched for first match alone. Otherwise, all the matched records will be fetched. |
is_case_sensitive | boolean | By default it is true. Can be set as false for case-insensitive search. Note : Field names and conditions should be case-sensitive. This case-sensitive and case-insensitive search only applicable for the values in the criteria whose field type is any of the following : Text, URL, Email, Attachment, Link and Lookup if linked using any one of previously mentioned field types |
is_ids_used_in_params | boolean | By default it is false. Can be set as true if the field is specified by "ID" in criteria. |
reference_record_id | string | Reference record ID. Note:Data fetch begins from the provided Record ID. If the specified record ID is not present, the fetch process begins from the first record ID matched criteria. |
count | int | No of records to fetch - max 1000 (default 1000) |
record_ids | JSONArray | record IDs as array for fetching records.You can add up to 500 IDs in this array. Note : you can give record IDs instead of criteria for fetching records.Record IDs have more precedence than criteria. The parameters first_match_only, is_case_sensitive, is_ids_used_in_params, reference_record_id, and count are specifically applicable when using criteria exclusively. |
Note: Params with * are mandatory
Fields | Condition Types |
---|---|
Numeric, Autonumber, Percentage, Rating, Currency, Formula and rollup field if return type is Number, Link and Lookup if leaf field type is one of the above | equals (or) =, not equals (or) !=, <, <=, >, >=, is empty, is not empty |
URL, Email, Text, Attachment, Collaborator, PhoneNumber, Multi Select, Single Selection, CheckBox, Created by, Modified by, Keyword extraction, Language detection, Sentiment, Link and Lookup if leaf field type is one of the above | equals (or) =, not equals (or) !=, contains, does not contains, starts with, ends with, is empty, is not empty |
Date, Created time, Modified Time, Formula and rollup field if return type is date, Link and Lookup if leaf field type is one of the above | equals (or) =, not equals (or) !=, is empty, is not empty |
{ "records": { "fetched": [ { "recordID": "r1", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" }, "visibility" : "true", //optional - if view_id provided "height" : 20.0 //optional - if view_id provided }, { "recordID": "r2", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" }, "visibility" : "false", //optional - if view_id provided "height" : 20.5 //optional - if view_id provided } ] }, "message": "Record(s) Fetched Successfully", "status": "success" }
{ "records": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Records", "status": "failure" }
Use this API to get all the fields and its details for a specific Table in a Base. Get view specific details of those fields by giving view_id in the request.
oauthscope : ZohoTables.fields.READ
base_id * | string | Base Id |
table_id * | string | Table Id |
view_id | string | View Id Note : View User must provide viewID |
Note: Params with * are mandatory
Summary type | Number |
---|---|
None | 0 |
Empty | 1 |
Filled | 2 |
Unique | 3 |
Percent-Filled | 4 |
Percent-Empty | 5 |
Percent-Unique | 6 |
Sum | 7 |
Average | 8 |
Min | 9 |
Max | 10 |
Median | 11 |
Range | 12 |
Standard Deviation | 13 |
Histogram | 14 |
Checked | 15 |
Unchecked | 16 |
Percent-Checked | 17 |
Percent-Unchecked | 18 |
Date Range In Days | 19 |
Date Range In Months | 20 |
Earliest Date | 21 |
Latest Date | 22 |
Total Attachment Size | 23 |
{ "fields": { "fetched" : [ { "fieldID": "1", "name": "field-1", "type": "23", "typeComponents" : { "textCase" : 1 } "defaultValue" : "Hello" "visibility" : "true", //optional - if view_id provided "width" : 20.0, //optional - if view_id provided "summary" : { //optional - if view_id provided "type" : "7", "value" : "10" } }, { "fieldID": "2", "name": "field-2", "type": "3", "typeComponents" : { "initialValue" : 1.0, "stepSize" : 2.0, "prefix" : "Rs.", "suffix" : "only" } "visibility" : "false", //optional - if view_id provided "width" : 20.5, //optional - if view_id provided "summary" : { //optional - if view_id provided "type" : "0", "value" : "" } } ] }, "message": "Fields Fetched Successfully", "status": "success" }
{ "fields": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Fields", "status": "failure" }
Use this API to add a new field to a Table in a Base.
oauthscope : ZohoTables.fields.CREATE
base_id * | string | Base Id |
table_id * | string | Table Id |
type | number | Field type |
Field type components can be added (as key value pair in the same request) based on the field type |
Note: Params with * are mandatory
Note:- Default value for single selection field will be ignored during field creation, if given.
{ "fields": { "created" : [ { "fieldID": "1", "name": "field-1", "type": "6", "typeComponents" : { "symbol" : 10, "symbolPosition" : 2, "thousandSeparator" : 1, "precision" : 2 }, "defaultValue" : null } ] }, "message": "Fields Created Successfully", "status": "success" }
{ "fields": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Fields", "status": "failure" }
Use this API to change name, type and/or type components of the field in a Table.
oauthscope : ZohoTables.fields.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
field_id * | string | Field Id |
field_name | string | Field name |
type * | number | Field type |
Field type components can be added (as key value pair in the same request) based on the field type |
Note: Params with * are mandatory
{ "fields": { "updated" : [ { "fieldID": "1", "name": "field-1", "type": "15", "typeComponents" : { "precision" : 2, "thousandSeparator" : 0 }, "defaultValue" : "50" } ] }, "message": "Field(s) Updated Successfully", "status": "success" }
{ "fields": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Update Fields", "status": "failure" }
Use this API to remove a field from a Table in a Base.
oauthscope : ZohoTables.fields.DELETE
base_id * | string | Base Id |
table_id * | string | Table Id |
field_id * | string | Field Id |
Note: Params with * are mandatory
{ "fields": { "deleted" : [ { "fieldID": "1", "name": "field-1" } ] }, "message": "Fields Deleted Successfully", "status": "success" }
{ "fields": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Fields", "status": "failure" }
Field Type Constants | Number |
---|---|
Attachments | 2 |
Auto-Number | 3 |
Created-Time | 5 |
Currency | 6 |
Date-Time | 7 |
9 | |
Modified-Time | 12 |
Number | 15 |
Percent | 16 |
Phone-Number | 17 |
Text | 23 |
Url | 24 |
CheckBox | 4 |
SingleSelection | 21 |
MultipleSelection | 13 |
Rating | 19 |
Formula | 10 |
Collaborator | 18 |
Created-By | 25 |
Modified-By | 26 |
Link | 30 |
Lookup | 27 |
Rollup | 31 |
Sentimental-Analysis | 32 |
Language-Detection | 33 |
Keyword-Extraction | 34 |
Field Type | Components | Component Type |
---|---|---|
Auto-Number | initial_value | double |
step_size | double | |
prefix | string | |
suffix | string | |
Date-Time/Created-Time/ Modified-Time | date_format | int |
time_format | int | |
Currency | precision | int |
thousand_separator | int | |
symbol | int | |
symbol_position | int | |
default_value | string | |
Number | precision | int |
thousand_separator | int | |
default_value | string | |
Percent | precision | int |
thousand_separator | int | |
show_theme | int | |
default_value | string | |
Phone-Number | phone_number_format | String |
Text | text_case | int |
default_value | string | |
Checkbox | style | int |
color | String | |
default_value | boolean | |
Rating | style | int |
color | String | |
max_limit | int | |
SingleSelection | show_theme | int |
default_value | string | |
MultipleSelection | show_theme | int |
Email/URL | - | - |
Attachments | - | - |
Collaborator | multiple_value_support | int |
notify_members | int | |
Link | mirror_field_id | string |
restricted_to_view_id | string | |
relationship_direction | int | |
source_table_id | string | |
destination_table_id | string | |
Lookup | link_field_id | string |
mirror_field_id | string | |
Rollup | link_field_id | string |
mirror_field_id | string | |
formula_constant | int | |
Formula | formula_string | string |
return_formats | JsonArray | |
return_formats: [ { return_type, parameters : { it will change w.r.t return_type } } ] | int JsonObject | |
CreatedBy/ModifiedBy | - | - |
Sentimental-Analysis | source_field_id | string |
angry_emotion_meta | JsonObject | |
disappointed_emotion_meta | JsonObject | |
sarcastic_emotion_meta | JsonObject | |
neutral_emotion_meta | JsonObject | |
happy_emotion_meta | JsonObject | |
extremely_happy_emotion_meta | JsonObject | |
JsonObject format: { emotion_name emoji_type } | string int | |
Language-Detection | source_field_id | string |
Keyword-Extraction | source_field_id | string |
max_number_of_keywords | int | |
restricted_keywords | JsonArray | |
JsonArray format: [ Keywords to be restricted ] | string |
["ebe7f8", "f7e7ef", "e5f3f8", "e6e8f8", "faefe4", "e8f4eb", "f5e6e6", "e4eefd", "fdf0da", "e7e9ea", "c7c1ec", "ebc2d6", "bfe1ee", "bfc4ed", "f2d6ba", "c8e5cf", "e8c5c5", "b3cff9", "fbe0b2", "d3d7d9", "aa98e2", "df9bbb", "97cee3", "98a2e1", "e4bc96", "a2d7ad", "de9b9b", "83aff6", "f0ca89", "b9bdc1"]
["7a62c4", "bf4e85", "0a7ea8", "5565ce", "b05807", "058722", "af4c41", "2c72df", "a36b0a", "576168", "a44ca8", "f283a7", "088375", "66d2ce", "cf4b0e", "697d21", "bd2f2f", "61c3f2", "e3a605", "42506b"]
["7a62c4", "bf4e85", "0a7ea8", "5565ce", "b05807", "058722", "af4c41", "2c72df", "a36b0a", "576168", "a44ca8", "f283a7", "088375", "66d2ce", "cf4b0e", "697d21", "bd2f2f", "61c3f2", "e3a605", "42506b"]
Date Formats | Value |
---|---|
FRIENDLY | 1 |
EUROPE | 2 |
US | 3 |
ISO | 4 |
FRIENDLY_WITH_DAY | 5 |
Time Formats | Value |
---|---|
NONE | 0 |
HR24 | 1 |
HR12 | 2 |
Currency Symbols | Value |
---|---|
USD | 1 |
EUR | 2 |
GBP | 3 |
JPY | 4 |
CAD | 5 |
AUD | 6 |
CNY | 7 |
CHF | 8 |
SGD | 9 |
INR | 10 |
ZAR | 11 |
Currency Symbol Position | Value |
---|---|
DEFAULT | 1 |
FIRST | 2 |
LAST | 3 |
ACCOUNTING | 4 |
NONE | 5 |
Thousand Separator | Value |
---|---|
NO_GROUPING | 1 |
THREE_DIGIT_GROUPING | 2 |
TWO_DIGIT_GROUPING | 3 |
Text Case | Value |
---|---|
AS_ENTRY | 1 |
INIT_CAPS | 2 |
LOWER | 3 |
UPPER | 4 |
SENTENCE | 5 |
PRECISION | Value |
---|---|
NONE | 0 |
ONE | 1 |
TWO | 2 |
THREE | 3 |
Rating Symbols | Value |
---|---|
HEART | 1 |
STAR | 2 |
FLAG | 3 |
THUMB | 4 |
SMILY | 8 |
SHIELD | 9 |
CheckBox Symbols | Value |
---|---|
HEART | 1 |
STAR | 2 |
FLAG | 3 |
THUMB | 4 |
CHECKBOX | 5 |
BADGE | 6 |
TOGGLEBUTTON | 7 |
Phone Number Format | Value |
---|---|
CONTINUOUS | xxxxxxxxxx |
HYPHEN_SEPARATED | xxx-xxx-xxxx |
AREA_CODE_SEPARATION | xxx xxx-xxxx |
SPACE_SEPARATED | xxx xxx xxxx |
DOMESTIC | (xxx) xxx-xxxx |
DOT_SEPARATED | xxx.xxx.xxxx |
Rating Symbols | Value |
---|---|
HEART | 1 |
STAR | 2 |
FLAG | 3 |
THUMB | 4 |
SMILY | 8 |
SHIELD | 9 |
CheckBox Symbols | Value |
---|---|
HEART | 1 |
STAR | 2 |
FLAG | 3 |
THUMB | 4 |
CHECKBOX | 5 |
BADGE | 6 |
TOGGLEBUTTON | 7 |
Phone Number Format | Value |
---|---|
CONTINUOUS | xxxxxxxxxx |
HYPHEN_SEPARATED | xxx-xxx-xxxx |
AREA_CODE_SEPARATION | xxx xxx-xxxx |
SPACE_SEPARATED | xxx xxx xxxx |
DOMESTIC | (xxx) xxx-xxxx |
DOT_SEPARATED | xxx.xxx.xxxx |
Formula Return Types | Value |
---|---|
NUMERIC | 1 |
STRING | 2 |
DATETIME | 3 |
CURRENCY | 4 |
PERCENTAGE | 5 |
Formula Constants | Value |
---|---|
CONCATENATE | 2 |
COUNT | 34 |
COUNTA | 35 |
COUNT BLANK | 36 |
Formulas |
---|
ARRAY_JOIN |
CONCATENATE |
FIND |
LEN |
LOWER |
MID |
SUBSTITUTE |
UPPER |
AND |
NOT |
OR |
XOR |
ABS |
AVERAGE |
MAX |
MIN |
MOD |
POWER |
ROUND |
SUM |
DATEADD |
DATETIME_DIFF |
YEAR |
MONTH |
DAY |
HOUR |
MINUTE |
SECOND |
NOW |
ARRAY_COUNT |
IF |
IF_ERROR |
EOMONTH |
Expression | Type of emojis | Emoji type |
---|---|---|
ANGRY | RAGE (π‘) | 1 |
ANGRY (π ) | 2 | |
ANNOYED (π€) | 3 | |
DISAPPOINTED | SLIGHT_FROWNING (π) | 1 |
DISAPPOINTED (π) | 2 | |
SLEEPY (πͺ) | 3 | |
SARCASM | SMIRK (π) | 1 |
UNAMUSED (π) | 2 | |
UPSIDE_DOWN_FACE (π) | 3 | |
NEUTRAL | NEUTRAL (π) | 1 |
EXPRESSIONLESS (π) | 2 | |
ZIPPER_MOUTH (π€) | 3 | |
HAPPY | BLUSH (π) | 1 |
HAPPY (βΊοΈ) | 2 | |
HALO_HAPPY (π) | 3 | |
EXTREMELY HAPPY | GRINNING (π) | 1 |
GRIN (π) | 2 | |
JOY (π) | 3 |
Use this API to add a new selection option in a Field.
oauthscope : ZohoTables.fields.CREATE
base_id * | string | Base Id |
table_id * | string | Table Id |
field_id * | string | Field Id |
selection_option_name | string | Selection Option Name |
selection_option_color | hex code | Selection Option Color |
Note: Params with * are mandatory
{ "selectionOptions": { "created": [ { "fieldID": "2", "options": [ { "optionID": "1", "name": "True", "color": "0X66,60" } ] } ] }, "message": "Selection Option(s) Created Successfully", "status": "success" }
{ "selectionOptions": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Create Selection Options", "status": "failure" }
Use this API to delete the selection option in a Field.
oauthscope : ZohoTables.fields.DELETE
base_id * | string | Base Id |
table_id * | string | Table Id |
field_id * | string | Field Id |
selection_option_id * | string | Selection Option Id |
Note: Params with * are mandatory
{ "selectionOptions": { "deleted": [ { "fieldID": "2", "options": [ { "optionID": "3", "name": "True", "color": "0X66,60" } ] } ] }, "message": "Selection Option(s) Deleted Successfully", "status": "success" }
{ "selectionOptions": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Delete Selection Options", "status": "failure" }
Use this API to update the name and color of a selection option in a Field.
oauthscope : ZohoTables.fields.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
field_id * | string | Field Id |
selection_option_id * | string | Selection Option Id |
selection_option_name | string | Selection Option Name |
selection_option_color | hex code | Selection Option Color |
Note: Params with * are mandatory
{ "selectionOptions": { "updated": [ { "fieldID": "2", "options": [ { "optionID": "3", "name": "True", "color": "0X66,60" } ] } ] }, "message": "Selection Option(s) Updated Successfully", "status": "success" }
{ "selectionOptions": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Update Selection Options", "status": "failure" }
Use this API to get the list of all records and its data for a specific Table in a Base. Get view specific details of those records by giving view_id in the request.
oauthscope : ZohoTables.records.READ,ZohoFiles.files.ALL,ZohoCliq.Webhooks.CREATE
base_id * | string | Base Id |
table_id * | string | Table Id |
view_id | string | View Id Note : View User must provide viewID |
record_id | string | Reference record ID. Note:Data fetch begins from the provided Record ID. If the specified record ID is not present, the fetch process begins from the first record ID. |
count | int | No of records to fetch - max 1000 |
Note: Params with * are mandatory
{ "records": { "fetched" : [ { "recordID": "r1", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" }, "visibility" : "true", //optional - if view_id provided "height" : 20.0 //optional - if view_id provided }, { "recordID": "r2", "data": { "fieldID(f1)": "data for field f1", "fieldID(f2)": "data for field f2" }, "display_data": { "fieldID(f1)": "display data for field f1", "fieldID(f2)": "display data for field f2" }, "visibility" : "false", //optional - if view_id provided "height" : 20.5 //optional - if view_id provided } ] }, "message": "Records Fetched Successfully", "status": "success" }
{ "records": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Fetch Records", "status": "failure" }
Use this API to update a field's value of a Record in a Table in a Base.
oauthscope : ZohoTables.data.UPDATE,ZohoFiles.files.ALL,ZohoCliq.Webhooks.CREATE,ZohoTables.webhooks.UPDATE
base_id * | string | Base Id |
table_id * | string | Table Id |
view_id | string | View Id Note : View User must provide viewID |
record_id * | string | Record Id |
field_id * | string | Field Id |
data * | string | Data |
Note: Params with * are mandatory
{ "cells": { "submitted" : { "fieldID" : "f0", "recordID" : "r0", "data" : "zoho", "display_data" : "zoho", "validity" : true } }, "message": "Cell Values Submitted Successfully", "status": "success" }
{ "cells": { "error": { "code": "<<<error code>>>", "message" : "<<<error message>>>" } }, "message": "Error in Submit Cell Values", "status": "failure" }
CODE | ERROR |
---|---|
400 | BAD REQUEST |
400 | FILE HAS EMPTY CONTENT |
400 | VIEW_ID_NEEDED |
401 | UNAUTHORIZED |
401 | INVALID_OAUTH_TOKEN |
401 | INVALID_OAUTH_SCOPE |
404 | MISSING TABLE ID(S) |
404 | MISSING VIEW ID(S) |
404 | MISSING RECORD ID(S) |
404 | MISSING FIELD ID(S) |
404 | MISSING SELECTION OPTION ID(S) |
404 | INVALID TABLE ID(S) |
404 | INVALID VIEW ID(S) |
404 | INVALID RECORD ID(S) |
404 | INVALID FIELD ID(S) |
404 | INVALID SELECTION OPTION ID(S) |
404 | INVALID ID(S) |
404 | INVALID FIELD TYPE(S) |
406 | PRIMARY FIELD CAN'T BE REMOVED |
406 | INVALID NAME |
406 | SUPER ADMIN CAN'T BE REMOVED |
406 | LAST ELEMENT CAN'T BE REMOVED |
406 | SAME WORKSPACE NAME NOT ALLOWED |
409 | ALREADY A MEMBER |
500 | INTERNAL SERVER ERROR |
500 | MINIMUM ONE WORKSPACE NEEDED FOR THE PORTAL |
Use this API to export the base/table/view
oauthscope : ZohoTables.bases.READ,ZohoTables.tables.READ,ZohoTables.views.READ,WorkDrive.files.ALL
base_id * | string | Base Id |
table_id | string | Table Id |
view_id | string | View Id |
scope* | string | base|table|view |
file_type* | string | csv|xlsx|tsv|ics |
password | string | To get Password protected file |
Note: Params with * are mandatory
Scope | Supported FileTypes |
---|---|
base | xlsx |
table | xlsx|csv|tsv |
view | calendar - ics|xlsx|csv|tsv, grid|kanban|gallery - xlsx|csv|tsv |
File will be download
Use this API to import the base/table from the files
oauthscope : ZohoTables.import.CREATE,WorkDrive.teamfolders.ALL,WorkDrive.files.ALL,ZohoTables.webhooks.UPDATE
import_scope * | string | base|table |
portal_id * | string | Portal ID - Mandatory if, import_scope == base |
workspace_id * | string | Workspace ID -Mandatory if, import_scope == base |
base_id * | string | Base ID - Mandatory if, import_scope == table |
import_file * | file | xls|xlsx|xlsm|ods|csv|tsv|accdb|mdb. Max file size: 5MB |
Note: Params with * are mandatory
BASE IMPORT { "bases": { "imported" : [ { "baseID": "1", "name": "base-1", "icon" : 1, "color" : "6575da" } ] }, "message": "Bases Imported Successfully", "status": "success" } TABLE IMPORT { "tables": { "imported" : [ { "tableID": "1", "name": "table-1", "recordsCount": 28, "fieldsCount": 12 }, ] }, "message": "Tables Imported Successfully", "status": "success" }
{ "error" : { "code" : 400 "message" : "FILE HAS EMPTY CONTENT" } }
Hey! Click here to test Zoho Tables API services.