> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://infonite.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://infonite.dev/_mcp/server.

# Show engine details

GET https://clients.infonite.tech/api/config/engines/{engine_reference}

Everything you need to build a request for one engine: what it asks for to log in, and what it can retrieve.

This is the endpoint that removes the guesswork, and the one worth calling before every integration change:

- **`parameters`** — the credentials and inputs this engine needs, as an OpenAPI 3.0.3 Schema Object. It is a form description: field names, types, whether each one is required, and the labels to show. Build your input from it rather than hardcoding *username + password*, because institutions do change what they ask for.
- **`features`** — every feature the engine offers, each with the configurations it accepts (a date range, a document type, a depth of history). What you send in `features` at execution time is chosen from here.
- **`events`** — the events this engine raises, so you know which webhooks are worth subscribing to for it.
- **`action_required_frequency`** — how often this engine stops mid-run to ask your customer something. `always` means every execution will need a person: starting one without `customer_interaction_available` is rejected outright.
- **`engine_restrictions` and `engine_issues`** — known limits of the source in plain language, such as history that is only available for a certain period or data that cannot be read at certain hours.

A `503` means the engine exists but is not available right now; a `404` means the reference does not exist or is not enabled for your application.

**Cache this too, and refresh it on a schedule rather than before every execution.** An engine's form changes when the institution changes it — rarely, and never in the seconds between two of your calls. What you must not do is hardcode the form and stop asking altogether: then the change arrives as a wave of failed logins instead of a new field.

> This endpoint needs to be executed with an app secret, so should always be used in server side without exposing the secret to customers.


Reference: https://infonite.dev/api-reference/direct-executions/direct-executions-api/engines/direct-executions-v-1-engines-details

## Authentication

- `X-APP-SECRET` header (required) — Application Secret

## Servers

- `https://clients.infonite.tech/api` (Legacy Server, default)
- `https://clients.infonite.io/api` (Production Server)

## Request

### Path parameters

- `engine_reference` (string, required) — The engine, as the catalogue publishes it in `reference`.

## Response

### 200

**200 OK**What this engine is, **what it needs to log in** — the parameters, one by one, with their format and whether they are required — and which features it can retrieve, with the settings each one takes. It is the contract your request is validated against.

- `reference` (string, required)
- `engine_code` (string, required) — Engine Code
- `engine_alternative` (enum, required) — Engines can have multiple alternatives, each alternative is a different implementation for the same provider, but using a different platform or technology. For example there can be two alternatives for a financial institution, one for a website and another for the mobile app of the same institution. Note that two alternatives of the same engine can retrieve different information, based on the availability of the information in the platform or technology used by the alternative. Allowed values are: - `website`: Alternative for website source - `mobile`: Alternative for mobile source - `api`: Alternative for oficial api source - `other`: Alternative for custom implementation
  - Allowed values: `website`, `mobile`, `api`, `other`
- `engine_version` (string, required)
- `environment` (enum, required)
  - Allowed values: `sandbox`, `production`
- `status` (enum, required)
  - Allowed values: `draft`, `implementing`, `published`, `partial`, `maintenance`
- `priority` (integer, required) — Priority of the engine (For ordering purposes)
- `keywords` (list of string, required) — Keywords that can be used to search
- `color_primary` (object, required) — Primary theme color
  - `lighter` (string, required) — Lighter color
  - `light` (string, required) — Light color
  - `main` (string, required) — Main color
  - `dark` (string, required) — Dark color
  - `darker` (string, required) — Darker color
  - `contrast_text` (string, required) — Contrast text color
  - `contrastText` (string, required) — Contrast text color
- `main_category` (enum, required) — Main Category of the engine normally related to the actions that the engine can performon the provider source or the kind of information that the engine can retrieve
  - Allowed values: `financial`, `public`, `commercial`, `cloud`, `other`
- `sub_categories` (list of enum or enum or enum or enum, required) — Sub Categories of the engine normally based on the kind of actions that the engine can perform on the provider source or the kind of information that the engine can retrieve
- `name` (string, required) — Formal name of the engine
- `description` (string, required) — Brief description of the engine
- `markets` (list of string, required) — Markets where the engine is oriented, can be used to filter the target audience of the engine
- `languages` (list of string, required) — Languages supported by the provider
- `engine_restrictions` (list of string, required) — Known engine restrictions
- `engine_issues` (list of string, required) — Known engine issues
- `action_required_frequency` (enum, required)
  - Allowed values: `unknown`, `never`, `on_first_use`, `rarely`, `often`, `always`
