This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Plugins

Aura Configuration API plugins

Description of the different plugins that compose Aura Configuration API

Introduction

Currently, aura-configuration-api contains the following plugins:

Preset plugin

Plugin responsible for managing all the information related to channels, including the configuration of each Aura preset, as well as the libraries associated with each preset.

  • Add preset
  • Delete preset by id
  • Get preset by id
  • Get all presets
  • Modify preset
  • Update preset

Access detailed information about the preset plugin.

TV section plugin

Plugin responsible for managing all the information related to TV Sections.

  • Add TV section
  • Delete TV section by id
  • Get TV section by id
  • Get all TV sections
  • Modify TV section
  • Update TV section

Access detailed information about the TV section plugin.

Agent plugin

Plugin responsible for the management of agents.

Access detailed information about the agent plugin.

Agent base plugin

Plugin responsible for the management of agents base.

Access detailed information about the agent base plugin.

Agent deployment plugin

Plugin responsible for managing the deployment of agents.

Access detailed information about the agent deployment plugin.

Routing filter plugin

Plugin responsible for managing the routing filters.

Access detailed information about the routing filter plugin.

Filter engine plugin

Plugin responsible for managing the engine routing filters.

Access detailed information about the engine filter plugin.

1 - Preset plugin

Preset plugin

Preset plugin description for aura-configuration-api

Introduction

The preset plugin defines services associated with the management of presets in aura-configuration-api server.

All these services are defined in the presets namespace (/presets).

Servers definition

By default, the servers defined in the swagger include the base path (for v1): /aura-services/v2/configuration.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v2/configuration/presets
  • aura-services/v2/configuration/presets/{presetId}

Endpoints

Path Method Description
/presets/ GET Get all presets information
/presets/ POST Add a new preset
/presets/{presetId} GET Get preset information using preset id
/presets/{presetId} PUT Replace preset information associated to preset id
/presets/{presetId} PATCH Update some fields of preset information using preset id
/presets/{presetId} DELETE Delete preset information using preset id

You can read the complete documentation of each service in the aura-configuration-api swagger file.

Retrieving information from presets

Retrieving specific fields from preset information

It is possible to get only a specific list of fields for preset information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/presets?includeFields=id,name,generative' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: XXX'

Response example:

[
    {
        "id": "ab744582-c5a6-48e1-95bb-f509bdb55512",
        "name": "preset_2",
        "generative": {
            "model": {
                "id": "gpt-4o-mini",
                "parameters": {
                    "top_p": 1,
                    "max_tokens": 250,
                    "temperature": 1
                }
            },
            "prompts": {
                "template": "string",
                "preamble": {
                    "text": "Hola.",
                    "args": {
                        "brand": "Movistar",
                        "country": "Spain",
                        "year": "2024"
                    }
                },
                "promptMaxLength": 1500
            }
        }
    }
]

Excluding fields in presets information

It is also possible to exclude presets information fields using the excludeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/presets?excludeFields=generative,metadata' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id": "ab744582-c5a6-48e1-95bb-f509bdb55512",
        "name": "preset_2",
        "session": {
            "window": 8
        }
    }
]

Database

The complete definition of the data model can be found in presets collection section within the administration module.

2 - TV section plugin

TV section plugin

TV section plugin description for aura-configuration-api

Introduction

The tv-section plugin defines services associated with the management of TV sections in aura-configuration-api server.

All these services are defined in the tv-sections namespace (/tv/sections).

Servers definition

By default, the servers defined in the swagger include the base path (for v1): /aura-services/v2/configuration.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v2/configuration/tv/sections
  • aura-services/v2/configuration/tv/sections/{tvSectionId}

Endpoints

Path Method Description
/tv/sections/ GET Get all TV section information
/tv/sections/ POST Add a new TV section
/tv/sections/{tvSectionId} GET Get TV section information using TV section id
/tv/sections/{tvSectionId} PUT Replace TV section information associated to TV section id
/tv/sections/{tvSectionId} PATCH Update some fields of TV section information using TV section id
/tv/sections/{tvSectionId} DELETE Delete TV section information using TV section id

You can read the complete documentation of each service in the aura-configuration-api swagger file.

Retrieving information from TV sections

Retrieving specific fields from TV section information

It is possible to get only a specific list of fields for TV section information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/tv/sections?includeFields=id,name,canon' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: XXX'

Response example:

[
    {
        "id": "ab744582-c5a6-48e1-95bb-f509bdb55512",
        "name": "tv-section-pid-1",
        "canon": "tv-section-canon"
    }
]

