{ "opencollection": "1.0.0", "info": { "name": "Bots Platform_storage API", "version": "1.0.0" }, "items": [ { "info": { "name": "Platform_storage", "type": "folder" }, "items": [ { "info": { "name": "List all datastores", "type": "http" }, "http": { "method": "GET", "url": "https://cliq.zoho.com/api/v3/datastores", "params": [ { "name": "sync_token", "value": "", "type": "query", "description": "Return datastores modified after the given sync token. The sync token is returned in the response when fetching the list of datastores, and can be used to retrieve only datastores that were created or updated after that request.\n" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of datastores to return in the response. Default is 20, maximum allowed value is 100.\n" }, { "name": "next_token", "value": "", "type": "query", "description": "Token to retrieve the next page of results. This is returned in the response when the number of datastores exceeds the specified limit. To fetch the next page, include this token in the request.\n" } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Retrieve a paginated list of all datastores defined for the organisation.\n

\n

\n Threshold limit: 30 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n

\nA Datastore is a structured storage table scoped to the organisation (or an extension) that allows platform components to persist and query data across executions.\n

\n

\n Threshold limit: 10 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n
LONG_ID in the Glossary page." } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Retrieve the metadata and field schema of a single datastore identified by its numeric ID. The response includes the datastore name, description, and the list of typed fields (columns) defined in the schema.\n

\n

\n Threshold limit: 30 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n
LONG_ID in the Glossary page." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Update the metadata (name, description) of an existing datastore.\n

\n

\n Threshold limit: 10 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n
LONG_ID in the Glossary page." } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Permanently delete a datastore and all its stored records. This operation is irreversible, and all data in the datastore will be lost. Hence, ensure no active platform components depend on this datastore before deleting it.\n

\n

\n Threshold limit: 10 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n
\nTo learn how to retrieve this ID, see DATASTORE_ID in the Glossary page.\n" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Add one or more new fields (columns) to an existing datastore. Existing records will have null for newly added fields unless a default value is specified.\n

\n

\n Threshold limit: 10 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n
\nTo learn how to retrieve this ID, see DATASTORE_ID in the Glossary page.\n" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Update the existing fields (columns) in a datastore. The modifiable attributes include the field display name, type, and required field flag. The names of fields cannot be changed after they are created.\n

\n

\n Threshold limit: 10 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n
\nTo learn how to retrieve this ID, see DATASTORE_ID in the Glossary page.\n" }, { "name": "ids", "value": "", "type": "query", "description": "Comma-separated list of field IDs to delete.\nTo retrieve field IDs, use the Get Datastore Details API and refer to the id attribute of each field in the response.\n
Maximum number of fields that can be deleted in a single request is 10\n" } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Remove one or more fields (columns) from a Datastore schema by providing the field IDs in the ids query parameter. All data stored in those fields will be permanently deleted. This action is irreversible.\n

\n

\n Threshold limit: 10 requests per min per user
\n Number of API calls allowed within a minute.

\n Lock period: 5 minutes
Wait time before consecutive API requests.
\n

\n
\nTo learn how to retrieve this, see DATABASE_UNIQUE_NAME in the Glossary page.\n" }, { "name": "criteria", "value": "", "type": "query", "description": "Expression to filter records. Use field unique_names as keys. Wrap each condition in parentheses and combine with && / ||.
\nExample: (empname=John) && (isactive=true)\n
\n
Supported Comparison Operators

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OperatorMeaningNotes
=Equal
==EqualAlias for =
!=Not Equal
>Greater Than
>=Greater Than or Equal
<Less Than
<=Less Than or Equal
likeLike (pattern match)Case-insensitive, only for CHAR fields
not likeNot LikeCase-insensitive, only for CHAR fields
inIn (multi-value)Comma-separated values, max 10 values
not inNot InComma-separated values, max 10 values
\n
Logical Operators (for combining criteria)

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
OperatorMeaning
&&AND
||OR
( )Grouping / parentheses for precedence
\n
AND has higher priority than OR (standard precedence).
\n
Limits\n
    \n
  • Max criteria clauses: 10 (combined with && / ||)
  • \n
  • Max values in in / not in: 10
  • \n
\n" }, { "name": "limit", "value": "", "type": "query", "description": "Maximum number of records to return.
\nDefault: 50
\nMaximum: 100
\n" }, { "name": "order_by", "value": "", "type": "query", "description": "Comma-separated list of fields to sort by, with optional sort direction (asc or desc).
\nIf sort direction is not specified, ascending order is used by default.
\nExample: empname desc, empid asc
\nExample syntax: +timestamp (e.g. +1777360402254) to get records modified before the specified timestamp, or -age (e.g. -3600000) to get records modified within the last hour.\n" }, { "name": "sync_token", "value": "", "type": "query", "description": "Token to retrieve records modified before a certain point in time. This is useful for incremental synchronization. The token value should be the sync_token returned in a previous response, which encodes a timestamp. Records modified before that timestamp will be returned.
\n" }, { "name": "next_token", "value": "", "type": "query", "description": "Token to retrieve records modified after a certain point in time. This is useful for incremental synchronization. The token value should be the sync_token returned in a previous response, which encodes a timestamp. Records modified after that timestamp will be returned.\n" }, { "name": "extension_key", "value": "", "type": "query", "description": "Unique key of the extension that the datastore belongs to. Required if the datastore is owned by an extension. To learn how to retrieve this, see EXTENSION_KEY in the Glossary page.\n" } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Retrieve records from a datastore with optional filtering, sorting, and pagination.\n
    \n
  • Use the criteria query parameter to filter records based on field values (e.g. (empname=John) && (isactive=true)).
  • \n
  • Use the sync_token parameter to retrieve records modified before a certain point in time, or the next_token parameter for records modified after a certain point in time. This is useful for incremental synchronization.
  • \n DATABASE_UNIQUE_NAME in the Glossary page." }, { "name": "extension_key", "value": "", "type": "query", "description": "Encrypted app ID. Required if the target datastore is owned by an extension." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Insert a record into a datastore.\n

    \n
    Note: To manage records of a datastore bundled with an extension, use the extension-scoped endpoint instead:
    v3/extensions/{EXTENSION_ID}/datastores/{DATASTORE_UNIQUE_NAME}/records
    and pass the extension_key as a query parameter.
    \n

    \n

    \n Threshold limit: 30 requests per min per user
    \n Number of API calls allowed within a minute.

    \n Lock period: 5 minutes
    W" }, { "info": { "name": "Bulk update records in a datastore", "type": "http" }, "http": { "method": "PATCH", "url": "https://cliq.zoho.com/api/v3/datastores/:DATASTORE_UNIQUE_NAME/records", "params": [ { "name": "DATASTORE_UNIQUE_NAME", "value": "DATASTORE_UNIQUE_NAME", "type": "path", "description": "Unique name of the datastore.
    \nTo learn how to retrieve this, see DATABASE_UNIQUE_NAME in the Glossary page.'\n" }, { "name": "extension_key", "value": "", "type": "query", "description": "Unique key of the extension that the datastore belongs to. Required if the datastore is owned by an extension. To learn how to retrieve this, see EXTENSION_KEY in the Glossary\n" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Update multiple records in a datastore with a single request. Identify target records by specifying record IDs or a criteria expression in the request body.\n

    \n

    Note: To manage records of a datastore bundled with an extension, use the extension-scoped endpoint instead:
    v3/extensions/{EXTENSION_ID}/datastores/{DATASTORE_UNIQUE_NAME}/records
    and pass the extension_key as a query parameter.
    \n

    \n

    \n Threshold limit: 3" }, { "info": { "name": "Delete records from a datastore", "type": "http" }, "http": { "method": "DELETE", "url": "https://cliq.zoho.com/api/v3/datastores/:DATASTORE_UNIQUE_NAME/records", "params": [ { "name": "DATASTORE_UNIQUE_NAME", "value": "DATASTORE_UNIQUE_NAME", "type": "path", "description": "Unique name of the datastore. To learn how to retrieve this, see DATABASE_UNIQUE_NAME in the Glossary page." }, { "name": "criteria", "value": "", "type": "query", "description": "Expression to select records for bulk deletion. Use field unique_names as keys. Supported comparison operators: =, ==, !=, >, >=, <, <=, like, not like, in (max 10 values), not in (max 10 values). Combine conditions with && (AND) or || (OR), and use parentheses for grouping. Max 10 clauses.\n" }, { "name": "ids", "value": "", "type": "query", "description": "ids of the records to be deleted" }, { "name": "extension_key", "value": "", "type": "query", "description": "Encrypted app id" } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Delete one or more records from a datastore. Specify the records to delete by providing comma-separated record ids in the query string, or by providing a criteria expression to match records. Deletions are irreversible.\n

    \n

    Note: To manage records of a datastore bundled with an extension, use the extension-scoped endpoint instead:
    v3/extensions/{EXTENSION_ID}/datastores/{DATASTORE_UNIQUE_NAME}/records
    and pass the extensi" }, { "info": { "name": "Get a record from a datastore", "type": "http" }, "http": { "method": "GET", "url": "https://cliq.zoho.com/api/v3/datastores/:DATASTORE_UNIQUE_NAME/records/:RECORD_ID", "params": [ { "name": "DATASTORE_UNIQUE_NAME", "value": "DATASTORE_UNIQUE_NAME", "type": "path", "description": "Unique name of the datastore. To learn how to retrieve this, see DATABASE_UNIQUE_NAME in the Glossary page." }, { "name": "RECORD_ID", "value": "RECORD_ID", "type": "path", "description": "Unique numeric identifier of the record to retrieve.
    \nTo learn how to retrieve this, see RECORD_ID in the Glossary page.\n" }, { "name": "extension_key", "value": "", "type": "query", "description": "Unique key of the extension that the datastore belongs to. Required if the datastore is owned by an extension.
    \nTo learn how to retrieve this, see EXTENSION_KEY in the Glossary page.\n" } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Retrieve a single record from a datastore.\n

    \n
    Note: To manage records of a datastore bundled with an extension, use the extension-scoped endpoint instead:
    v3/extensions/{EXTENSION_ID}/datastores/{DATASTORE_UNIQUE_NAME}/records/{RECORD_ID}
    and pass the extension_key as a query parameter.
    \n

    \n

    \n Threshold limit: 30 requests per min per user
    \n Number of API calls allowed within a minute.

    \n Lock perio" }, { "info": { "name": "Update a record in a datastore", "type": "http" }, "http": { "method": "PATCH", "url": "https://cliq.zoho.com/api/v3/datastores/:DATASTORE_UNIQUE_NAME/records/:RECORD_ID", "params": [ { "name": "DATASTORE_UNIQUE_NAME", "value": "DATASTORE_UNIQUE_NAME", "type": "path", "description": "Unique name of the datastore. To learn how to retrieve this, see DATABASE_UNIQUE_NAME in the Glossary page." }, { "name": "RECORD_ID", "value": "RECORD_ID", "type": "path", "description": "Unique numeric identifier of the record to update.
    \nTo learn how to retrieve this, see RECORD_ID in the Glossary page.\n" }, { "name": "extension_key", "value": "", "type": "query", "description": "Unique key of the extension that the datastore belongs to. Required if the datastore is owned by an extension.
    \nTo learn how to retrieve this, see EXTENSION_KEY in the Glossary page.\n" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Update a single record in a datastore.\n

    \n

    Note: To manage records of a datastore bundled with an extension, use the extension-scoped endpoint instead:
    v3/extensions/{EXTENSION_ID}/datastores/{DATASTORE_UNIQUE_NAME}/records/{RECORD_ID}
    and pass the extension_key as a query parameter.
    \n

    \n Threshold limit: 30 requests per min per user
    \n Number of API calls allowed within a minute.

    \n Lock period: 5 minu" }, { "info": { "name": "Delete a record from a datastore", "type": "http" }, "http": { "method": "DELETE", "url": "https://cliq.zoho.com/api/v3/datastores/:DATASTORE_UNIQUE_NAME/records/:RECORD_ID", "params": [ { "name": "DATASTORE_UNIQUE_NAME", "value": "DATASTORE_UNIQUE_NAME", "type": "path", "description": "Unique name of the datastore. To learn how to retrieve this, see DATABASE_UNIQUE_NAME in the Glossary page." }, { "name": "RECORD_ID", "value": "RECORD_ID", "type": "path", "description": "Unique numeric identifier of the record to delete.
    \nTo learn how to retrieve this, see RECORD_ID in the Glossary page.\n" }, { "name": "extension_key", "value": "", "type": "query", "description": "Unique key of the extension that the datastore belongs to. Required if the datastore is owned by an extension.
    \nTo learn how to retrieve this, see EXTENSION_KEY in the Glossary page.\n" } ], "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Permanently delete a single record from a datastore.\n

    \n

    Note: To manage records of a datastore bundled with an extension, use the extension-scoped endpoint instead:
    v3/extensions/{EXTENSION_ID}/datastores/{DATASTORE_UNIQUE_NAME}/records/{RECORD_ID}
    and pass the extension_key as a query parameter.
    \n

    \n

    \n Threshold limit: 30 requests per min per user
    \n Number of API calls allowed within a minute.

    \n " }, { "info": { "name": "Export datastore records", "type": "http" }, "http": { "method": "POST", "url": "https://cliq.zoho.com/api/v3/datastores/:DATASTORE_ID/export", "params": [ { "name": "DATASTORE_ID", "value": "DATASTORE_ID", "type": "path", "description": "Unique numeric identifier of the datastore. To learn how to retrieve this ID, see LONG_ID in the Glossary page." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "implicit", "authorizationUrl": "https://accounts.zoho.com/oauth/v2/auth", "credentials": { "clientId": "{{clientId}}" } } }, "docs": "Initiate a bulk export of all records from a datastore, identified by its numeric ID. This export is useful for data migration, backups, or analyzing platform storage data.\n

    \n

    \n Threshold limit: 5 requests per min per user
    \n Number of API calls allowed within a minute.

    \n Lock period: 10 minutes
    Wait time before consecutive API requests.
    \n

    \n