> 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.

# Get Session Settings

GET https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/{session_id}/settings

Retrieve the resolved configuration settings applied to the flow session.

This endpoint returns the final settings active for the session. These settings are resolved by merging:
1. The custom parameters requested in the session initialization payload ([Create Session](api:POST/es-public-administration/v1/manager/init)).
2. The default settings configured for the client application.
3. Global system defaults.

Its primary utility is diagnostic, allowing clients and auditing tools to verify the exact rules, features, and sandbox configurations executing for the flow session.

> 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/spain-public-administration/spain-public-administration-api/sessions-management/flows-es-public-administration-v-1-session-settings

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: es-public-administration-v1-0-0-openapi
  version: 1.0.0
paths:
  /es-public-administration/v1/manager/{session_id}/settings:
    get:
      operationId: flows:es-public-administration:v1:session-settings
      summary: Get Session Settings
      description: >
        Retrieve the resolved configuration settings applied to the flow
        session.


        This endpoint returns the final settings active for the session. These
        settings are resolved by merging:

        1. The custom parameters requested in the session initialization payload
        ([Create Session](api:POST/es-public-administration/v1/manager/init)).

        2. The default settings configured for the client application.

        3. Global system defaults.


        Its primary utility is diagnostic, allowing clients and auditing tools
        to verify the exact rules, features, and sandbox configurations
        executing for the flow session.


        > This endpoint needs to be executed with an app secret, so should
        always be used in server side without exposing the secret to customers.
      tags:
        - sessionsManagement
      parameters:
        - name: session_id
          in: path
          description: Session ID to fetch
          required: true
          schema:
            type: string
            format: ObjectId
        - name: X-APP-SECRET
          in: header
          description: Application Secret
          required: true
          schema:
            type: string
      responses:
        '200':
          description: '**200 OK**<br>State of the session'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlowSettingsSchema'
        '404':
          description: '**404 Not Found**<br>Session not found'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: '**429 Too Many Requests**<br>Too many requests. Rate limit exceeded.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
servers:
  - url: https://widgets.infonite.tech/api/flows
    description: Production Server
  - url: https://widgets-dev.infonite.tech/api/flows
    description: Development Server
  - url: /api/flows
    description: Local Server