- `live` (object, required) — Information about the availability of the engine
  - `last_ping_date` (string, optional, nullable) — Last seen date
- `events` (list of enum, required) — Possible Events raised by the current engine. You can subscribe to the desired events to receive notifications and status updates about the execution of the engine.
  - Allowed values: `started`, `action_required`, `ended`, `auth_ended`
- `parameters` (object, required) — Description of the engine parameters in OpenAPI 3.0.3 Schema Object format
  - `properties` (map from string to any, required) — Properties of the form
  - `type` ("object", required) — Type of the form
  - `format` ("cg-params", required) — Type of form
  - `$defs` (map from string to any, optional, nullable) — Definitions
  - `required` (list of string, optional, nullable) — List of required fields
  - `x-meta` (object, optional, nullable) — Meta information of the form
    - `instructions_title` (string, optional, nullable) — Title of the form
    - `instructions_text` (string, optional, nullable) — Title of the form
    - `submit_button_text` (string, optional, nullable) — Title of the form
    - `locking_fields` (list of string, optional) — List of properties from parameters that does not change in an user for the engine. For example, in a standard login form, the username is a locking field.
    - `hidden_fields` (list of string, optional) — List of properties to be hidden in the form.
    - `lazy_fields` (list of string, optional) — List of properties to be lazy loaded in the form, meaning that the value will be prompted to the user latter if required.
- `configurations` (object, required) — Description of the engine configurations in OpenAPI 3.0.3 Schema Object format
  - `properties` (map from string to any, required) — Properties of the form
  - `type` ("object", required) — Type of the form
  - `format` ("cg-configs", required) — Type of form
  - `$defs` (map from string to any, optional, nullable) — Definitions
  - `required` (list of string, optional, nullable) — List of required fields
  - `x-meta` (object, optional, nullable) — Meta information of the form
    - `instructions_title` (string, optional, nullable) — Title of the form
    - `instructions_text` (string, optional, nullable) — Title of the form
    - `submit_button_text` (string, optional, nullable) — Title of the form
- `is_online` (boolean, required) — Indicate if the engine is online
- `website` (string, optional, nullable)
- `features` (list of object, optional) — Details for each feature allowed by the engine, and the configurations it accepts.
  - `code` (enum, required) — Features allowed by an engine Allowed values are: - `accounts_read`: Financial Accounts Read - `cards_read`: Financial Cards Read - `deposits_read`: Financial Deposits Read - `loans_read`: Financial Loans Read - `credits_read`: Financial Credits Read - `investment_accounts_read`: Investment Accounts Read - `funds_read`: Investment Funds Read - `stocks_read`: Investment Stocks Read - `pensions_read`: Pension Plans Read - `accounts_certificates`: Account Certificates Read - `direct_debits_read`: Direct Debits Read - `customer_information_read`: Customer Information Read - `source_contracts_read`: Source Contracts Read - `cloud_resource_read`: Cloud Provider Resource Read - `supplier_invoices_read`: Supplier Invoices Read - `client_invoices_read`: Client Invoices Read - `labor_check`: Labor Check - `public_pensions`: Public Pensions - `public_document_verification`: Public Document Verification - `yearly_individual_tax`: Yearly Taxes for Individuals - `vehicles_data`: Vehicles Data - `driver_data`: Driver Data - `academic_data`: Academic Data - `properties_data`: Properties Data - `credit_registry_data`: Credit Registry Data
    - Allowed values: `accounts_read`, `cards_read`, `deposits_read`, `loans_read`, `credits_read`, `investment_accounts_read`, `funds_read`, `stocks_read`, `pensions_read`, `accounts_certificates`, `direct_debits_read`, `customer_information_read`, `source_contracts_read`, `cloud_resource_read`, `supplier_invoices_read`, `client_invoices_read`, `labor_check`, `public_pensions`, `public_document_verification`, `yearly_individual_tax`, `vehicles_data`, `driver_data`, `academic_data`, `properties_data`, `credit_registry_data`
  - `configurations` (object, required) — Description of the feature configurations in OpenAPI 3.0.3 Schema Object format
    - `properties` (map from string to any, required) — Properties of the form
    - `type` ("object", required) — Type of the form
    - `format` ("cg-configs", required) — Type of form
    - `$defs` (map from string to any, optional, nullable) — Definitions
    - `required` (list of string, optional, nullable) — List of required fields
    - `x-meta` (object, optional, nullable) — Meta information of the form
      - `instructions_title` (string, optional, nullable) — Title of the form
      - `instructions_text` (string, optional, nullable) — Title of the form
      - `submit_button_text` (string, optional, nullable) — Title of the form

