{ "$schema": "https://raw.githubusercontent.com/ToolJet/ToolJet/develop/plugins/schemas/manifest.schema.json", "title": "Restapi datasource", "description": "A schema defining restapi datasource", "type": "api", "source": { "name": "REST API", "kind": "restapi", "options": { "url": { "type": "string" }, "auth_type": { "type": "string" }, "grant_type": { "type": "string" }, "add_token_to": { "type": "string" }, "header_prefix": { "type": "string" }, "access_token_url": { "type": "string" }, "client_id": { "type": "string" }, "client_secret": { "type": "string", "encrypted": true }, "audience": { "type": "string" }, "password": { "encrypted": true }, "bearer_token": { "encrypted": true }, "scopes": { "type": "string" }, "auth_url": { "type": "string" }, "client_auth": { "type": "string" }, "headers": { "type": "array" }, "custom_auth_params": { "type": "array" }, "ca_cert": { "encrypted": true }, "client_key": { "encrypted": true }, "client_cert": { "encrypted": true }, "root_cert": { "encrypted": true } }, "exposedVariables": { "isLoading": false, "data": {}, "rawData": {} }, "customTesting": true }, "defaults": { "url": { "value": "" }, "auth_type": { "value": "none" }, "grant_type": { "value": "authorization_code" }, "add_token_to": { "value": "header" }, "header_prefix": { "value": "Bearer " }, "access_token_url": { "value": "" }, "client_id": { "value": "" }, "client_secret": { "value": "" }, "audience": { "value": "" }, "scopes": { "value": "read, write" }, "username": { "value": "" }, "password": { "value": "" }, "bearer_token": { "value": "" }, "auth_url": { "value": "" }, "client_auth": { "value": "header" }, "headers": { "value": [ [ "", "" ] ] }, "custom_query_params": { "value": [ [ "", "" ] ] }, "custom_auth_params": { "value": [ [ "", "" ] ] }, "access_token_custom_headers": { "value": [ [ "", "" ] ] }, "multiple_auth_enabled": { "value": false }, "ssl_certificate": { "value": "none" }, "retry_network_errors": { "value": true } }, "properties": { "renderForm": { "type": "react-form-component", "credentialsInputs": { "title": "CREDENTIALS", "inputs": { "url": { "label": "Base URL", "key": "url", "type": "text", "description": "https://api.example.com/v1/" }, "headers": { "label": "Headers", "key": "headers", "type": "react-component-headers", "description": "key-value pair headers for rest api", "width": "300px" }, "url_parameters": { "label": "URL parameters", "key": "url_parameters", "type": "react-component-headers", "description": "key-value pair headers for rest api", "width": "300px" }, "body": { "label": "Body", "key": "body", "type": "react-component-headers", "description": "key-value pair headers for rest api", "width": "300px" }, "cookies": { "label": "Cookies", "key": "cookies", "type": "react-component-headers", "description": "key-value pair headers for rest api", "width": "300px" } } }, "authenticationInputs": { "title": "AUTHENTICATION", "inputs": { "auth_type": { "key": "auth_type", "type": "react-component-oauth-authentication", "description": "key-value pair headers for rest api" } } }, "sslInputs": { "title": "SECURE SOCKETS LAYER", "inputs": { "ssl_certificate": { "label": "SSL Certificate", "key": "ssl_certificate", "type": "dropdown-component-flip", "description": "Single select dropdown for choosing certificates", "list": [ { "value": "ca_certificate", "name": "CA certificate" }, { "value": "client_certificate", "name": "Client certificate" }, { "value": "none", "name": "None" } ] }, "ca_certificate": { "ca_cert": { "label": "CA Cert", "key": "ca_cert", "type": "textarea", "encrypted": true, "description": "Enter CA certificate" } }, "client_certificate": { "client_key": { "label": "Client Key", "key": "client_key", "type": "textarea", "encrypted": true, "description": "Enter client key" }, "client_cert": { "label": "Client Cert", "key": "client_cert", "type": "textarea", "encrypted": true, "description": "Enter client certificate" }, "ca_cert": { "label": "CA Cert", "key": "ca_cert", "type": "textarea", "encrypted": true, "description": "Enter CA certificate" } } } }, "generalSettingInputs": { "title": "GENERAL SETTINGS", "inputs": { "retry_network_errors": { "text": "Retry on network errors", "subtext": "By default, ToolJet tries to hit API endpoint 3 times before declaring query failed as server did not respond", "key": "retry_network_errors", "type": "toggle", "description": "key-value pair headers for rest api" } } } } }, "required": [ "url" ] }