openapi: 3.0.3 info: contact: name: Zoho Creator Support url: https://www.zoho.com/creator/help/ email: support@zohocreator.com description: Zoho Creator provides RESTful APIs that allow you to securely interface with your Zoho Creator applications and perform a variety of tasks. title: Zoho Creator API v2 conforming OpenAPI Specification Bulk Insert APIs Data APIs API version: '2.0' servers: - description: US Data Center API Server url: https://zohoapis.com/ - description: IN Data Center API Server url: https://zohoapis.in/ - description: EU Data Center API Server url: https://zohoapis.eu/ - description: JP Data Center API Server url: https://zohoapis.jp/ - description: SA Data Center API Server url: https://zohoapis.sa/ - description: CA Data Center API Server url: https://zohoapis.ca/ - description: AU Data Center API Server url: https://zohoapis.com.au/ - description: CN Data Center API Server url: https://zohoapis.com.cn/ tags: - name: Data APIs description: APIs to add, update, delete or get records in a form/report paths: /creator/v2/data/{account_owner_name}/{app_link_name}/report/{report_link_name}: patch: summary: Update Records security: - oauth2: - ZohoCreator.report.UPDATE requestBody: $ref: '#/components/requestBodies/update_records_request' description: This API updates the records displayed in a report of a Zoho Creator application. A maximum of 200 records can be updated per request. Updating records is subject to data validation. responses: '200': $ref: '#/components/responses/update_records_response' '400': description: '{''code'': 3020, ''message'': ''API request''s body is either missing or incomplete.''}' '401': description: '{''code'': 1030, ''message'': ''Authorization Failure. The access token is either invalid or has expired.''}, {''code'': 2945, ''message'': ''This is an invalid oauthscope. Please regenerate the oauthtoken corresponding to the API with proper oauthscope.''}, {''code'': 1000, ''message'': ''IAM Error''}' '403': description: '{''code'': 2933, ''message'': ''You do not have permission to access this application.''}, {''code'': 2897, ''message'': ''Permission denied to update record(s).''}, {''code'': 1080, ''message'': ''API calls cannot be made to disabled applications. Please check with the application admin.''}' '404': description: '{''code'': 1040, ''message'': ''No account owner named OWNER_NAME found.''}, {''code'': 2892, ''message'': ''No application named APPLICATION_NAME found. Please check and try again.''}, {''code'': 2894, ''message'': ''No report named REPORT_NAME found. Please check and try again.''}, {''code'': 3100, ''message'': ''No records found for the given criteria.''}, {''code'': 1000, ''message'': ''A mandatory parameter - ''criteria'' is either absent or has been used twice. Please check and try again.''}, {''code'': 1000, ''message'': ''Invalid API URL format.''}, {''code'': 2930, ''message'': ''Error Occurred. We are sorry for the inconvenience.''}' '405': description: '{''code'': 1020, ''message'': ''METHOD is not a valid method for this request.''}' '429': description: '{''code'': 2955, ''message'': ''You have reached your API call limit for a minute. Please try again after sometime.''}' parameters: - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/account_owner_name' - $ref: '#/components/parameters/app_link_name' - $ref: '#/components/parameters/report_link_name' - $ref: '#/components/parameters/process_until_limit' tags: - Data APIs get: summary: Get Records Quick View security: - oauth2: - ZohoCreator.report.READ description: This API fetches the records displayed by a report of a Zoho Creator application. Its response will contain the data from the fields displayed in the report's quick view. A maximum of 200 records can be fetched per request. responses: '200': $ref: '#/components/responses/get_records_quick_view_response' '401': description: '{''code'': 1030, ''message'': ''Authorization Failure. The access token is either invalid or has expired.''}, {''code'': 2945, ''message'': ''This is an invalid oauthscope. Please regenerate the oauthtoken corresponding to the API with proper oauthscope.''}, {''code'': 1000, ''message'': ''IAM Error''}' '403': description: '{''code'': 2933, ''message'': ''You do not have permission to access this application.''}, {''code'': 2898, ''message'': ''Permission denied to view record(s).''}, {''code'': 1080, ''message'': ''API calls cannot be made to disabled applications. Please check with the application admin.''}' '404': description: '{''code'': 1040, ''message'': ''No account owner named OWNER_NAME found.''}, {''code'': 2892, ''message'': ''No application named APPLICATION_NAME found. Please check and try again.''}, {''code'': 2894, ''message'': ''No report named REPORT_NAME found. Please check and try again.''}, {''code'': 1000, ''message'': ''Invalid API URL format.''}, {''code'': 2930, ''message'': ''Error Occurred. We are sorry for the inconvenience.''}' '405': description: '{''code'': 1020, ''message'': ''METHOD is not a valid method for this request.''}' '429': description: '{''code'': 2955, ''message'': ''You have reached your API call limit for a minute. Please try again after sometime.''}' parameters: - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/account_owner_name' - $ref: '#/components/parameters/app_link_name' - $ref: '#/components/parameters/report_link_name' - $ref: '#/components/parameters/from' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/criteria' tags: - Data APIs delete: summary: Delete Records security: - oauth2: - ZohoCreator.report.DELETE requestBody: $ref: '#/components/requestBodies/delete_records_request' description: This API deletes the records displayed by a report of your Zoho Creator application. A maximum of 200 records can be deleted per request. The delete request is subject to custom validations configured for the target form. responses: '200': $ref: '#/components/responses/delete_records_response' '400': description: '{''code'': 3020, ''message'': ''API request''s body is either missing or incomplete.''}' '401': description: '{''code'': 1030, ''message'': ''Authorization Failure. The access token is either invalid or has expired.''}, {''code'': 2945, ''message'': ''This is an invalid oauthscope. Please regenerate the oauthtoken corresponding to the API with proper oauthscope.''}, {''code'': 1000, ''message'': ''IAM Error''}' '403': description: '{''code'': 2933, ''message'': ''You do not have permission to access this application.''}, {''code'': 2896, ''message'': ''Permission denied to delete record(s).''}, {''code'': 1080, ''message'': ''API calls cannot be made to disabled applications. Please check with the application admin.''}' '404': description: '{''code'': 1040, ''message'': ''No account owner named OWNER_NAME found.''}, {''code'': 2892, ''message'': ''No application named APPLICATION_NAME found. Please check and try again.''}, {''code'': 2894, ''message'': ''No report named REPORT_NAME found. Please check and try again.''}, {''code'': 3100, ''message'': ''No records found for the given criteria.''}, {''code'': 1000, ''message'': ''A mandatory parameter - ''criteria'' is either absent or has been used twice. Please check and try again.''}, {''code'': 1000, ''message'': ''Invalid API URL format.''}, {''code'': 2930, ''message'': ''Error Occurred. We are sorry for the inconvenience.''}' '405': description: '{''code'': 1020, ''message'': ''METHOD is not a valid method for this request.''}' '429': description: '{''code'': 2955, ''message'': ''You have reached your API call limit for a minute. Please try again after sometime.''}' parameters: - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/account_owner_name' - $ref: '#/components/parameters/app_link_name' - $ref: '#/components/parameters/report_link_name' - $ref: '#/components/parameters/process_until_limit' tags: - Data APIs /creator/v2/data/{account_owner_name}/{app_link_name}/form/{form_link_name}: post: summary: Add Records security: - oauth2: - ZohoCreator.form.CREATE requestBody: $ref: '#/components/requestBodies/add_records_request' description: This API adds one or more records to a form in your Zoho Creator application. Subject to validations, each JSON object in the input file will be added as a record. A maximum of 200 records can be created per request. responses: '200': $ref: '#/components/responses/add_records_response' '400': description: '{''code'': 3020, ''message'': ''API request''s body is either missing or incomplete.''}' '401': description: '{''code'': 1030, ''message'': ''Authorization Failure. The access token is either invalid or has expired.''}, {''code'': 2945, ''message'': ''This is an invalid oauthscope. Please regenerate the oauthtoken corresponding to the API with proper oauthscope.''}, {''code'': 1000, ''message'': ''IAM Error''}' '403': description: '{''code'': 2933, ''message'': ''You do not have permission to access this application.''}, {''code'': 2899, ''message'': ''Permission denied to add record(s).''}, {''code'': 1080, ''message'': ''API calls cannot be made to disabled applications. Please check with the application admin.''}, {''code'': 2965, ''message'': ''No more entries allowed as per the form validation.''}' '404': description: '{''code'': 1040, ''message'': ''No account owner named OWNER_NAME found.''}, {''code'': 2892, ''message'': ''No application named APPLICATION_NAME found. Please check and try again.''}, {''code'': 2893, ''message'': ''No form named FORM_NAME found. Please check and try again.''}, {''code'': 1000, ''message'': ''Invalid API URL format.''}, {''code'': 2930, ''message'': ''Error Occurred. We are sorry for the inconvenience.''}' '405': description: '{''code'': 1020, ''message'': ''METHOD is not a valid method for this request.''}' '429': description: '{''code'': 2955, ''message'': ''You have reached your API call limit for a minute. Please try again after sometime.''}' parameters: - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/account_owner_name' - $ref: '#/components/parameters/app_link_name' - $ref: '#/components/parameters/form_link_name' tags: - Data APIs /creator/v2/data/{account_owner_name}/{app_link_name}/report/{report_link_name}/{record_ID}: patch: summary: Update Record by ID security: - oauth2: - ZohoCreator.report.UPDATE requestBody: $ref: '#/components/requestBodies/update_record_by_id_request' description: This API updates a specific record displayed in a report of a Zoho Creator application. The record is identified by its ID value. The update operation is subject to data validations configured for the corresponding form. responses: '200': $ref: '#/components/responses/update_record_by_id_response' '400': description: '{''code'': 3020, ''message'': ''API request''s body is either missing or incomplete.''}' '401': description: '{''code'': 1030, ''message'': ''Authorization Failure. The access token is either invalid or has expired.''}, {''code'': 2945, ''message'': ''This is an invalid oauthscope. Please regenerate the oauthtoken corresponding to the API with proper oauthscope.''}, {''code'': 1000, ''message'': ''IAM Error''}' '403': description: '{''code'': 2933, ''message'': ''You do not have permission to access this application.''}, {''code'': 2897, ''message'': ''Permission denied to update record(s).''}, {''code'': 1080, ''message'': ''API calls cannot be made to disabled applications. Please check with the application admin.''}' '404': description: '{''code'': 1040, ''message'': ''No account owner named OWNER_NAME found.''}, {''code'': 2892, ''message'': ''No application named APPLICATION_NAME found. Please check and try again.''}, {''code'': 2894, ''message'': ''No report named REPORT_NAME found. Please check and try again.''}, {''code'': 1000, ''message'': ''Invalid API URL format.''}, {''code'': 2930, ''message'': ''Error Occurred. We are sorry for the inconvenience.''}' '405': description: '{''code'': 1020, ''message'': ''METHOD is not a valid method for this request.''}' '429': description: '{''code'': 2955, ''message'': ''You have reached your API call limit for a minute. Please try again after sometime.''}' parameters: - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/account_owner_name' - $ref: '#/components/parameters/app_link_name' - $ref: '#/components/parameters/report_link_name' - $ref: '#/components/parameters/record_ID' tags: - Data APIs get: summary: Get Record Detail View security: - oauth2: - ZohoCreator.report.READ description: This API fetches the data displayed in the detail view of a record, which is identified by the ID value passed. This API will not fetch the records displayed in the related data blocks of the detail view. responses: '200': $ref: '#/components/responses/get_record_detail_view_response' '401': description: '{''code'': 1030, ''message'': ''Authorization Failure. The access token is either invalid or has expired.''}, {''code'': 2945, ''message'': ''This is an invalid oauthscope. Please regenerate the oauthtoken corresponding to the API with proper oauthscope.''}, {''code'': 1000, ''message'': ''IAM Error''}' '403': description: '{''code'': 2933, ''message'': ''You do not have permission to access this application.''}, {''code'': 2898, ''message'': ''Permission denied to view record(s).''}, {''code'': 1080, ''message'': ''API calls cannot be made to disabled applications. Please check with the application admin.''}' '404': description: '{''code'': 1040, ''message'': ''No account owner named OWNER_NAME found.''}, {''code'': 2892, ''message'': ''No application named APPLICATION_NAME found. Please check and try again.''}, {''code'': 2894, ''message'': ''No report named REPORT_NAME found. Please check and try again.''}, {''code'': 1000, ''message'': ''Invalid API URL format.''}, {''code'': 2930, ''message'': ''Error Occurred. We are sorry for the inconvenience.''}' '405': description: '{''code'': 1020, ''message'': ''METHOD is not a valid method for this request.''}' '429': description: '{''code'': 2955, ''message'': ''You have reached your API call limit for a minute. Please try again after sometime.''}' parameters: - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/account_owner_name' - $ref: '#/components/parameters/app_link_name' - $ref: '#/components/parameters/report_link_name' - $ref: '#/components/parameters/record_ID' tags: - Data APIs delete: summary: Delete Record by ID security: - oauth2: - ZohoCreator.report.DELETE requestBody: $ref: '#/components/requestBodies/delete_record_by_id_request' description: This API deletes a specific record, identified by its ID value, which is displayed in a report of your Zoho Creator application. The delete request is subject to custom validations configured for the target form. responses: '200': $ref: '#/components/responses/delete_record_by_id_response' '401': description: '{''code'': 1030, ''message'': ''Authorization Failure. The access token is either invalid or has expired.''}, {''code'': 2945, ''message'': ''This is an invalid oauthscope. Please regenerate the oauthtoken corresponding to the API with proper oauthscope.''}, {''code'': 1000, ''message'': ''IAM Error''}' '403': description: '{''code'': 2933, ''message'': ''You do not have permission to access this application.''}, {''code'': 2896, ''message'': ''Permission denied to delete record(s).''}, {''code'': 1080, ''message'': ''API calls cannot be made to disabled applications. Please check with the application admin.''}' '404': description: '{''code'': 1040, ''message'': ''No account owner named OWNER_NAME found.''}, {''code'': 2892, ''message'': ''No application named APPLICATION_NAME found. Please check and try again.''}, {''code'': 2894, ''message'': ''No report named REPORT_NAME found. Please check and try again.''}, {''code'': 1000, ''message'': ''Invalid API URL format.''}, {''code'': 2930, ''message'': ''Error Occurred. We are sorry for the inconvenience.''}' '405': description: '{''code'': 1020, ''message'': ''METHOD is not a valid method for this request.''}' '429': description: '{''code'': 2955, ''message'': ''You have reached your API call limit for a minute. Please try again after sometime.''}' parameters: - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/account_owner_name' - $ref: '#/components/parameters/app_link_name' - $ref: '#/components/parameters/report_link_name' - $ref: '#/components/parameters/record_ID' tags: - Data APIs components: requestBodies: update_records_request: content: application/json: schema: type: object properties: result: type: object version: 2 properties: fields: type: array items: type: string example: '["Phone_Number","Email"]' message: type: boolean example: true tasks: type: boolean example: true data: type: object version: 2 example: '{"Email":"jake@zylker.com","Phone_Number":"+15876786783"}' criteria: type: string version: 2 example: (Single_Line.contains("Single Line of Text")) add_records_request: content: application/json: schema: type: object properties: result: type: object version: 2 properties: fields: type: array items: type: string example: '["Phone_Number","Email"]' message: type: boolean example: true tasks: type: boolean example: true data: type: array version: 2 items: type: object example: '[{"Email":"jason@zylker.com","Phone_Number":"+16103948336"},{"Email":"p.boyle@zylker.com","Phone_Number":"+12096173907"}]' delete_record_by_id_request: content: application/json: schema: type: object properties: result: type: object version: 2 properties: message: type: boolean example: true tasks: type: boolean example: true delete_records_request: content: application/json: schema: type: object properties: result: type: object version: 2 properties: message: type: boolean example: true tasks: type: boolean example: true criteria: type: string version: 2 example: (Single_Line.contains("Single Line of Text")) update_record_by_id_request: content: application/json: schema: type: object properties: result: type: object version: 2 properties: fields: type: array items: type: string example: '["Phone_Number","Email"]' message: type: boolean example: true tasks: type: boolean example: true data: type: object version: 2 example: '{"Email":"jake@zylker.com","Phone_Number":"+15876786783"}' responses: delete_record_by_id_response: description: '{''code'': 3190, ''message'': ''No record with ID RECORD_ID found.''}, {''code'': 4000, ''message'': ''Account''s Developer API limit has been reached. Please upgrade to execute more REST API calls.''}' content: application/json: schema: type: object properties: code: format: int32 type: integer example: 3000 data: type: object properties: ID: format: int64 type: integer example: 3888833000000114027 message: type: string example: Record Deleted Successfully get_records_quick_view_response: description: '{''code'': 4000, ''message'': ''Account''s Developer API limit has been reached. Please upgrade to execute more REST API calls.''}' content: application/json: schema: type: object properties: code: format: int32 type: integer example: 3000 data: type: array items: type: object example: '[{"Multi_Line":"Multiples\nLines\nof Text","Email":"p.boyle@zylker.com","Phone_Number":"+15704961113"},{"Multi_Line":"Multiples\nLines\nof Text","Email":"jason@zylker.com","Phone_Number":"+15704961113"}]' get_record_detail_view_response: description: '{''code'': 3190, ''message'': ''No record with ID RECORD_ID found.''}, {''code'': 4000, ''message'': ''Account''s Developer API limit has been reached. Please upgrade to execute more REST API calls.''}' content: application/json: schema: type: object properties: code: format: int32 type: integer example: 3000 data: type: object example: '{"Multi_Line":"Multiples\nLines\nof Text","Email":"p.boyle@zylker.com","Phone_Number":"+15704961113"}' delete_records_response: description: '{''code'': 3960, ''message'': ''A maximum of 200 records can be processed per request. Include the process_until_limit parameter to process the first 200 records.''}, {''code'': 4000, ''message'': ''Account''s Developer API limit has been reached. Please upgrade to execute more REST API calls.''}' content: application/json: schema: type: object properties: result: type: array items: type: object properties: code: format: int32 type: integer data: type: object properties: ID: format: int64 type: integer message: type: string example: '[{"code":3001,"data":{"ID":"3000000013011"},"error":["Failed to Delete Data."]},{"code":3000,"data":{"ID":"3000000015003"},"message":"Record Deleted Successfully!"}]' code: format: int32 type: integer example: 3000 update_record_by_id_response: description: '{''code'': 3190, ''message'': ''No record with ID RECORD_ID found.''}, {''code'': 3070, ''message'': ''Data validation failure: [ARRAY]''}, {''code'': 4000, ''message'': ''Account''s Developer API limit has been reached. Please upgrade to execute more REST API calls.''}' content: application/json: schema: type: object properties: code: format: int32 type: integer example: 3000 data: type: object properties: ID: type: string example: '{"Email":"jake@zylker.com","Phone_Number":"+15876786783","ID":"3888833000000114027"}' message: type: string example: Data Updated Successfully tasks: type: object properties: openurl: type: object properties: type: type: string example: Same window url: type: string example: http://www.zylker.com update_records_response: description: '{''code'': 3960, ''message'': ''A maximum of 200 records can be processed per request. Include the process_until_limit parameter to process the first 200 records.''}, {''code'': 3070, ''message'': ''Data validation failure: [ARRAY]''}, {''code'': 4000, ''message'': ''Account''s Developer API limit has been reached. Please upgrade to execute more REST API calls.''}' content: application/json: schema: type: object properties: result: type: array items: type: object properties: code: format: int32 type: integer data: type: object properties: ID: type: string message: type: string tasks: type: object properties: openurl: type: object properties: type: type: string url: type: string example: '[{"code":3000,"data":{"Phone_Number":"+15876786783","Email":"jake@zylker.com","ID":"3888833000000114023"},"message":"Data Updated Successfully!","tasks":{"openurl":{"type":"Same window","url":"http://www.zylker.com"}}},{"code":3000,"data":{"Phone_Number":"+15876786783","Email":"jake@zylker.com","ID":"3888833000000114047"},"message":"Data Updated Successfully!","tasks":{"openurl":{"type":"Same window","url":"http://www.zylker.com"}}}]' code: format: int32 type: integer example: 3000 add_records_response: description: '{''code'': 3950, ''message'': ''A maximum of 200 records can be added per request.''}, {''code'': 3070, ''message'': ''Data validation failure: [ARRAY]''}, {''code'': 3060, ''message'': ''Account''s record limit has been reached. Please upgrade to add more data.''}, {''code'': 4000, ''message'': ''Account''s Developer API limit has been reached. Please upgrade to execute more REST API calls.''}' content: application/json: schema: type: object properties: result: type: array items: type: object properties: code: format: int32 type: integer data: type: object properties: ID: type: string message: type: string tasks: type: object properties: openurl: type: object properties: type: type: string url: type: string example: '[{"code":3000,"data":{"Email":"jason@zylker.com","Phone_Number":"+16103948336","ID":"3888833000000121319"},"message":"Data Added Successfully!","tasks":{"openurl":{"type":"Same window","url":"#Report:All_Orders"}}},{"code":3000,"data":{"Email":"p.boyle@zylker.com","Phone_Number":"+12096173907","ID":"3888833000000121339"},"message":"Data Added Successfully!","tasks":{"openurl":{"type":"Same window","url":"#Report:All_Orders"}}}]' code: format: int32 type: integer example: 3000 parameters: criteria: schema: type: string in: query name: criteria version: 2 required: false process_until_limit: schema: type: boolean in: query name: process_until_limit version: 2 required: false form_link_name: schema: type: string in: path name: form_link_name version: 2 required: true limit: schema: format: int32 maximum: 200 type: integer in: query name: limit version: 2 required: false report_link_name: schema: type: string in: path name: report_link_name version: 2 required: true version: schema: type: string in: path name: version version: 2 required: true record_ID: schema: type: string in: path name: record_ID version: 2 required: true from: schema: format: int32 type: integer minimum: 1 in: query name: from version: 2 required: false account_owner_name: schema: type: string in: path name: account_owner_name version: 2 required: true app_link_name: schema: type: string in: path name: app_link_name version: 2 required: true securitySchemes: oauth2: flows: authorizationCode: tokenUrl: https://accounts.zoho.com/oauth/v2/token authorizationUrl: https://accounts.zoho.com/oauth/v2/auth?access_type=offline scopes: ZohoCreator.report.CREATE: Upload file to a record in a report. ZohoCreator.bulk.READ: Check the status or download the result of a bulk read or bulk insert job. ZohoCreator.bulk.CREATE: Create a bulk read or bulk insert job. ZohoCreator.dashboard.READ: Get applications. ZohoCreator.report.UPDATE: Update records in a report. ZohoCreator.meta.application.READ: Get forms, reports in an application. ZohoCreator.report.READ: Get records and download file in a report. ZohoCreator.form.CREATE: Add records to a form. ZohoCreator.report.DELETE: Delete records in a report. ZohoCreator.meta.form.READ: Get list of fields in a form. type: oauth2 externalDocs: description: Zoho Creator API v2 Documentation url: https://www.zoho.com/creator/help/api/v2/