## Errors

### 404 Not Found Error

**404 Not Found**No engine with that reference: nothing is registered under that code, or the channel does not exist for it (`…-website` for an engine that is only `mobile`). An engine that EXISTS and is not yours to run answers `503` instead, with the reason — this one really means *no such engine*.

- `detail` (string, required) — Error message

### 422 Unprocessable Entity Error

**422 Unprocessable Content**The reference in the path is not an engine reference. **A reference is taken from the catalogue, never composed**: the code, the market and the channel are ours to assign. `detail` is a LIST, like every validation error on this API.

- `detail` (list of object, required)
  - `loc` (list of string or integer, required)
  - `msg` (string, required)
  - `type` (string, required)
  - `input` (any, optional)
  - `ctx` (object, optional)

### 503 Service Unavailable Error

**503 Service Unavailable**The engine exists and is not usable at this moment — under maintenance, or the source is not answering. `detail` says which. It is a temporary state, and an execution started now would end the same way.

- `detail` (string, required) — Error message

## Examples

### A bank: nine features and a password login

**Response**

```json
{
  "reference": "DEMOBANKXXXXFIN100ES9999-mobile",
  "engine_code": "DEMOBANKXXXXFIN100ES9999",
  "engine_alternative": "mobile",
  "engine_version": "2026.8.100",
  "environment": "sandbox",
  "status": "published",
  "priority": 0,
  "keywords": [],
  "color_primary": {
    "lighter": "#49535d",
    "light": "#1f2933",
    "main": "#1c252e",
    "dark": "#141a20",
    "darker": "#0e1217",
    "contrast_text": "#ffffff",
    "contrastText": "#ffffff"
  },
  "main_category": "financial",
  "sub_categories": [
    "financial:retail",
    "financial:investment"
  ],
  "name": "Demo Bank",
  "description": "FAKE BANK FOR TESTING",
  "markets": [
    "ES",
    "FR",
    "GB",
    "GR"
  ],
  "languages": [
    "spa",
    "eng"
  ],
  "engine_restrictions": [],
  "engine_issues": [],
  "action_required_frequency": "unknown",
  "live": {
    "last_ping_date": "2026-09-12T10:15:30+00:00"
  },
  "events": [
    "started",
    "action_required",
    "ended",
    "auth_ended"
  ],
  "parameters": {
    "properties": {
      "password": {
        "description": "Enter your password",
        "format": "password",
        "maxLength": 10,
        "minLength": 1,
        "title": "Password",
        "type": "string"
      },
      "use_case": {
        "default": "Normal Execution",
        "description": "Target use case",
        "enum": [
          "Normal Execution",
          "Out of Service",
          "Two Factor SMS",
          "Two Factor Email",
          "Two Factor Confirmation",
          "Auto Captcha Error",
          "Unhandled Auth Error",
          "Friezed Credentials",
          "Blocked User",
          "Manual Intervention",
          "Change Password",
          "Incompatible Access"
        ],
        "title": "TestCase",
        "type": "string"
      },
      "username": {
        "description": "Enter your email",
        "examples": [
          "john.doe@example.com"
        ],
        "format": "email",
        "title": "Email",
        "type": "string"
      }
    },
    "type": "object",
    "format": "cg-params",
    "required": [
      "username",
      "password"
    ],
    "x-meta": {
      "instructions_title": "Engine Parameters",
      "instructions_text": "Input any email to launch a demo execution",
      "submit_button_text": "Submit",
      "locking_fields": [
        "username"
      ],
      "hidden_fields": [],
      "lazy_fields": []
    }
  },
  "configurations": {
    "properties": {
      "expected_password": {
        "default": "1234",
        "description": "Expected Password",
        "title": "Expected Password",
        "type": "string"
      },
      "login_delay": {
        "default": 1,
        "description": "Time in seconds to delay the login",
        "maximum": 10,
        "minimum": 1,
        "title": "Login Delay",
        "type": "integer"
      },
      "warmup_delay": {
        "default": 1,
        "description": "Time in seconds to delay the warmup",
        "maximum": 10,
        "minimum": 1,
        "title": "Warmup Delay",
        "type": "integer"
      }
    },
    "type": "object",
    "format": "cg-configs",
    "x-meta": {
      "instructions_title": "Engine Configurations",
      "submit_button_text": "Submit"
    }
  },
  "is_online": true,
  "website": "https://demobank.infonite.tech/",
  "features": [
    {
      "code": "deposits_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    },
    {
      "code": "cards_read",
      "configurations": {
        "properties": {
          "filter_by_type": {
            "default": [
              "financial_card:credit",
              "financial_card:mixed",
              "financial_card:debit",
              "financial_card:prepaid"
            ],
            "description": "The types of cards to be read. By default all types are requested",
            "items": {
              "enum": [
                "financial_card:debit",
                "financial_card:credit",
                "financial_card:prepaid",
                "financial_card:mixed"
              ],
              "title": "FinancialCardType",
              "type": "string"
            },
            "minItems": 1,
            "title": "Filter By Type",
            "type": "array"
          },
          "from_date": {
            "default": "30 days ago",
            "description": "The date from which the sub-product will be read",
            "examples": [
              "1990-08-14"
            ],
            "format": "date",
            "title": "From Date",
            "type": "string"
          },
          "limits_behaviour": {
            "default": "error",
            "description": "The behaviour when the date limits are not respected.\n- `error`: raise an error and abort the execution\n- `adapt`: adapt the dates to the limits and continue the execution",
            "enum": [
              "error",
              "adapt"
            ],
            "title": "Limits Behaviour",
            "type": "string"
          },
          "read_transactions": {
            "default": false,
            "description": "If true, the engine will try to read the card transactions",
            "title": "Read Transactions",
            "type": "boolean"
          },
          "to_date": {
            "default": "today",
            "description": "The date until which the sub-product will be read",
            "examples": [
              "1990-08-14"
            ],
            "format": "date",
            "title": "To Date",
            "type": "string"
          }
        },
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Cards Read Configurations",
          "submit_button_text": "Submit"
        }
      }
    },
    {
      "code": "loans_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    },
    {
      "code": "customer_information_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    },
    {
      "code": "funds_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    },
    {
      "code": "stocks_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    },
    {
      "code": "pensions_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    },
    {
      "code": "accounts_read",
      "configurations": {
        "properties": {
          "from_date": {
            "default": "30 days ago",
            "description": "The date from which the sub-product will be read",
            "examples": [
              "1990-08-14"
            ],
            "format": "date",
            "title": "From Date",
            "type": "string"
          },
          "limits_behaviour": {
            "default": "error",
            "description": "The behaviour when the date limits are not respected.\n- `error`: raise an error and abort the execution\n- `adapt`: adapt the dates to the limits and continue the execution",
            "enum": [
              "error",
              "adapt"
            ],
            "title": "Limits Behaviour",
            "type": "string"
          },
          "read_holders": {
            "default": false,
            "description": "If true, the engine will try to read the account holders",
            "title": "Read Holders",
            "type": "boolean"
          },
          "read_transactions": {
            "default": false,
            "description": "If true, the engine will try to read the account transactions",
            "title": "Read Transactions",
            "type": "boolean"
          },
          "to_date": {
            "default": "today",
            "description": "The date until which the sub-product will be read",
            "examples": [
              "1990-08-14"
            ],
            "format": "date",
            "title": "To Date",
            "type": "string"
          }
        },
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Accounts Read Configurations",
          "submit_button_text": "Submit"
        }
      }
    },
    {
      "code": "investment_accounts_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    }
  ]
}
```