Excluding fields in TV sections information

It is also possible to exclude TV section information fields using the excludeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/tv/sections?excludeFields=metadata,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id": "ab744582-c5a6-48e1-95bb-f509bdb55512",
        "pid": "tv-section-pid-1"
    }
]

Database

The complete definition of the data model can be found in TV section collection section within the administration module.

3 - Agent base plugin

Agent base plugin

Agent base plugin description for aura-configuration-api

Introduction

The agent-base plugin defines services associated with the management of agents base in aura-configuration-api server.

All these services are defined in the agents-base namespace (/agents-base).

Servers definition

By default, the servers defined in the swagger include the base path (for v2):
/aura-services/v2/configuration.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v2/configuration/agents-base
  • aura-services/v2/configuration/agents-base/{agentBaseId}

Endpoints

Path Method Description
/agents-base/ GET Get all agent base information
/agents-base/ POST Add a new agent base
/agents-base/{agentBaseId} GET Get agent base information using agent base id
/agents-base/{agentBaseId} PUT Replace agent base information associated to agent base id
/agents-base/{agentBaseId} PATCH Update some fields of agent base information using agent base id
/agents-base/{agentBaseId} DELETE Delete agent base information using agent base id

You can read the complete documentation of each service in the aura-configuration-api agent base swagger file.

Retrieving information from agents base

Retrieving specific fields from agent base information

It is possible to get only a specific list of fields for agent base information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents-base?includeFields=id,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: XXX'

Response example:

[
    {
        "id": "cd2b534c-16c3-4d89-a87e-ec45d3939232",
        "name": "device-recommender-agent",
    }
]

Excluding fields in agent base information

It is also possible to exclude agent base information fields using the excludeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents-base?excludeFields=metadata,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id": "cd2b534c-16c3-4d89-a87e-ec45d3939232",
        "description": "An AI agent built with langgraph that provides personalized recommendations about devices by querying and analyzing data stored in a MongoDB database.",
        "language": "python",
        "version": "1.0.0"
    }
]

Filtering agent base information

It is possible to filter agent base information using the filter query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents-base?filter=language:python' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Database

The complete definition of the data model can be found in agent base collection section within the administration module.

4 - Agent deployment plugin

Agent deployment plugin

Agent Deployment plugin description for aura-configuration-api

Introduction

The agent-deployment plugin defines services associated with the management of agents base in aura-configuration-api server.

All these services are defined in the _agents-deployment namespace (/agents-deployment).

Servers definition

By default, the servers defined in the swagger include the base path (for v2):
/aura-services/v2/configuration.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v2/configuration/agents-deployment
  • aura-services/v2/configuration/agents-deployment/{agentDeploymentId}

Endpoints

Path Method Description
/agents-deployment/ GET Get all agent deployment information
/agents-deployment/ POST Add a new agent deployment
/agents-deployment/{agentDeploymentId} GET Get agent deployment information using agent deployment id
/agents-deployment/{agentDeploymentId} PUT Replace agent deployment information associated to agent deployment id
/agents-deployment/{agentDeploymentId} PATCH Update some fields of agent deployment information using agent deployment id
/agents-deployment/{agentDeploymentId} DELETE Delete agent deployment information using agent deployment id

You can read the complete documentation of each service in the aura-configuration-api agent deployment swagger file.

Retrieving information from agents base

Retrieving specific fields from agent deployment information

It is possible to get only a specific list of fields for agent deployment information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents-deployment?includeFields=id,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: XXX'

Response example:

[
    {
        "id": "cd2b534c-16c3-4d89-a87e-ec45d3939232",
        "name": "mongo-device-recommender-agent",
    }
]

Excluding fields in agent deployment information

It is also possible to exclude agent deployment information fields using the excludeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents-deployment?excludeFields=metadata,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id": "1870fa4a-bcc4-4a7c-88fc-c0194555a076",
        "config": {},
        "secrets": {},
        "image": "auraregistry.azurecr.io/aura/atria-agent-mongo-devices-recommender",
        "tag": "1.0.0"
    }
]

Filtering agent deployment information

It is possible to filter agent deployment information using the filter query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents-deployment?filter=tag:1.0.0' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Database

The complete definition of the data model can be found in agent deployment collection section within the administration module.

5 - Agent plugin

Agent plugin

Agent plugin description for aura-configuration-api

Introduction

