Skip to content

Data Source Configuration

The API Configuration System allows users to define and execute API requests dynamically. It supports path parameters, query parameters, and configurable inputs for flexible API interaction. This document outlines the structure, features, and usage of the system.

Each API request is defined using a JSON configuration file. Below is an example of a typical configuration: beceause

{
  "url": "https://dummyjson.com/products/{{num}}",
  "type": "GET",
  "inputs": [
    {
      "name": "num",
      "type": "url",
      "label": "Product number",
      "description": "The number of the product to fetch",
      "isRequired": true,
      "isHidden": false,
      "isConfigurable": false
    },
    {
      "name": "test",
      "type": "get",
      "label": "Test",
      "description": "A test option",
      "isRequired": true,
      "isHidden": true,
      "isConfigurable": true
    }
  ],
  "output": {
    "paths": [
      {
        "name": "price",
        "path": "$.price"
      }
    ]
  },
  "useProxy": false,
  "compatibleWith": [
    "value",
    "multivalue"
  ]
}
}
 "url": "https://dummyjson.com/products/{{num}}"

The API request’s base URL, supporting path parameters wrapped in {{ }}.

 "type": "GET" | "POST" | "POST_FORM"

Defines the HTTP method used for the request, supporting: GET, POST & POST_FORM

 "inputs": [{},{}]

Each input defines a parameter that can be part of the request. Inputs can be of different types:

Path Parameters are dynamic placeholders inside the URL path. They allow API requests to be flexible and retrieve specific resources based on the provided values.

{
  "name": "num",
  "type": "url",
  "label": "Product number",
  "description": "The number of the product to fetch",
}

If an API needs to fetch product details by product ID, the URL might be structured as follows:

"url": "https://dummyjson.com/products/{{num}}"

Here, {{num}} is a path parameter that must be replaced with a valid value.

When calling the API with a specific product number, such as 5, the final request would be:

GET https://dummyjson.com/products/5

This would return data specific to the product with ID 5.


  • Appended to the URL as key-value pairs (?key=value).
  • Example:
{
  "name": "test",
  "type": "get",
  "label": "Test",
  "description": "A test option",
  "isRequired": true,
  "isHidden": true,
  "isConfigurable": true
}
  • name The unique identifier for the input.
  • type Defines whether the input is a path parameter (url) or query parameter (get).
  • label A human-readable name for the input.
  • description A brief explanation of the input’s purpose.
  • isRequired Specifies if the parameter is mandatory (true) or optional (false).
  • isHidden Determines whether the input is visible to the user.
  • isConfigurable Defines if the user can modify the input value.
  • ... more to be added