components:
  schemas:
    ConsentLevelType:
      type: string
      enum:
        - none
        - basic
        - basic-mandatory
      description: >-
        Level of consent friction displayed to the user:

        - "none": Bypasses the disclaimer page entirely.

        - "basic": Shows simple checkboxes or acceptance buttons for required
        features.

        - "basic-mandatory": Forces the user to read/scroll legal text before
        accepting.
      title: ConsentLevelType
    FlowHooksExtraDataType:
      type: object
      additionalProperties:
        type: string
      description: >-
        Extra data to be included in the hooks. This data will be returned in
        the webhook as part of the URL as query parameters. This can be useful
        to include dynamic data in the webhook.

        There are some template variables that can be used:

        - `{app_id}`: Your app ID

        - `{customer_id}`: The customer ID

        - `{session_id}`: The Session ID

        - `{parameters_id}`: The unique credentials ID, this identifier is
        computed by the engine based on the fixed part of the credentials  (e.g.
        the username)

        - `{producer}`: The producer of the event

        - `{event}`: The event that triggered the hook

        - `{status_code}`: The status of the flow at the moment of the event

        For example, passing:

        ```json

        {
          "custom_param": "customValue",
          "current_event": "{event}",
          "status": "{status_code}",
          "id": "{session_id}"
        }

        ```

        Will result in the following URL:

        `https://your.url.com/your/path?custom_param=customValue&current_event=ended&status=COMPLETED&id=67d7d9b72eb0693e7da47a0e`


        > **Note:** This data is not encrypted and should not contain sensitive
        information.
      title: FlowHooksExtraDataType
    CreditRegistryDataType:
      type: string
      enum:
        - credit_registry_data:es_cirbe_detailed
        - credit_registry_data:es_cirbe_aggregated
      title: CreditRegistryDataType
    catgrid_forms__engines__features__public__credit_registry_data__FeatureConfigurations:
      type: object
      properties:
        preferred_type:
          $ref: '#/components/schemas/CreditRegistryDataType'
          description: Preferred credit registry report type to retrieve
      title: >-
        catgrid_forms__engines__features__public__credit_registry_data__FeatureConfigurations
    IFeatureConfigurations:
      type: object
      properties: {}
      description: This feature does not require any configuration
      title: IFeatureConfigurations
    catgrid_forms__engines__features__public__driver_data__FeatureConfigurations:
      type: object
      properties:
        read_point_movements:
          type: boolean
          default: false
      title: >-
        catgrid_forms__engines__features__public__driver_data__FeatureConfigurations
    catgrid_forms__engines__features__public__labor_check__FeatureConfigurations:
      type: object
      properties:
        from_date:
          type: string
          format: date
          default: 12 months ago
          description: The date from which the contribution history will be retrieved
        work_life_report:
          type: boolean
          default: true
          description: Whether to read the work life report.
        contribution_base_report:
          type: boolean
          default: false
          description: Whether to read the contribution base report.
      title: >-
        catgrid_forms__engines__features__public__labor_check__FeatureConfigurations
    catgrid_forms__engines__features__public__vehicles_data__FeatureConfigurations:
      type: object
      properties:
        simple_vehicle_report:
          type: boolean
          default: false
      title: >-
        catgrid_forms__engines__features__public__vehicles_data__FeatureConfigurations
    FlowSettingsSchemaExecutionsFeaturesItems:
      oneOf:
        - type: object
          properties:
            code:
              type: string
              enum:
                - credit_registry_data
              description: 'Discriminator value: credit_registry_data'
            configurations:
              $ref: >-
                #/components/schemas/catgrid_forms__engines__features__public__credit_registry_data__FeatureConfigurations
          required:
            - code
          description: >-
            Feature that retrieves credit registry risk reports from public
            administrations/central credit registers.
        - type: object
          properties:
            code:
              type: string
              enum:
                - customer_information_read
              description: 'Discriminator value: customer_information_read'
            configurations:
              $ref: '#/components/schemas/IFeatureConfigurations'
          required:
            - code
          description: >-
            Extracts the profile information of the user from the connected
            source. 


            For example, in banking contexts, this feature retrieves available
            information of the logged-in user,

            such as emails, document numbers, phone numbers, addresses, and
            other profile details.
        - type: object
          properties:
            code:
              type: string
              enum:
                - driver_data
              description: 'Discriminator value: driver_data'
            configurations:
              $ref: >-
                #/components/schemas/catgrid_forms__engines__features__public__driver_data__FeatureConfigurations
          required:
            - code
          description: Feature that retrieves the driver data from public administrations.
        - type: object
          properties:
            code:
              type: string
              enum:
                - labor_check
              description: 'Discriminator value: labor_check'
            configurations:
              $ref: >-
                #/components/schemas/catgrid_forms__engines__features__public__labor_check__FeatureConfigurations
          required:
            - code
          description: >-
            Feature that extracts labor check information from public services.


            When requested from engines like TGSS (Spain), it will fetch and
            parse:

            - Labor history ("Vida Laboral") PDF document

            - Monthly social security contributions

            - Employment history with companies

            - Other labor-related information
        - type: object
          properties:
            code:
              type: string
              enum:
                - public_pensions
              description: 'Discriminator value: public_pensions'
            configurations:
              $ref: '#/components/schemas/IFeatureConfigurations'
          required:
            - code
          description: >-
            Feature that retrieves public pension information from government
            services.


            Fetches details about:

            - Retirement pensions and benefits 

            - Widow/survivor pensions

            - Disability/incapacity benefits

            - Other government social assistance

            - Pension type, category, and amounts
        - type: object
          properties:
            code:
              type: string
              enum:
                - vehicles_data
              description: 'Discriminator value: vehicles_data'
            configurations:
              $ref: >-
                #/components/schemas/catgrid_forms__engines__features__public__vehicles_data__FeatureConfigurations
          required:
            - code
          description: Feature that retrieves the vehicle data from public administrations.
      discriminator:
        propertyName: code
      title: FlowSettingsSchemaExecutionsFeaturesItems
    FlowSettingsSchemaCompletionMode:
      type: string
      enum:
        - do_nothing
        - redirect
        - redirect_blank
        - close_tab
      description: The redirection mode to trigger when the user exits the widget.
      title: FlowSettingsSchemaCompletionMode
    FlowRedirectExtraDataType:
      type: object
      additionalProperties:
        type: string
      description: >-
        Extra data to be included in the redirect URL. This data will be added
        to the the url as query parameters. This can be useful to include
        dynamic data in the webhook.

        There are some template variables that can be used in the URL:

        - `{app_id}`: Your app ID

        - `{customer_id}`: The customer ID

        - `{session_id}`: The Session ID

        - `{status_code}`: The final status code of the session

        For example, passing:

        ```json

        {
          "custom_param": "customValue",
          "status": "{status_code}",
          "id": "{session_id}"
        }

        ```

        Will result in the following URL:

        `https://your.url.com/your/path?custom_param=customValue&status=COMPLETED&id=67d7d9b72eb0693e7da47a0e`


        > **Note:** This data is not encrypted and should not contain sensitive
        information.
      title: FlowRedirectExtraDataType
    FlowSettingsSchema:
      type: object
      properties:
        sandbox:
          type: boolean
          description: Set to true to initialize the session in sandbox/test mode.
        consent_level:
          $ref: '#/components/schemas/ConsentLevelType'
          description: >-
            The level of consent screening displayed to the user inside the
            widget.
        hooks_extra_data:
          $ref: '#/components/schemas/FlowHooksExtraDataType'
        executions_features:
          type: array
          items:
            $ref: '#/components/schemas/FlowSettingsSchemaExecutionsFeaturesItems'
          description: >-
            The list of public administration features to retrieve (e.g. life
            employment certificate, vehicle details, etc.).
        completion_mode:
          $ref: '#/components/schemas/FlowSettingsSchemaCompletionMode'
          description: The redirection mode to trigger when the user exits the widget.
        completion_url:
          type: string
          description: >-
            The target URL where the user is redirected when they complete or
            exit the widget.
        completion_extra_data:
          $ref: '#/components/schemas/FlowRedirectExtraDataType'
        allowed_engines:
          type: array
          items:
            type: string
          description: >-
            The list of underlying engine identifiers permitted for execution in
            this session.
      required:
        - sandbox
        - consent_level
        - hooks_extra_data
        - executions_features
        - completion_mode
        - completion_extra_data
        - allowed_engines
      title: FlowSettingsSchema
    ErrorResponse:
      type: object
      properties:
        detail:
          type: string
          description: Error message
      required:
        - detail
      description: Error response details
      title: ErrorResponse
    ValidationErrorLocItems:
      oneOf:
        - type: string
        - type: integer
      title: ValidationErrorLocItems
    ValidationErrorCtx:
      type: object
      properties: {}
      title: ValidationErrorCtx
    ValidationError:
      type: object
      properties:
        loc:
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorLocItems'
        msg:
          type: string
        type:
          type: string
        input:
          description: Any type
        ctx:
          $ref: '#/components/schemas/ValidationErrorCtx'
      required:
        - loc
        - msg
        - type
      title: ValidationError
    HTTPValidationError:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
      title: HTTPValidationError
  securitySchemes:
    Application-Secret:
      type: apiKey
      in: header
      name: X-APP-SECRET
      description: Application Secret