The agent plugin defines services associated with the management of agents in aura-configuration-api server.

All these services are defined in the agents namespace (/agents).

Servers definition

By default, the servers defined in the swagger include the base path (for v1):
/aura-services/v2/configuration.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v2/configuration/agents
  • aura-services/v2/configuration/agents/{agentId}

Endpoints

Path Method Description
/agents/ GET Get all agent information
/agents/ POST Add a new agent
/agents/{agentId} GET Get agent information using agent id
/agents/{agentId} PUT Replace agent information associated to agent id
/agents/{agentId} PATCH Update some fields of agent information using agent id
/agents/{agentId} DELETE Delete agent information using agent id

You can read the complete documentation of each service in the aura-configuration-api agent swagger file.

Retrieving information from agents

Retrieving specific fields from agent information

It is possible to get only a specific list of fields for agent information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents?includeFields=id,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: XXX'

Response example:

[
    {
        "id": "ab744582-c5a6-48e1-95bb-f509bdb55512",
        "name": "agent-pid-1"
    }
]

Excluding fields in agent information

It is also possible to exclude agent information fields using the excludeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/agents?excludeFields=metadata,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id": "ab744582-c5a6-48e1-95bb-f509bdb55512",
        "name": "agent-pid-1"
    }
]

Database

The complete definition of the data model can be found in Agent collection section within the administration module.

6 - Suggestion Plugin

Aura Configuration API Suggestion plugin

Description of the suggestion plugin in aura-configuration-api

suggestion plugin

The suggestion plugin defines services associated with suggestions management in aura-configuration-api server.

All these services are defined in the suggestions namespace (/suggestions).

Servers definition

By default, the servers defined in the swagger include the base path (for v1): /aura-services/v1/configuration.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v1/configuration/suggestions/

Endpoints

Path Method Description
/suggestions/ GET Get all suggestions information
/suggestions/ POST Add a new suggestion
/suggestions/ DELETE Delete all suggestions information
/suggestions/{suggestionId} GET Get suggestions information by suggestion id
/suggestions/{suggestionId} PUT Replace suggestion information using suggestion id
/suggestions/{suggestionId} PATH Updates some fields of suggestion information
/suggestions/{suggestionId} DELETE Delete suggestions information by suggestions id

You can read the complete documentation of each service in the aura-configuration-api swagger file.

Getting suggestions

Getting only some fields in suggestion information

It is possible to get only a specific list of fields for suggestion information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v1/configuration/suggestions?includeFields=name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id": "29d80c0e-dbe8-4e40-882b-fef148748cf2",
        "name": "intent-tv-question_time_loc-ent-audiovisual_sports_team-valencia",
    }
]

Excluding fields in suggestion information

It is also possible to exclude suggestion information fields using the excludeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v1/configuration/suggestions?excludeFields=entities' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id" : "29d80c0e-dbe8-4e40-882b-fef148748cf2",
        "intent" : "intent.tv.question_time_loc",
        "name" : "intent-tv-question_time_loc-ent-audiovisual_sports_team-valencia",    
        "entities" : [
            {
                "canon" : "valencia",
                "entity" : "Valencia",
                "label" : "",
                "score" : 1,
                "type" : "ent.audiovisual_sports_team"
            }
        ],
        "resources" : [
            {
                "name" : "tv.searchSportContentByChannel.suggestion.title",
                "params" : {
                    "teams" : "Valencia"
                },
                "type" : "title"
            },
            {
                "name" : "tv.searchSportContentByChannel.suggestion.button",
                "params" : {
                    "teams" : "Valencia"
                },
                "type" : "button"
            }
        ]
    }  
]

Database

The complete definition of the data model can be found in suggestions collection section in the Administration plugin.

7 - Engine filter API plugin

Aura configuration API engine filter plugin

Engine filter API plugin description for aura-configuration-api

Introduction

The engine filter plugin defines services associated with the management of engine filter in aura-configuration-api server.

All these services are defined in the routing-filters namespace (/routing-filters).

Servers definition

By default, the servers defined in the swagger include the base path (for v2): /aura-services/v2.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v2/configuration/routing-filters/summary/{filterType}
  • aura-services/v2/configuration/routing-filters/{filterId}/items/{itemId}

Endpoints

Path Method Description
/routing-filters/summary/{filterType} GET Get all summary for filter by type.
/routing-filters/entities/files POST Add entity data to engine filter.
/routing-filters/{filterId}/items/{itemId} GET Obtain the elements that have fulfilled the given filter for an itemId.

