Tables Beta
AccessToken Expires In

Interactive API Explorer

  • Portals
    • List Portals
  • Workspaces
    • List Portals
  • Bases
    • List Portals
  • Tables
    • List Portals
  • Views
    • List Portals
  • Records
    • List Portals
  • Fields
    • List Portals
  • Data
    • List Portals
  • Export
    • List Portals
  • Import
    • List Portals
  • Possible Errors
    • List Portals

List Portal

Use this API to get all the Portals.

oauthscope : ZohoTables.portals.READ

GET
https://tables.zoho.com/api/v1/portals

Roles

RoleNumber
Owner1
Manager2
User3

ModuleTypes

ModuleTypeNumber
Portal1
Workspace2
Sample Response
{
    "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"
}
                               
Failure
{
"portals": {
    "error": {
        "code": "<<<error code >>>",
        "message" : "<<<error message>>>"
    }
},
"message": "Error in Fetch Portals",
"status": "failure"
}
                              

Create Portal

Use this API to add a new Portal.

oauthscope : ZohoTables.portals.CREATE

POST
https://tables.zoho.com/api/v1/portals

Parameters

portal_name *stringPortal Name

Note: Params with * are mandatory

Sample Response
{
    "portals": {
        "created" : [
            {
                "portalID": "1",
                "name": "portal-1",
                "members" : [["mailID", "role", "name"]]
            }
        ]
    },
    "message": "Portals Created Successfully",
    "status": "success"
}
                               
Failure
{
    "portals": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Create Portals",
    "status": "failure"
}
                              

Update Portal

Use this API to update the name and description of a Portal.

oauthscope : ZohoTables.portals.UPDATE

PUT
https://tables.zoho.com/api/v1/portals

Parameters

portal_id *longPortal ID
portal_namestringPortal Name

Note: Params with * are mandatory

Sample Response
{
    "portals": {
        "updated" : [
            {
                "portalID": "1",
                "name": "portal-1"
            }
        ]
    },
    "message": "Portals Updated Successfully",
    "status": "success"
}
                               
Failure
{
    "portals": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Update Portals",
    "status": "failure"
}
                              

Delete Portal

Use this API to remove a specific Portal.

oauthscope : ZohoTables.portals.DELETE

DELETE
https://tables.zoho.com/api/v1/portal

Parameters

portal_id *longPortal ID

Note: Params with * are mandatory

Sample Response
{
"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"
}
                              
Failure
{
    "portals": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Delete Portals",
    "status": "failure" 
}
                             

List Portal Members

Use this API to get all the members of a Portal.

oauthscope : ZohoTables.portals.READ

GET
https://tables.zoho.com/api/v1/portalMembers

Parameters

portal_id *longPortal ID

Note: Params with * are mandatory

Roles

RoleNumber
Super Admin1
Admin2
User3
Sample Response
{
    "portalMembers": {
        "fetched" : [
        {
            "members" : [["mailID", "role","name"],
                        ["mailID", "role","name"]],
            "invitedMembers" : [["mailID", "role"], ["mailID", "role"]]
        }
        ]
    },
    "message": "Portal Member(s) Fetched Successfully",
    "status": "success"
}
                          
Failure
{
    "portalMembers": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Fetch Portal Member(s)",
    "status": "failure"
}
                         

Add Portal Members

Use this API to add a member in a Portal.

oauthscope : ZohoTables.portals.CREATE

POST
https://tables.zoho.com/api/v1/portalMembers

Parameters

portal_id *longPortal ID
email_id *StringEmail ID
role *introle constant

Note: Params with * are mandatory

Roles