```

## Examples



**Response**

```json
{
  "sandbox": true,
  "consent_level": "none",
  "hooks_extra_data": {
    "current_event": "ended",
    "custom_param": "sessionTracking123",
    "id": "644599da47847b79c03cc94f",
    "status": "COMPLETED"
  },
  "executions_features": [
    {
      "code": "labor_check",
      "configurations": {
        "from_date": "2023-04-12",
        "work_life_report": true,
        "contribution_base_report": false
      }
    }
  ],
  "completion_mode": "do_nothing",
  "completion_extra_data": {
    "custom_param": "sessionTracking123",
    "id": "644599da47847b79c03cc94f",
    "status": "COMPLETED"
  },
  "allowed_engines": [
    "tgss_engine_v2"
  ],
  "completion_url": "https://clientapp.example.com/flow-complete"
}
```

**SDK Code**

```python
import requests

url = "https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings"

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

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

print(response.json())
```

```javascript
const url = 'https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings';
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
package main

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

func main() {

	url := "https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings"

	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
require 'uri'
require 'net/http'

url = URI("https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings")

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
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings")
  .header("X-APP-SECRET", "<apiKey>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings', [
  'headers' => [
    'X-APP-SECRET' => '<apiKey>',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings");
var request = new RestRequest(Method.GET);
request.AddHeader("X-APP-SECRET", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://widgets.infonite.tech/api/flows/es-public-administration/v1/manager/644599da47847b79c03cc94f/settings")! 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()
```