github.com/instill-ai/component@v0.16.0-beta/pkg/connector/restapi/v0/config/definition.json (about)

     1  {
     2    "available_tasks": [
     3      "TASK_GET",
     4      "TASK_POST",
     5      "TASK_PATCH",
     6      "TASK_PUT",
     7      "TASK_DELETE",
     8      "TASK_HEAD",
     9      "TASK_OPTIONS"
    10    ],
    11    "custom": false,
    12    "documentation_url": "https://www.instill.tech/docs/latest/vdp/data-connectors/restapi",
    13    "icon": "assets/restapi.svg",
    14    "icon_url": "",
    15    "id": "restapi",
    16    "public": true,
    17    "spec": {
    18      "connection_specification": {
    19        "$schema": "http://json-schema.org/draft-07/schema#",
    20        "additionalProperties": false,
    21        "properties": {
    22          "authentication": {
    23            "description": "Authentication method to use for the REST API",
    24            "instillUIOrder": 0,
    25            "oneOf": [
    26              {
    27                "properties": {
    28                  "auth_type": {
    29                    "const": "NO_AUTH",
    30                    "description": "No Authentication",
    31                    "instillUIOrder": 0,
    32                    "order": 0,
    33                    "type": "string"
    34                  }
    35                },
    36                "required": [
    37                  "auth_type"
    38                ],
    39                "title": "No Auth"
    40              },
    41              {
    42                "properties": {
    43                  "auth_type": {
    44                    "const": "BASIC_AUTH",
    45                    "description": "Basic auth",
    46                    "instillUIOrder": 0,
    47                    "order": 0,
    48                    "type": "string"
    49                  },
    50                  "password": {
    51                    "description": "Password for Basic auth",
    52                    "instillUpstreamTypes": [
    53                      "reference"
    54                    ],
    55                    "instillAcceptFormats": [
    56                      "string"
    57                    ],
    58                    "instillCredentialField": true,
    59                    "instillUIOrder": 2,
    60                    "order": 2,
    61                    "title": "Password",
    62                    "type": "string"
    63                  },
    64                  "username": {
    65                    "description": "Username for Basic Auth",
    66                    "instillUpstreamTypes": [
    67                      "value"
    68                    ],
    69                    "instillAcceptFormats": [
    70                      "string"
    71                    ],
    72                    "instillUIOrder": 1,
    73                    "order": 1,
    74                    "title": "Username",
    75                    "type": "string"
    76                  }
    77                },
    78                "required": [
    79                  "auth_type",
    80                  "username",
    81                  "password"
    82                ],
    83                "title": "Basic Auth"
    84              },
    85              {
    86                "properties": {
    87                  "auth_location": {
    88                    "default": "header",
    89                    "description": "Add the API key to the header or query params",
    90                    "enum": [
    91                      "header",
    92                      "query"
    93                    ],
    94                    "instillUpstreamTypes": [
    95                      "value"
    96                    ],
    97                    "instillAcceptFormats": [
    98                      "string"
    99                    ],
   100                    "instillUIOrder": 3,
   101                    "order": 3,
   102                    "title": "Where to Add API Key to",
   103                    "type": "string"
   104                  },
   105                  "auth_type": {
   106                    "const": "API_KEY",
   107                    "description": "API key authentication",
   108                    "instillUIOrder": 0,
   109                    "order": 0,
   110                    "type": "string"
   111                  },
   112                  "key": {
   113                    "default": "X-API-Key",
   114                    "description": "Key name for API key authentication",
   115                    "instillUpstreamTypes": [
   116                      "value"
   117                    ],
   118                    "instillAcceptFormats": [
   119                      "string"
   120                    ],
   121                    "instillUIOrder": 1,
   122                    "order": 1,
   123                    "title": "Key Name",
   124                    "type": "string"
   125                  },
   126                  "value": {
   127                    "description": "Key value for API key authentication",
   128                    "instillUpstreamTypes": [
   129                      "reference"
   130                    ],
   131                    "instillAcceptFormats": [
   132                      "string"
   133                    ],
   134                    "instillCredentialField": true,
   135                    "instillUIOrder": 2,
   136                    "order": 2,
   137                    "title": "Key Value",
   138                    "type": "string"
   139                  }
   140                },
   141                "required": [
   142                  "auth_type",
   143                  "key",
   144                  "value",
   145                  "auth_location"
   146                ],
   147                "title": "API Key"
   148              },
   149              {
   150                "properties": {
   151                  "auth_type": {
   152                    "const": "BEARER_TOKEN",
   153                    "description": "Bearer token authentication",
   154                    "instillUIOrder": 0,
   155                    "order": 0,
   156                    "type": "string"
   157                  },
   158                  "token": {
   159                    "description": "Bearer token",
   160                    "instillUpstreamTypes": [
   161                      "reference"
   162                    ],
   163                    "instillAcceptFormats": [
   164                      "string"
   165                    ],
   166                    "instillCredentialField": true,
   167                    "instillUIOrder": 1,
   168                    "order": 1,
   169                    "title": "Token",
   170                    "type": "string"
   171                  }
   172                },
   173                "required": [
   174                  "auth_type",
   175                  "token"
   176                ],
   177                "title": "Bearer Token"
   178              }
   179            ],
   180            "order": 1,
   181            "title": "Authentication",
   182            "type": "object"
   183          }
   184        },
   185        "required": [
   186          "authentication"
   187        ],
   188        "title": "REST API Connection",
   189        "type": "object"
   190      }
   191    },
   192    "title": "REST API",
   193    "description": "Make requests to external REST APIs",
   194    "tombstone": false,
   195    "type": "CONNECTOR_TYPE_DATA",
   196    "uid": "5ee55a5c-6e30-4c7a-80e8-90165a729e0a",
   197    "vendor": "",
   198    "vendor_attributes": {},
   199    "version": "0.1.0",
   200    "source_url": "https://github.com/instill-ai/component/blob/main/pkg/connector/restapi/v0",
   201    "release_stage": "RELEASE_STAGE_ALPHA"
   202  }