RolesConstant
Super Admin1(Can't add user as Super Admin)
Admin2
User3
Sample Response
{
    "portalMembers": {
        "added" : [
        {
            "members" : [["mailID", "role","name"]] (or)
            "invitedMembers" : [["mailID", "role"]]
        }
        ]
    },
    "message": "Portal Member(s) Added Successfully",
    "status": "success"
}
                          
Failure
{
    "portalMembers": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": " "Error in Add Portal Member(s)"",
    "status": "failure"
}
                         

Delete Portal Members

Use this API to remove member from a specific Portal.

oauthscope : ZohoTables.portals.DELETE

DELETE
https://tables.zoho.com/api/v1/portalMembers

Parameters

portal_id *longPortal ID
email_id *StringEmail ID

Note: Params with * are mandatory

Roles

RolesConstant
Super Admin1(Can't delete Super Admin)
Admin2
User3
Sample Response
{
    "portalMembers": {
        "deleted" : [
        {
            "members" : [["mailID", "role","name"]]                        
            
        }
        ]
    },
    "message": "Portal Member(s) Deleted Successfully",
    "status": "success"
}
                          
Failure
{
    "portalMembers": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Delete Portal Member(s)",
    "status": "failure"
}
                         

Roles

rolesImg

List Workspaces

Use this API to get all the Workspaces of a Portal.

oauthscope : ZohoTables.workspaces.READ

GET
https://tables.zoho.com/api/v1/workspaces

Parameters

portal_id *longPortal ID

Note: Params with * are mandatory

Roles

RolesConstant
Manager2 (or) 6
Editor2
Data Maintainer8
Commenter7
Viewer3
Base User5

ModuleTypes

ModuleTypeNumber
Portal1
Workspace2
Sample Response
{
    "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"
}
                               
Failure
{
    "workspaces": {
      "error": {
        "code": "<<<error code >>>",
        "message" : "<<<error message>>>"
        }
},
    "message": "Error in Fetch Workspaces",
    "status": "failure"
}
                              

Create Workspace

Use this API to add a new Workspace in a Portal.

oauthscope : ZohoTables.workspaces.CREATE,ZohoTables.webhooks.UPDATE

POST
https://tables.zoho.com/api/v1/workspaces

Parameters

portal_id *longPortal ID
Workspace_namestringWorkspace Name

Note: Params with * are mandatory

Sample Response
{
    "workspaces": {
        "created" : [
            {
            "workspaceID": "2",
            "name": "workspace-2",
            "members" : [["mailID", "role", "name","role's moduleType","userState"]]
            }
        ]
    },
    "message": "Workspaces Created Successfully",
    "status": "success"
}
                               
Failure
{
    "workspaces": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Create Workspaces",
    "status": "failure"
}
                              

Update Workspace

Use this API to update the name of a Workspace in the Portal.

oauthscope : ZohoTables.workspaces.UPDATE

PUT
https://tables.zoho.com/api/v1/workspaces

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID
workspace_name *stringWorkspace Name

Note: Params with * are mandatory

Sample Response
{
"workspaces": {
    "updated" : [
    {
        "workspaceID": "2",
        "name": "workspace-2",        
    }
    ]
},
"message": "Workspaces Updated Successfully",
"status": "success"
}
                               
Failure
{
    "workspaces": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Update Workspaces",
    "status": "failure"
}
                              

Delete Workspace

Use this API to remove a specific Workspace in a Portal.

oauthscope : ZohoTables.workspaces.DELETE,ZohoTables.webhooks.DELETE

DELETE
https://tables.zoho.com/api/v1/workspaces

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID

Note: Params with * are mandatory

Sample Response
{
    "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"
}
                               
Failure
{
    "workspaces": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Delete Workspaces",
    "status": "failure"
}
                              

List Workspace Members

Use this API to list down all the members of a Workspace.

oauthscope : ZohoTables.workspaces.READ

GET
https://tables.zoho.com/api/v1/workspaceMembers

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID

Note: Params with * are mandatory

Roles

RolesConstant
Manager2 (or) 6
Editor2
Data Maintainer8
Commenter7
Viewer3
Base User5

ModuleTypes

ModuleTypeNumber
Portal1
Workspace2
Sample Response
{
    "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"
}
                               
Failure
{
    "workspaceMembers": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Fetch Workspace Member(s)",
    "status": "failure"
}
                              

Add Workspace Member

Use this API to add a member in the Workspace.

oauthscope : ZohoTables.workspaces.CREATE,ZohoCliq.Webhooks.CREATE

POST
https://tables.zoho.com/api/v1/workspaceMembers

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID
email_id *stringEmail ID
role *introle constant

Note: Params with * are mandatory

Roles

RolesConstant
Manager6
Editor2
Data Maintainer8
Commenter7
Viewer3
Base User5

ModuleTypes

ModuleTypeNumber
Portal1
Workspace2
Sample Response
{
    "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"
}
                               
Failure
{
    "workspaceMembers": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Add Workspace Member(s)",
    "status": "failure"
}
                              

Delete Workspace Members

Use this API to remove members from a specific Workspace.

oauthscope : ZohoTables.workspaces.DELETE,ZohoTables.webhooks.DELETE

DELETE
https://tables.zoho.com/api/v1/workspaceMembers

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID
email_id *stringEmail ID

Note: Params with * are mandatory

Roles

RolesConstant
Manager6
Editor2
Data Maintainer8
Commenter7
Viewer3
Base User5

ModuleTypes

ModuleTypeNumber
Portal1
Workspace2
Sample Response
{
    "workspaceMembers": {
        "deleted" : [
            {
                "members" : [["mailID", "role","name","role's moduleType","userState"]]
            }
        ]
    },
    "message": "Workspace Member(s) Deleted Successfully",
    "status": "success"
}
                               
Failure
{
    "workspaceMembers": {
        "error": {
            "code": "<<<error code >>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Delete Workspace Member(s)",
    "status": "failure"
}
                              

List Base

Use this API to get all the Bases of a Workspace.

oauthscope : ZohoTables.bases.READ

GET
https://tables.zoho.com/api/v1/bases

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID

Note: Params with * are mandatory

Sample Response
{
    "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"
}
                       
Failure
{
    "bases": {
        "error": {
            "code": "<<<error code>>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Fetch Bases",
    "status": "failure"
}
                      

Create Base

Use this API to add a new Base in a Workspace.

oauthscope : ZohoTables.bases.CREATE,ZohoTables.webhooks.UPDATE

POST
https://tables.zoho.com/api/v1/bases

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID
base_namestringBase Name
base_iconNumberBase Icon
base_colorHex CodeBase Color

Note: Params with * are mandatory

Icons

IconNumber
BriefCaseIcon0
AnalysisIcon1
AnchourIcon2
ArchiveIcon3
BeakerIcon4
BellIcon5
BookIcon6
BookoneIcon7
AmbulanceIcon8
BugIcon9
BuildingIcon10
BulbIcon11
CalculatorIcon12
CalendarIcon13
CameraIcon14
ChatIcon15
CheckListIcon16
ClockIcon17
CloudIcon18
CodeIcon19
CoffeeIcon20
CogsIcon21
ConvertionIcon22
DashboardIcon23
DevelopmentIcon24
FavoriteIcon25
FlimIcon26
FolderIcon27
GlassCupIcon28
HomeIcon29
HospitalIcon30
ImageIcon31
InfoIcon32
LoudSpeakerIcon33
EmailIcon34
MarkerIcon35
MedicalKitIcon36
MicIcon37
MoonIcon38
MusicIcon39
OrganisationIcon40
PagesIcon41
PhoneIcon42
PlayerIcon43
RssIcon44
ScissorIcon45
ScreenShotIcon46
ShoppingIcon47
SpeakerIcon48
FloppyIcon49
TabletIcon50
TagsIcon51
TargetIcon52
TeaIcon53
TransportIcon54
TriggerIcon55
BaseUserIcon56
BaseUsersIcon57
WindowIcon58
Sample Response
{
"bases": {
    "created" : [
        {
        "baseID": "1",
        "name": "base-1",
        "icon" : 1,
        "color" : "6575da"
        }
    ]
},
"message": "Bases Created Successfully",
"status": "success"
}                                   
                       
Failure
{
"bases": {
    "error": {
    "code": "<<<error code>>>",
    "message" : "<<<error message>>>"
    }
},
"message": "Error in Create Bases",
"status": "failure"
}
                      

Duplicate Base

Use this API to duplicate a new Base in a Workspace.

oauthscope : ZohoTables.bases.CREATE,ZohoTables.webhooks.UPDATE

POST
https://tables.zoho.com/api/v1/bases

Parameters

portal_id *longPortal ID
workspace_id *stringWorkspace ID
base_id *stringSource Base Id
base_namestringBase Name
base_iconNumberBase Icon
base_colorHex CodeBase Color
is_data_neededbooleanBy default it is true. Can be set as false if you want to duplicate the base without its data.

Note: Params with * are mandatory

Icons

IconNumber
BriefCaseIcon0
AnalysisIcon1
AnchourIcon2
ArchiveIcon3
BeakerIcon4
BellIcon5
BookIcon6
BookoneIcon7
AmbulanceIcon8
BugIcon9
BuildingIcon10
BulbIcon11
CalculatorIcon12
CalendarIcon13
CameraIcon14
ChatIcon15
CheckListIcon16
ClockIcon17
CloudIcon18
CodeIcon19
CoffeeIcon20
CogsIcon21
ConvertionIcon22
DashboardIcon23
DevelopmentIcon24
FavoriteIcon25
FlimIcon26
FolderIcon27
GlassCupIcon28
HomeIcon29
HospitalIcon30
ImageIcon31
InfoIcon32
LoudSpeakerIcon33
EmailIcon34
MarkerIcon35
MedicalKitIcon36
MicIcon37
MoonIcon38
MusicIcon39
OrganisationIcon40
PagesIcon41
PhoneIcon42
PlayerIcon43
RssIcon44
ScissorIcon45
ScreenShotIcon46
ShoppingIcon47
SpeakerIcon48
FloppyIcon49
TabletIcon50
TagsIcon51
TargetIcon52
TeaIcon53
TransportIcon54
TriggerIcon55
BaseUserIcon56
BaseUsersIcon57
WindowIcon58
Sample Response
{
"bases": {
    "duplicated" : [
        {
        "baseID": "1",
        "name": "base-1",
        "icon" : 1,
        "color" : "6575da"
        }
    ]
},
"message": "Bases Duplicated Successfully",
"status": "success"
}                                   
                       
Failure
{
"bases": {
    "error": {
    "code": "<<<error code>>>",
    "message" : "<<<error message>>>"
    }
},
"message": "Error in Duplicate Bases",
"status": "failure"
}
                      

Update Base

Use this API to update name, icon and color of a Base in the Workspace.

oauthscope : ZohoTables.bases.UPDATE

PUT
https://tables.zoho.com/api/v1/bases

Parameters

portal_id *longPortal ID
base_id *stringBase Id
base_namestringBase Name
base_iconNumberBase Icon
base_colorHex CodeBase Color

Note: Params with * are mandatory

Icons

IconNumber
BriefCaseIcon0
AnalysisIcon1
AnchourIcon2
ArchiveIcon3
BeakerIcon4
BellIcon5
BookIcon6
BookoneIcon7
AmbulanceIcon8
BugIcon9
BuildingIcon10
BulbIcon11
CalculatorIcon12
CalendarIcon13
CameraIcon14
ChatIcon15
CheckListIcon16
ClockIcon17
CloudIcon18
CodeIcon19
CoffeeIcon20
CogsIcon21
ConvertionIcon22
DashboardIcon23
DevelopmentIcon24
FavoriteIcon25
FlimIcon26
FolderIcon27
GlassCupIcon28
HomeIcon29
HospitalIcon30
ImageIcon31
InfoIcon32
LoudSpeakerIcon33
EmailIcon34
MarkerIcon35
MedicalKitIcon36
MicIcon37
MoonIcon38
MusicIcon39
OrganisationIcon40
PagesIcon41
PhoneIcon42
PlayerIcon43
RssIcon44
ScissorIcon45
ScreenShotIcon46
ShoppingIcon47
SpeakerIcon48
FloppyIcon49
TabletIcon50
TagsIcon51
TargetIcon52
TeaIcon53
TransportIcon54
TriggerIcon55
BaseUserIcon56
BaseUsersIcon57
WindowIcon58
Sample Response
{
"bases": {
    "updated" : [
        {
        "baseID": "1",
        "name": "base-1",
        "icon" : 1,
        "color" : "6575da"
        }
    ]
},
"message": "Bases Updated Successfully",
"status": "success"
}                                   
                       
Failure
{
"bases": {
    "error": {
    "code": "<<<error code>>>",
    "message" : "<<<error message>>>"
    }
},
"message": "Error in Update Bases",
"status": "failure"
}
                      

Delete Base

Use this API to remove a specific Base in a Workspace.

oauthscope : ZohoTables.bases.DELETE,ZohoTables.webhooks.DELETE

DELETE
https://tables.zoho.com/api/v1/bases

Parameters

portal_id *longPortal ID
base_id *stringBase Id

Note: Params with * are mandatory

Sample Response
{
"bases": {
    "deleted" : [
        {
        "baseID": "1",
        "name": "base-1",
        "icon" : 1,
        "color" : "6575da"
        }
    ]
},
"message": "Bases Deleted Successfully",
"status": "success"
}                                   
                       
Failure
{
"bases": {
    "error": {
    "code": "<<<error code>>>",
    "message" : "<<<error message>>>"
    }
},
"message": "Error in Delete Bases",
"status": "failure"
}
                      

Search Base

Use this API to get all the Bases whose names are matched with the search_string.

oauthscope : ZohoTables.bases.READ

GET
https://tables.zoho.com/api/v1/searchBases

Parameters

search_string *stringString to Search
portal_id *longPortal ID
workspace_idstringWorkspaceID to search inside a particular workspace

Note: Params with * are mandatory

Sample Response
{
    "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"
}                                 
                       
Failure
{
    "bases": {
        "error": {
            "code": "<<<error code>>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Search Bases",
    "status": "failure"
}
                      

List Tables

Use this API to get all the tables of a Base.

oauthscope : ZohoTables.tables.READ

GET
https://tables.zoho.com/api/v1/tables

Parameters

base_id *stringBase Id

Note: Params with * are mandatory

Sample Response
{
  "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"
}                                
                       
Failure
{
  "tables": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Fetch Tables",
  "status": "failure"
}
                      

Create Table

Use this API to add a new Table in a Base.

oauthscope : ZohoTables.tables.CREATE,ZohoTables.webhooks.UPDATE

POST
https://tables.zoho.com/api/v1/tables

Parameters

base_id *stringBase Id
table_namestringTable Name

Note: Params with * are mandatory

Sample Response
{
  "tables": {
     "created" : [
        {
          "tableID": "1",
          "name": "table-1",
          "recordsCount": 28,
          "fieldsCount": 12        
        },        
     ]
  },
  "message": "Tables Created Successfully",
  "status": "success"
}                                
                       
Failure
{
  "tables": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Create Tables",
  "status": "failure"
}
                      

Duplicate Table

Use this API to duplicate a Table in a Base.

oauthscope : ZohoTables.tables.CREATE,ZohoTables.webhooks.UPDATE

POST
https://tables.zoho.com/api/v1/tables

Parameters

base_id *stringBase Id
table_id *stringTable Id
table_namestringTable Name
is_duplicate_with_recordsbooleanBy default it is true. Can be set as false if you want to duplicate the table without its records

Note: Params with * are mandatory

Sample Response
{
  "tables": {
     "duplicated" : [
        {
          "tableID": "1",
          "name": "table-1",
          "recordsCount": 28,
          "fieldsCount": 12        
        },        
     ]
  },
  "message": "Tables Duplicated Successfully",
  "status": "success"
}                                
                       
Failure
{
  "tables": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Duplicate Tables",
  "status": "failure"
}
                      

Update Table

Use this API to update the name of a Table in the Base.

oauthscope : ZohoTables.tables.UPDATE

PUT
https://tables.zoho.com/api/v1/tables

Parameters

base_id *stringBase Id
table_id *stringTable Id
table_namestringTable Name

Note: Params with * are mandatory

Sample Response
{
  "tables": {
     "updated" : [
        {
          "tableID": "1",
          "name": "table-1"          
        },        
     ]
  },
  "message": "Tables Updated Successfully",
  "status": "success"
}                                
                       
Failure
{
  "tables": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Update Tables",
  "status": "failure"
}
                      

Delete Table

Use this API to remove a specific Table in a Base.

oauthscope : ZohoTables.tables.DELETE,ZohoTables.webhooks.DELETE

DELETE
https://tables.zoho.com/api/v1/tables

Parameters

base_id *stringBase Id
table_id *stringTable Id

Note: Params with * are mandatory

Sample Response
{
  "tables": {
     "deleted" : [
        {
          "tableID": "1",
          "name": "table-1"          
        },        
     ]
  },
  "message": "Tables Deleted Successfully",
  "status": "success"
}                                
                       
Failure
{
  "tables": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Delete Tables",
  "status": "failure"
}
                      

List Views

Use this API to get the details of all views for a specific Table in a Base.

oauthscope : ZohoTables.views.READ

GET
https://tables.zoho.com/api/v1/views

Parameters

base_id *stringBase Id
table_id *stringTable Id

Note: Params with * are mandatory

View Types

View typeNumber
Grid1
Kanban2
Calendar3
Gallery4
Form6
Sample Response
{
    "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"
}                              
                       
Failure
{
  "tables": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Delete Tables",
  "status": "failure"
}
                      

Create Record

Use this API to add a new record to a Table in a Base.

oauthscope : ZohoTables.records.CREATE,ZohoFiles.files.ALL,ZohoTables.webhooks.UPDATE

POST
https://tables.zoho.com/api/v1/records

Parameters

base_id *stringBase Id
table_id *stringTable Id
view_idstringView Id
Note : View User must provide viewID

Note: Params with * are mandatory

Sample Response
{
    "records": {
        "created": [
        {
            "recordID": "r1",
            "data": {
            "fieldID(f1)": "data for field f1",
            "fieldID(f2)": "data for field f2"
            }
        }
        ]
    },
    "message": "Records Created Successfully",
    "status": "success"
}                           
                       
Failure
{
  "records": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Create Record",
  "status": "failure"
}
                      

Delete Record

Use this API to remove a record from a Table in a Base.

oauthscope : ZohoTables.records.DELETE,ZohoTables.webhooks.UPDATE

DELETE
https://tables.zoho.com/api/v1/records

Parameters

base_id *stringBase Id
table_id *stringTable Id
view_idstringView Id
Note : View User must provide viewID
record_id *stringRecord Id

Note: Params with * are mandatory

Sample Response
{
    "records": {
        "deleted": [
        {
            "recordID": "1",           
        }
        ]
    },
    "message": "Records Deleted Successfully",
    "status": "success"
}
                       
Failure
{
  "records": {
     "error": {
       "code": "<<<error code>>>",
       "message" : "<<<error message>>>"
     }
  },
  "message": "Error in Delete Record",
  "status": "failure"
}
                      

Create Record With Data

Use this API to add a new record to a Table in a Base.

oauthscope : ZohoTables.records.CREATE,ZohoFiles.files.ALL,ZohoTables.webhooks.UPDATE,ZohoCliq.Webhooks.CREATE

POST
https://tables.zoho.com/api/v1/records

Parameters

base_id *StringBase Id
table_id *StringTable Id
view_idstringView Id
Note : View User must provide viewID
field_ids_with_valuesJsonObjectThe 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_idsJsonArrayField Ids As Array
valuesJsonArrayCorresponding 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

Example for field_ids_with_values,
  • 1. { "fieldid_1" : "value" , "fieldid_2" : "value" }
Sample Response
{
    "records": {
        "created": [
            {
                "recordID": "r1",
                "data": {
                    "fieldID(f1)": "data for field f1",
                    "fieldID(f2)": "data for field f2"
                }
            }
        ]
    },
    "message": "Records Created Successfully",
    "status": "success"
}                         
                       
Failure
{
    "records": {
        "error": {
            "code": "<<<error code>>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Delete Record",
    "status": "failure"
}
                      

Update Records with Criteria

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,ZohoTables.webhooks.UPDATE,ZohoCliq.Webhooks.CREATE

PUT
https://tables.zoho.com/api/v1/records

Parameters

base_id *stringBase Id
table_id *stringTable Id
view_idstringView Id
Note : View User must provide viewID
data *stringThe data that needs to be updated. Examples given below
is_ids_used_in_databooleanBy default it is false. Can be set as true if the field is specified by "ID" in data.
criteriastringIf criteria is not set, all available records will get updated. Mention the criteria as described below.
is_ids_used_in_paramsbooleanBy default it is false. Can be set as true if the field is specified by "ID" in criteria.
first_match_onlybooleanBy 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_sensitivebooleanBy 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_neededbooleanBy 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_idsJSONArrayrecord 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

Rules and Limitations for data,
  • 1. { "field name" : "value" }
  • 2. { "field name" : "value" , "field name" : "value" }
  • -> For checkbox field type, values for checked type ( checked, true, 1 ) and values for unchecked type ( unchecked, false, 0 )
  • -> Values for date fields must be entered in the format that you have specified in date field. If your date field includes time, leave two blank spaces between date and time
  • -> To edit the Link field, you must provide either the record id or the display data.
Limitations
  • 1.Do not use following characters in field name or value - double quotes( " ) and backslash ( \ )
  • 2.Commas ( , ) should not be used in selection names. Only use a comma to separate the selection options when providing multiple selection options.
  • 3.Commas ( , ) should not be used in collaborator names. Only use a comma to separate the collaborator name or email when providing multiple collaborator names or email
Rules and Limitations for criteria,
  • 1. “Field name” condition type “value” ( example - "Month" = "March" )
  • 2. “Field name” condition type “value” and “Field name” condition type “value" ( example - "Month" = "March" and "Amount" > "50")
  • 3. (“Field name” condition type “value” and “Field name” condition type “value” ) or “Field name” condition type “value” ( example - ( "Month" = "March" or "Month" = "April" ) and "Amount" > "30" )
  • -> Values for checked types (checked, true, 1) and unchecked types (unchecked, false, 0) for checkbox field types.
  • -> Values for date fields must be entered in the format that you have specified in date field. If your date field includes time, leave two blank spaces between date and time
Limitations
  • 1. Do not use following characters in field name or value - double quotes( " ) and backslash ( \ )
  • 2. Commas ( , ) should not be used in selection names. Only use a comma to separate the selection options when providing multiple selection options
  • 3. Commas ( , ) should not be used in collaborator names. Only use a comma to separate the collaborator name or email when providing multiple collaborator names or email.

Fields and Condition Types

FieldsCondition 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 aboveequals (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 aboveequals (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 aboveequals (or) =, not equals (or) !=, is empty, is not empty
Sample Response
{
    "records": {
        "updated": [
            {
                "recordID": "r1",
                "data": {
                    "fieldID(f1)": "data for field f1",
                    "fieldID(f2)": "data for field f2"
                }
            }
        ]
    },
    "message": "Record(s) Updated Successfully",
    "status": "success"
}                           
                       
Sample Response (When new record is created using upsert)
{
    "records": {
        "created": [
            {
                "recordID": "r1",
                "data": {
                    "fieldID(f1)": "data for field f1",
                    "fieldID(f2)": "data for field f2"
                }
            }
        ]
    },
    "message": "Record(s) Created Successfully",
    "status": "success"
}                           
                       
Failure
{
    "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
    }
}
                      

Fetch Records with Criteria

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

POST
https://tables.zoho.com/api/v1/fetchRecordsWithCriteria

Parameters

base_id *stringBase Id
table_id *stringTable Id
view_idstringView 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
criteriastringIf criteria is not set, all available records will get fetched(max 500). Mention the criteria as described below.
first_match_onlybooleanBy 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_sensitivebooleanBy 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_paramsbooleanBy default it is false. Can be set as true if the field is specified by "ID" in criteria.
reference_record_idstringReference 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.
countintNo of records to fetch - max 500 (default 500)
record_idsJSONArrayrecord 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

Rules and Limitations for criteria,
  • 1. “Field name” condition type “value” ( example - "Month" = "March" or "Month" equals "March" )
  • 2. “Field name” condition type “value” and “Field name” condition type “value" ( example - "Month" = "March" and "Amount" > "50" )
  • 3. (“Field name” condition type “value” and “Field name” condition type “value” ) or “Field name” condition type “value” ( example - ( "Month" = "March" or "Month" = "April" ) and "Amount" > "30" )
  • -> Values for checked types (checked, true, 1) and unchecked types (unchecked, false, 0) for checkbox field types.
  • -> Values for date fields must be entered in the format that you have specified in date field. If your date field includes time, leave two blank spaces between date and time
Limitations
  • 1. Do not use following characters in field name or value - double quotes( " ) and backslash ( \ )
  • 2. Commas ( , ) should not be used in selection names. Only use a comma to separate the selection options when providing multiple selection options
  • 3. Commas ( , ) should not be used in collaborator names. Only use a comma to separate the collaborator name or email when providing multiple collaborator names or email.

Fields and Condition Types

FieldsCondition 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 aboveequals (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 aboveequals (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 aboveequals (or) =, not equals (or) !=, is empty, is not empty
Sample Response
{
    "records": {
        "fetched": [
            {
                "recordID": "r1",
                "data": {
                    "fieldID(f1)": "data for field f1",
                    "fieldID(f2)": "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"
                }, 
                "visibility" : "false",  //optional - if view_id provided
                "height" : 20.5  //optional - if view_id provided
            }
        ]
    },
    "message": "Record(s) Fetched Successfully",
    "status": "success"
}                           
                       
Failure
{
    "records": {
        "error": {
            "code": "<<<error code>>>",
            "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Fetch Records",
    "status": "failure"
}
                      

List Fields

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

GET
https://tables.zoho.com/api/v1/fields

Parameters

base_id *stringBase Id
table_id *stringTable Id
view_idstringView Id
Note : View User must provide viewID

Note: Params with * are mandatory

Summary Types

Summary typeNumber
None0
Empty1
Filled2
Unique3
Percent-Filled4
Percent-Empty5
Percent-Unique6
Sum7
Average8
Min9
Max10
Median11
Range12
Standard Deviation13
Histogram14
Checked15
Unchecked16
Percent-Checked17
Percent-Unchecked18
Date Range In Days19
Date Range In Months20
Earliest Date21
Latest Date22
Total Attachment Size23
Sample Response
{
    "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"
}                         
                        
Failure
{
    "fields": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Fetch Fields",
    "status": "failure"
}
                      

Create Field

Use this API to add a new field to a Table in a Base.

oauthscope : ZohoTables.fields.CREATE

POST
https://tables.zoho.com/api/v1/fields

Parameters

base_id *stringBase Id
table_id *stringTable Id
typenumberField 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.

Sample Response
{
    "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"
}                     
                        
Failure
{
    "fields": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Fetch Fields",
    "status": "failure"
}
                      

Update Field

Use this API to change name, type and/or type components of the field in a Table.

oauthscope : ZohoTables.fields.UPDATE

PUT
https://tables.zoho.com/api/v1/fields

Parameters

base_id *stringBase Id
table_id *stringTable Id
field_id *stringField Id
field_namestringField name
type *numberField 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

Sample Response
{
    "fields": {
        "updated" : [
            {
                "fieldID": "1",
                "name": "field-1",
                "type": "15",
                "typeComponents" : {
                    "precision" : 2,
                    "thousandSeparator" : 0
                },
                "defaultValue" : "50"
            }
        ]
    },
    "message": "Field(s) Updated Successfully",
    "status": "success"
}                 
                        
Failure
{
    "fields": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Update Fields",
    "status": "failure"
}
                      

Delete Field

Use this API to remove a field from a Table in a Base.

oauthscope : ZohoTables.fields.DELETE

DELETE
https://tables.zoho.com/api/v1/fields

Parameters

base_id *stringBase Id
table_id *stringTable Id
field_id *stringField Id

Note: Params with * are mandatory

Sample Response
{
    "fields": {   
        "deleted" : [    
            {
                "fieldID": "1",
                "name": "field-1"
            }
        ]
    },
    "message": "Fields Deleted Successfully",
    "status": "success"
}              
                        
Failure
{
    "fields": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Delete Fields",
    "status": "failure"
}
                      

Field Type Constants

Field Type ConstantsNumber
Attachments2
Auto-Number3
Created-Time5
Currency6
Date-Time7
Email9
Modified-Time12
Number15
Percent16
Phone-Number17
Text23
Url24
CheckBox4
SingleSelection21
MultipleSelection13
Rating19
Formula10
Collaborator18
Created-By25
Modified-By26
Link30
Lookup27
Rollup31
Sentimental-Analysis32
Language-Detection33
Keyword-Extraction34
Field TypeComponentsComponent Type
Auto-Numberinitial_valuedouble
step_sizedouble
prefixstring
suffixstring
Date-Time/Created-Time/ Modified-Timedate_formatint
time_formatint
Currencyprecisionint
thousand_separatorint
symbolint
symbol_positionint
default_valuestring
Numberprecisionint
thousand_separatorint
default_valuestring
Percentprecisionint
thousand_separatorint
show_themeint
default_valuestring
Phone-Numberphone_number_formatString
Texttext_caseint
default_valuestring
Checkboxstyleint
colorString
default_valueboolean
Ratingstyleint
colorString
max_limitint
SingleSelectionshow_themeint
default_valuestring
MultipleSelectionshow_themeint
Email/URL--
Attachments--
Collaboratormultiple_value_supportint
notify_membersint
Linkmirror_field_idstring
restricted_to_view_idstring
relationship_directionint
source_table_idstring
destination_table_idstring
Lookuplink_field_idstring
mirror_field_idstring
Rolluplink_field_idstring
mirror_field_idstring
formula_constantint
Formulaformula_stringstring
return_formatsJsonArray
return_formats:
[
{
return_type,
parameters : {
it will change w.r.t return_type
}
}
]
int
JsonObject
CreatedBy/ModifiedBy--
Sentimental-Analysissource_field_idstring
angry_emotion_metaJsonObject
disappointed_emotion_metaJsonObject
sarcastic_emotion_metaJsonObject
neutral_emotion_metaJsonObject
happy_emotion_metaJsonObject
extremely_happy_emotion_metaJsonObject
JsonObject format:
{
emotion_name
emoji_type
}

string
int
Language-Detectionsource_field_idstring
Keyword-Extractionsource_field_idstring
max_number_of_keywordsint
restricted_keywordsJsonArray
JsonArray format:
[
Keywords to be restricted
]

string

COLORS: ["9277e7", "e568a5", "45b1d8", "6575da", "61be6a", "f19b4e", "d66060", "4c93fe", "e1a539", "68737c"]

Date FormatsValue
FRIENDLY1
EUROPE2
US3
ISO4
FRIENDLY_WITH_DAY5
Time FormatsValue
NONE0
HR241
HR122
Currency SymbolsValue
USD1
EUR2
GBP3
JPY4
CAD5
AUD6
CNY7
CHF8
SGD9
INR10
ZAR11
Currency Symbol PositionValue
DEFAULT1
FIRST2
LAST3
ACCOUNTING4
NONE5
Thousand SeparatorValue
NO_GROUPING1
THREE_DIGIT_GROUPING2
TWO_DIGIT_GROUPING3
Text CaseValue
AS_ENTRY1
INIT_CAPS2
LOWER3
UPPER4
SENTENCE5
PRECISIONValue
NONE0
ONE1
TWO2
THREE3
Rating SymbolsValue
HEART1
STAR2
FLAG3
THUMB4
SMILY8
SHIELD9
CheckBox SymbolsValue
HEART1
STAR2
FLAG3
THUMB4
CHECKBOX5
BADGE6
TOGGLEBUTTON7
Phone Number FormatValue
CONTINUOUSxxxxxxxxxx
HYPHEN_SEPARATEDxxx-xxx-xxxx
AREA_CODE_SEPARATIONxxx xxx-xxxx
SPACE_SEPARATEDxxx xxx xxxx
DOMESTIC(xxx) xxx-xxxx
DOT_SEPARATEDxxx.xxx.xxxx
Formula Return TypesValue
NUMERIC1
STRING2
DATETIME3
CURRENCY4
PERCENTAGE5
Formula ConstantsValue
CONCATENATE2
COUNT34
COUNTA35
COUNT BLANK36
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
ExpressionType of emojisEmoji type
ANGRYRAGE (😡)1
ANGRY (😠)2
ANNOYED (😤)3
DISAPPOINTEDSLIGHT_FROWNING (🙁)1
DISAPPOINTED (😞)2
SLEEPY (😪)3
SARCASMSMIRK (😏)1
UNAMUSED (😒)2
UPSIDE_DOWN_FACE (🙃)3
NEUTRALNEUTRAL (😐)1
EXPRESSIONLESS (😑)2
ZIPPER_MOUTH (🤐)3
HAPPYBLUSH (😊)1
HAPPY (☺️)2
HALO_HAPPY (😇)3
EXTREMELY HAPPYGRINNING (😃)1
GRIN (😁)2
JOY (😂)3

Create Selection Options

Use this API to add a new selection option in a Field.

oauthscope : ZohoTables.fields.CREATE

POST
https://tables.zoho.com/api/v1/selectionOptions

Parameters

base_id *stringBase Id
table_id *stringTable Id
field_id *stringField Id
selection_option_namestringSelection Option Name
selection_option_colorhex codeSelection Option Color

Note: Params with * are mandatory

Sample Response
{
    "selectionOptions": {
        "created": [
        {
            "fieldID": "2",
            "options": [
            {
                "optionID": "1",
                "name": "True",
                "color": "0X66,60"
            }
            ]
        }
        ]
    },
    "message": "Selection Option(s) Created Successfully",
    "status": "success"   
}                                                           
                        
Failure
{
    "selectionOptions": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Create Selection Options",
    "status": "failure"
}
                      

Delete Selection Options

Use this API to delete the selection option in a Field.

oauthscope : ZohoTables.fields.DELETE

DELETE
https://tables.zoho.com/api/v1/selectionOptions

Parameters

base_id *stringBase Id
table_id *stringTable Id
field_id *stringField Id
selection_option_id *stringSelection Option Id

Note: Params with * are mandatory

Sample Response
{
    "selectionOptions": {
        "deleted": [
        {
            "fieldID": "2",
            "options": [
            {
                "optionID": "3",
                "name": "True",
                "color": "0X66,60"
            }
            ]
        }
        ]
    },
    "message": "Selection Option(s) Deleted Successfully",
    "status": "success"
}                                                       
                        
Failure
{
    "selectionOptions": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Delete Selection Options",
    "status": "failure"
}
                      

Update Selection Options

Use this API to update the name and color of a selection option in a Field.

oauthscope : ZohoTables.fields.UPDATE

PUT
https://tables.zoho.com/api/v1/selectionOptions

Parameters

base_id *stringBase Id
table_id *stringTable Id
field_id *stringField Id
selection_option_id *stringSelection Option Id
selection_option_namestringSelection Option Name
selection_option_colorhex codeSelection Option Color

Note: Params with * are mandatory

Sample Response
{
    "selectionOptions": {   
        "updated": [    
        {    
            "fieldID": "2",    
            "options": [    
            {    
                "optionID": "3",    
                "name": "True",    
                "color": "0X66,60"    
            }    
            ]    
        }    
        ]    
    },    
    "message": "Selection Option(s) Updated Successfully",    
    "status": "success"    
}                                                      
                        
Failure
{
    "selectionOptions": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Update Selection Options",
    "status": "failure"
}
                      

List Data

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

GET
https://tables.zoho.com/api/v1/records

Parameters

base_id *stringBase Id
table_id *stringTable Id
view_idstringView Id
Note : View User must provide viewID
record_idstringReference record id
countintNo of records to fetch - max 500

Note: Params with * are mandatory

Sample Response
{
    "records": {   
        "fetched" : [
            {    
                "recordID": "r1",    
                "data": {    
                "fieldID(f1)": "data in field id f1",    
                "fieldID(f2)": "data in field id f2"    
                },    
            "visibility" : "true", //optional - if view_id provided    
            "height" : 20.0 //optional - if view_id provided    
            },    
            {    
                "recordID": "r2",    
                "data": {    
                "fieldID(f1)": "data in field id f1",    
                "fieldID(f2)": "data in field id f2"    
                },    
            "visibility" : "false", //optional - if view_id provided    
            "height" : 20.5 //optional - if view_id provided    
            }    
        ]    
    },    
    "message": "Records Fetched Successfully",    
    "status": "success"    
}                                                
                        
Failure
{
    "records": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Fetch Records",
    "status": "failure"
}
                      

Update Data

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,ZohoTables.webhooks.UPDATE,ZohoCliq.Webhooks.CREATE

PUT
https://tables.zoho.com/api/v1/data

Parameters

base_id *stringBase Id
table_id *stringTable Id
view_idstringView Id
Note : View User must provide viewID
record_id *stringRecord Id
field_id *stringField Id
data *stringData

Note: Params with * are mandatory

Sample Response
{
    "cells": {    
        "submitted" : {    
            "fieldID"  : "f0",    
            "recordID" : "r0",    
            "data" : "zoho",    
            "validity" : true    
        }    
    },    
    "message": "Cell Values Submitted Successfully",    
    "status": "success"    
}                                               
                        
Failure
{
    "cells": {
        "error": {
        "code": "<<<error code>>>",
        "message" : "<<<error message>>>"
        }
    },
    "message": "Error in Submit Cell Values",
    "status": "failure"
}
                      

Possible Errors

CODEERROR
404MISSING TABLE ID(S)
404MISSING VIEW ID(S)
404MISSING RECORD ID(S)
404MISSING FIELD ID(S)
404MISSING SELECTION OPTION ID(S)
404INVALID TABLE ID(S)
404INVALID VIEW ID(S)
404INVALID RECORD ID(S)
404INVALID FIELD ID(S)
404INVALID SELECTION OPTION ID(S)
404INVALID ID(S)
404INVALID FIELD TYPE(S)
200ALREADY A MEMBER
401UNAUTHORIZED
500INTERNAL SERVER ERROR
406SAME WORKSPACE NAME NOT ALLOWED
500MINIMUM ONE WORKSPACE NEEDED FOR THE PORTAL

Export

Use this API to export the base/table/view

oauthscope : ZohoTables.bases.READ,ZohoTables.tables.READ,ZohoTables.views.READ,WorkDrive.files.ALL

GET
https://tables.zoho.com/api/v1/exports

Parameters

base_id *stringBase Id
table_idstringTable Id
view_idstringView Id
scope*stringbase|table|view
file_type*stringcsv|xls|xlsx|tsv|ics
passwordstringTo get Password protected file

Note: Params with * are mandatory

ScopeSupported FileTypes
basexlsx
tablecsv|tsv|xlsx
viewcalendar - ics, others - xlsx
Sample Response
File will be download

Import

Use this API to import the base/table from the files

oauthscope : ZohoTables.import.CREATE,WorkDrive.teamfolders.ALL,WorkDrive.files.ALL,ZohoTables.webhooks.UPDATE

POST
https://tables.zoho.com/api/v1/import

Parameters

import_scope *stringbase|table
portal_id *stringPortal ID - Mandatory if, import_scope == base
workspace_id *stringWorkspace ID -Mandatory if, import_scope == base
base_id *stringBase ID - Mandatory if, import_scope == table
import_file *filexls|xlsx|xlsm|ods|csv|tsv|accdb|mdb. Max file size: 5MB

Note: Params with * are mandatory

Sample Response
    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"
    }  
                    
Failure
    {
        "error" : {
            "code" : 400
            "message" : "FILE HAS EMPTY CONTENT"
        }
    }
                    

Hey! Click here to test Zoho Tables API services.

API URL

GET
https://tables.zoho.com/api/v1/portals
URL Copied

Key

Value

RESPONSE
 Response Copied