You can read the complete documentation of each service in the aura-configuration-api swagger file.

Engine filters steps

When a filter has been created, it is associated to one or more entities. Each time data is uploaded from a service for one of these entities, this data is also uploaded to the dataFilterCollection via the /routing-filters/entities/files endpoint.
This data is stored in the filter’s raw data collection and is periodically processed to obtain the summaries that are stored in the filter’s dataSummaryCollection.
This processing period is defined by the AURA_ROUTING_FILTER_SUMMARY_GENERATION_INTERVAL environment variable which defaults to 30 seconds. Note that data that has been summarized in previous processes is no longer processed again. An example of raw data could be the following:

{
    "seqId" : 1758107048147.0,
    "itemId" : "NsPjrmwbT-WJSlgImZ9NKg",
    "year" : 2025,
    "month" : 8,
    "day" : 13,
    "fieldForMatch" : "MESSAGE",
    "valueForMatch" : "{\"type\":\"suggestion\",\"value\":{\"intent\":\"intent.core-dialogs.ping\",\"entities\":[]}}",
    "expiresAt" : "2025-09-17T11:05:37.147+0000"
},
{
    "seqId" : 1758107048147.0,
    "itemId" : "IN-ewXp7S8u4mL0RlKJStA",
    "year" : 2025,
    "month" : 8,
    "day" : 13,
    "fieldForMatch" : "MESSAGE",
    "valueForMatch" : "{\"type\":\"tv.init.type\",\"value\":{\"intent\":\"tv.init\",\"entities\":[{\"type\":\"tv.init.type\",\"value\":\"post_start\",\"score\":1}]}}",
    "expiresAt" : "2025-09-17T11:05:37.147+0000"
},
{
    "seqId" : 1758107048147.0,
    "itemId" : "fh-71N2FRGKyXL-bCzhQkQ",
    "year" : 2025,
    "month" : 8,
    "day" : 13,
    "fieldForMatch" : "MESSAGE",
    "valueForMatch" : "Poner subtítulos",
    "expiresAt" : "2025-09-17T11:05:37.147+0000"
}
.... 

And an example of the data already grouped would be:

...
{
    "itemId" : "alrBKOZzQ1CYVHLZ70k6GQ",
    "month" : 8,
    "year" : 2025,
    "expiresAt" : "2025-09-17T11:06:08.069+0000",
    "total" : 3,
    "updatedAt" : "2025-09-17T11:04:39.069+0000"
},
{
    "itemId" : "aQLB8B3vQ6COn7s6caLpew",
    "month" : 8,
    "year" : 2025,
    "expiresAt" : "2025-09-17T11:06:08.070+0000",
    "total" : 12,
    "updatedAt" : "2025-09-17T11:04:39.070+0000"
},
{
    "itemId" : "OcjR3z8lQU-DnFpHV1W1qQ",
    "month" : 8,
    "year" : 2025,
    "expiresAt" : "2025-09-17T11:06:08.071+0000",
    "total" : 1,
    "updatedAt" : "2025-09-17T11:04:39.071+0000"
}
...

When the grouped data is generated, a cache is generated in memory containing the ItemId that match the filter, this is necessary to improve performance when querying items to see if they match a given filter.

Retrieving information from engine filters

Check if a user matches a filter

You can validate whether a user matches a certain filter, and if so, whether they have a predetermined action to perform.

curl --location 'http://aura-configuration-api:8999/aura-services/v2/routing-filters/[FILTER_ID]/items/[ITEM_ID] ' \
--header 'correlator: 1a25aac1-d5fa-42af-9930-3e5706288cea' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Accept: application/json' \

Response example:

{
    "value": false,
    "actions": []
}

Retrieving specific fields from engine filter information

It is possible to get only a specific list of fields for engine filter information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location 'http://aura-configuration-api:8999/aura-services/v2/routing-filters/summary/userId ' \
--header 'correlator: 1a25aac1-d5fa-42af-9930-3e5706288cea' \
--header 'Authorization: SECRET_API_KEY' \
--header 'Accept: application/json' \

Response example:

[
   {
    "data": {
        "preset-filter-conversational-search-es": {
            "data": [
                {
                    "month": 8,
                    "itemId": "ksRuPPkRS4ax0IdaZdoFHA",
                    "year": 2025,
                    "total": 40
                },
                {
                    "month": 8,
                    "itemId": "alrBKOZzQ1CYVHLZ70k6GQ",
                    "year": 2025,
                    "total": 120
                },
                {
                    "month": 8,
                    "itemId": "bk3iI3GwQWO2-4YI0etc0w",
                    "year": 2025,
                    "total": 40
                },
                {
                    "month": 8,
                    "itemId": "DYoM_OOPSZ-EMNxiFxWe4w",
                    "year": 2025,
                    "total": 40
                }
            ],
            "actions": [
                {
                  "type": "CUSTOM_MESSAGE",
                  "params": {
                    "intent": "internal.send.custom.message",
                    "entities": [{
                        "type": "message",
                        "value": "core:limit.exceed.llm"
                    }]
                }
            ]
        }
    }
}
]

Database

The complete definition of the data model can be found in routing-filters collection section within the administration module.

8 - Routing filter plugin

Aura configuration API routing filter plugin

Routing filter plugin description for aura-configuration-api

Introduction

The routing filter plugin defines services associated with the management of routing filter in aura-configuration-api server.

All these services are defined in the routing-filters namespace (/routing-filters).

Servers definition

By default, the servers defined in the swagger include the base path (for v2): /aura-services/v2/configuration.

Therefore, in order to access the services, the base path and service path must be used.

Examples:

  • aura-services/v2/configuration/routing-filters
  • aura-services/v2/configuration/routing-filters/{filterId}

Endpoints

Path Method Description
/routing-filters/ GET Get all routing filters information
/routing-filters/ POST Add a new routing filter
/routing-filters/{filterId} GET Get routing filter information using filter id
/routing-filters/{filterId} PUT Replace routing filter information associated to filter id
/routing-filters/{filterId} PATCH Update some fields of routing filter information using filter id
/routing-filters/{filterId} DELETE Delete routing filter information using filter id
/routing-filters/entities GET Get all entities associated with routing filters

You can read the complete documentation of each service in the aura-configuration-api swagger file.

Database for routing filters data

A database will be created, if it does not exist, to add the necessary collections for the filters to work. The database name is set in the environment variable AURA_ROUTING_FILTERS_DATA_DB and has as default value routing-filters-data-ENV.

Filters collections

Each filter has two collections associated with it, one for the raw data, which can be shared with other filters, and one for the summaries. These collections are created when the filter is created, and are deleted when the filter is deleted. The shared collection will only be deleted if there are no filters using it. The names for these collections are within the filter model.

......
    "dataBase": {
        "dataFilterCollection": {    <---- Raw Data
            "collectionName": "dataFilterTest",
            "expiration": 5184000,         <-- seconds to expire data
            "indexes": [
                { 
                 "seqId": 1 
                }
            ]
        },
        "dataSummaryCollection": {  <---- Summary Data>
            "collectionName": "dataSummaryTest",
            "expiration": 5184000,        <-- seconds to expire data
            "indexes": [
                { 
                 "itemId": 1 
                },
                {
                    "total": 1,
                    "month": 1,
                    "year": 1
                }
            ]
        }
    }
.....

Collections must have an expiration time so that the data does not remain permanently in Mongodb. The value of the expiration field is set to seconds. If create indexes is needed, these can be defined in “indexes” property.

Retrieving information from routing filters

Retrieving specific fields from routing filter information

It is possible to get only a specific list of fields for routing filter information, reducing the amount of data transmitted when necessary, using the includeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/routing-filters?includeFields=id,name' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: XXX'

Response example:

[
    {
        "id": "b6340f13-34af-4891-8a88-22bdffe9485b",
        "name": "UserId_LLM_Limits"
    }
]

Excluding fields in filters information

It is also possible to exclude filters information fields using the excludeFields query parameter.

curl --location --request GET 'http://aura-configuration-api:8999/aura-services/v2/configuration/routing-filters?excludeFields=name,vars,match,metadata,applyFilter, fields, sourceFilters,summary,summaryFilter' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: APIKEY XXX'

Response example:

[
    {
        "id": "b6340f13-34af-4891-8a88-22bdffe9485b",
        "description": "Limit the number of messages per user in a month for triage preset",
        "type": "userId",
        "entities": [
            "GATEWAYMESSAGE"
        ],
        "dataBase": {
            "dataFilterCollection": {
                "collectionName": "dataFilterTriage",
                "expiration": 89
            },
            "dataSummaryCollection": {
                "collectionName": "dataSummaryTriage",
                "expiration": 89
            }
        }
    }
]

Database

The complete definition of the data model can be found in routing-filters collection section within the administration module.