**SDK Code**

```python A bank: nine features and a password login
import requests

url = "https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile"

headers = {"X-APP-SECRET": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript A bank: nine features and a password login
const url = 'https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile';
const options = {method: 'GET', headers: {'X-APP-SECRET': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go A bank: nine features and a password login
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-APP-SECRET", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby A bank: nine features and a password login
require 'uri'
require 'net/http'

url = URI("https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-APP-SECRET"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java A bank: nine features and a password login
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile")
  .header("X-APP-SECRET", "<apiKey>")
  .asString();
```

```php A bank: nine features and a password login
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile', [
  'headers' => [
    'X-APP-SECRET' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp A bank: nine features and a password login
using RestSharp;

var client = new RestClient("https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile");
var request = new RestRequest(Method.GET);
request.AddHeader("X-APP-SECRET", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift A bank: nine features and a password login
import Foundation

let headers = ["X-APP-SECRET": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### A public administration: one identifier, six records

**Response**

```json
{
  "reference": "TGSSXSBXXXXXPUB254ESXXXX-api",
  "engine_code": "TGSSXSBXXXXXPUB254ESXXXX",
  "engine_alternative": "api",
  "engine_version": "2026.7.2401",
  "environment": "sandbox",
  "status": "published",
  "priority": 0,
  "keywords": [],
  "color_primary": {
    "lighter": "#49535d",
    "light": "#1f2933",
    "main": "#1c252e",
    "dark": "#141a20",
    "darker": "#0e1217",
    "contrast_text": "#ffffff",
    "contrastText": "#ffffff"
  },
  "main_category": "public",
  "sub_categories": [
    "public:tgss_spain"
  ],
  "name": "TGSS - Sandbox",
  "description": "TGSS Mock for Spain",
  "markets": [
    "ES"
  ],
  "languages": [
    "spa"
  ],
  "engine_restrictions": [],
  "engine_issues": [],
  "action_required_frequency": "unknown",
  "live": {
    "last_ping_date": "2026-09-12T10:15:30+00:00"
  },
  "events": [
    "started",
    "action_required",
    "ended",
    "auth_ended"
  ],
  "parameters": {
    "properties": {
      "age": {
        "default": 35,
        "description": "Edad a simular",
        "exclusiveMinimum": 15,
        "maximum": 100,
        "title": "Age",
        "type": "integer"
      },
      "debt_level": {
        "default": "Poco",
        "enum": [
          "Ninguno",
          "Poco",
          "Mucho",
          "Impago"
        ],
        "title": "DebtLevel",
        "type": "string"
      },
      "email": {
        "anyOf": [
          {
            "examples": [
              "john.doe@example.com"
            ],
            "format": "email",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Email"
      },
      "has_driving_permit": {
        "default": true,
        "title": "Tiene permiso de conducir",
        "type": "boolean"
      },
      "has_vehicles": {
        "default": true,
        "title": "Tiene vehículos a su nombre",
        "type": "boolean"
      },
      "income_level": {
        "default": "Ingresos promedio",
        "enum": [
          "Ingresos bajos",
          "Ingresos promedio",
          "Ingresos altos"
        ],
        "title": "Nivel de ingresos",
        "type": "string"
      },
      "is_limited": {
        "default": true,
        "title": "Recibe una pensión de incapacidad",
        "type": "boolean"
      },
      "is_widowed": {
        "default": true,
        "title": "Recibe una pensión de viudedad",
        "type": "boolean"
      },
      "marital_status": {
        "default": "Soltero",
        "enum": [
          "Soltero",
          "Casado",
          "Divorciado",
          "Viudo"
        ],
        "title": "Estado civil",
        "type": "string"
      },
      "nationality": {
        "default": "ES",
        "examples": [
          "ES",
          "US"
        ],
        "format": "country",
        "title": "País de nacionalidad",
        "type": "string"
      },
      "work_status": {
        "default": "Empleado / Tiempo completo",
        "enum": [
          "Empleado / Tiempo completo",
          "Empleado / Tiempo parcial",
          "Empleado / Pluriempleo",
          "Trabajador Autónomo",
          "Desempleado / En paro",
          "Desempleado"
        ],
        "title": "Situación laboral",
        "type": "string"
      }
    },
    "type": "object",
    "format": "cg-params",
    "x-meta": {
      "instructions_title": "Acceso Mock",
      "instructions_text": "Este acceso es un mock para pruebas y no requiere autenticación real. Elija la combinación de configuraciones deseadas para generar diferentes tipos de output.",
      "submit_button_text": "Continuar",
      "locking_fields": [
        "nationality",
        "age"
      ],
      "hidden_fields": [
        "email"
      ],
      "lazy_fields": []
    }
  },
  "configurations": {
    "properties": {},
    "type": "object",
    "format": "cg-configs",
    "x-meta": {
      "instructions_title": "Engine Configurations",
      "submit_button_text": "Submit"
    },
    "description": "Custom engine configurations"
  },
  "is_online": true,
  "website": "https://tgss-sandbox.infonite.tech/",
  "features": [
    {
      "code": "customer_information_read",
      "configurations": {
        "properties": {},
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Engine Configurations",
          "submit_button_text": "Submit"
        },
        "description": "This feature does not require any configuration"
      }
    },
    {
      "code": "labor_check",
      "configurations": {
        "properties": {
          "contribution_base_report": {
            "default": false,
            "description": "Whether to read the contribution base report.",
            "title": "Contribution Base Report",
            "type": "boolean"
          },
          "from_date": {
            "default": "12 months ago",
            "description": "The date from which the contribution history will be retrieved",
            "examples": [
              "1990-08-14"
            ],
            "format": "date",
            "title": "From Date",
            "type": "string"
          },
          "work_life_report": {
            "default": true,
            "description": "Whether to read the work life report.",
            "title": "Work Life Report",
            "type": "boolean"
          }
        },
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Labor Check Configurations",
          "submit_button_text": "Submit"
        }
      }
    },
    {
      "code": "public_pensions",
      "configurations": {
        "properties": {
          "contribution_base_report": {
            "default": false,
            "description": "Whether to read the contribution base report.",
            "title": "Contribution Base Report",
            "type": "boolean"
          },
          "from_date": {
            "default": "12 months ago",
            "description": "The date from which the contribution history will be retrieved",
            "examples": [
              "1990-08-14"
            ],
            "format": "date",
            "title": "From Date",
            "type": "string"
          },
          "work_life_report": {
            "default": true,
            "description": "Whether to read the work life report.",
            "title": "Work Life Report",
            "type": "boolean"
          }
        },
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Labor Check Configurations",
          "submit_button_text": "Submit"
        }
      }
    },
    {
      "code": "driver_data",
      "configurations": {
        "properties": {
          "read_point_movements": {
            "default": false,
            "title": "Read Point Movements",
            "type": "boolean"
          }
        },
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Driver Data Configurations",
          "submit_button_text": "Submit"
        }
      }
    },
    {
      "code": "vehicles_data",
      "configurations": {
        "properties": {
          "simple_vehicle_report": {
            "default": false,
            "title": "Simple Vehicle Report",
            "type": "boolean"
          }
        },
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Vehicles Data Configurations",
          "submit_button_text": "Submit"
        }
      }
    },
    {
      "code": "credit_registry_data",
      "configurations": {
        "properties": {
          "preferred_type": {
            "default": "credit_registry_data:es_cirbe_detailed",
            "description": "Preferred credit registry report type to retrieve",
            "enum": [
              "credit_registry_data:es_cirbe_detailed",
              "credit_registry_data:es_cirbe_aggregated"
            ],
            "title": "CreditRegistryDataType",
            "type": "string"
          }
        },
        "type": "object",
        "format": "cg-configs",
        "x-meta": {
          "instructions_title": "Credit Registry Data Configurations",
          "submit_button_text": "Submit"
        }
      }
    }
  ]
}
```

**SDK Code**

```python A public administration: one identifier, six records
import requests

url = "https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile"

headers = {"X-APP-SECRET": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript A public administration: one identifier, six records
const url = 'https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile';
const options = {method: 'GET', headers: {'X-APP-SECRET': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go A public administration: one identifier, six records
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-APP-SECRET", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby A public administration: one identifier, six records
require 'uri'
require 'net/http'

url = URI("https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-APP-SECRET"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java A public administration: one identifier, six records
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile")
  .header("X-APP-SECRET", "<apiKey>")
  .asString();
```

```php A public administration: one identifier, six records
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile', [
  'headers' => [
    'X-APP-SECRET' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp A public administration: one identifier, six records
using RestSharp;

var client = new RestClient("https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile");
var request = new RestRequest(Method.GET);
request.AddHeader("X-APP-SECRET", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift A public administration: one identifier, six records
import Foundation

let headers = ["X-APP-SECRET": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://clients.infonite.tech/api/config/engines/DEMOBANKXXXXFIN100ES9999-mobile")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```