Aura configuration API application module

Application module description for aura-configuration-api

Introduction

The application module defines services associated with the management of applications in aura-configuration-api server. Applications are external services that consume Aura services.

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

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/applications/
  • aura-services/v2/configuration/applications/{applicationId}

Endpoints

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

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

Application model

Below are the main fields of the application model according to the swagger:

Field Type Description
id string Unique identifier of the application
name string Name of the application
brand string Brand associated with the application
nlp object NLP configuration (optional)
models object Models configuration (optional)
metadata object Additional metadata (optional)
agents string[] List of agent identifiers associated with the application
suggestions array Suggestions associated with the application (optional)

Note: The agents field is an array of strings containing the identifiers of the agents associated with the application. The agents referenced must exist in the system to be inserted. If an agent is deleted, all applications referencing it will be updated accordingly.

Example response (GET /applications/{applicationId})

{
  "id": "962fedef-ee1b-470f-b460-b2a78e02bb36",
  "name": "aura-sql",
  "brand": "Movistar",
  "agents": [
    "agent-1",
    "agent-2"
  ],
  "suggestions": [
    {
      "id": "1",
      "category": "suggestions.number-of-households-per-province-category",
      "value": "suggestions.number-of-households-per-province-value"
    }
  ]
}

Example request (POST /applications)

{
  "id": "new-app-id",
  "name": "new-app",
  "brand": "Movistar",
  "agents": ["agent-1", "agent-2"]
}

Retrieving information from applications

Retrieving only some fields in application information

It is possible to get only a specific list of fields for application 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/applications?includeFields=name,brand' \
--header 'correlator: urn:uuid:c8a604ee-29f8-7cda-2979-d2ae6189c360' \
--header 'Accept: application/json' \
--header 'Authorization: XXX'

Response example:

    {
        "id": "8832550f-f03c-4e18-bdbe-7c6fc7adf5ff",
        "name": "app",    
        "brand": "Movistar",
    },
    {
        "id": "8832550f-f03c-4e18-bdbe-7c6fc7adf5fg",
        "name": "app2",    
        "brand": "O2",
    }

Excluding fields in applications information

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

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

Response example:

    {
        "id": "8832550f-f03c-4e18-bdbe-7c6fc7adf5ff",
        "name": "app",
        "disabled": false,
        "brand": "Movistar",
        "agents": [],
        "nlp": {
            "channelId": "1234"
        },
        "models": {
            "level": "user",
            "presets": ["atria-rag-gpt-4"]
        }
    }

Database

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