REST API

Tekton REST API documentation version v1

{schema}://{host}/api/{version}

  • schema: required(one of http, https - default: http)
  • host: required(string - default: localhost)
  • version: required(v1)

Service instances

Operations on service instances.

/service-instances get

get /service-instances

Returns information about configured service instances.

Secured by OAuth 2.0

Tekton supports OAuth 2.0 for authenticating all API requests.

Query Parameters

  • include: optional (one of appConfigurationSchema, appVersionConfigurationSchema)
    • `appConfigurationSchema` – include `appConfigurationSchema` field in response.
    • `appVersionConfigurationSchema` – include `appVersionConfigurationSchema` field in response.

    By default, no application or application version configuration schema will be returned.

HTTP status code 200

Array of configured service instances.

Body

Media type: application/json

Type: array of ServiceInstance

Items: ServiceInstance

  • name: required(string)

    Service instance name.

  • serviceName: required(string)

    Service name.

  • serviceGroup: required(string)

    Service group name ("Communication", "Identity management", etc.).

  • description: optional (string)

    Service instance description.

  • urlPrefix: optional (string)

    Service instance REST API URL prefix (where applicable).

  • appConfigurationSchemaPresent: required(boolean)

    Indicates whether service application-specific configuration JSON schema is present.

  • appConfigurationSchema: optional (object)

    Service application-specific configuration JSON schema.

    • appVersionConfigurationSchemaPresent: required(boolean)

      Indicates whether service application version-specific configuration JSON schema is present.

    • appVersionConfigurationSchema: optional (object)

      Service application version-specific configuration JSON schema.

      Example:

      [
        {
          "name": "epr",
          "serviceName": "EPR",
          "serviceGroup": "Identity management",
          "description": "Endpoint Register service is the Kaa platform component that keeps record of all endpoints, as well as their associated key/value attributes (metadata).",
          "urlPrefix": "/epr",
          "appConfigurationSchemaPresent": true,
          "appConfigurationSchema": {},
          "appVersionConfigurationSchemaPresent": true,
          "appVersionConfigurationSchema": {}
        },
        {
          "name": "cmx-ota",
          "serviceName": "CMX",
          "serviceGroup": "Configuration management",
          "description": "Configuration management extension service instance configured to work with over-the-air orchestrator (OTAO).",
          "appConfigurationSchemaPresent": false,
          "appVersionConfigurationSchemaPresent": false
        },
        {
          "name": "cmx",
          "serviceName": "CMX",
          "serviceGroup": "Configuration management",
          "appConfigurationSchemaPresent": false,
          "appVersionConfigurationSchemaPresent": false
        }
      ]

      Secured by OAuth 2.0

      Headers

      • Authorization: optional (string)

        Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

      /service-instances/{serviceInstanceName} get

      get /service-instances/{serviceInstanceName}

      Returns information about specific service instance.

      Secured by OAuth 2.0

      Tekton supports OAuth 2.0 for authenticating all API requests.

      URI Parameters

      • serviceInstanceName: required(string)

        Service instance name.

        Example:

        epr

      Query Parameters

      • include: optional (one of appConfigurationSchema, appVersionConfigurationSchema)
        • `appConfigurationSchema` – include `appConfigurationSchema` field in response.
        • `appVersionConfigurationSchema` – include `appVersionConfigurationSchema` field in response.

        By default, no application or application version configuration schema will be returned.

      HTTP status code 200

      Information about service instance successfully retrieved.

      Body

      Media type: application/json

      Type: object

      Properties

      • name: required(string)

        Service instance name.

      • serviceName: required(string)

        Service name.

      • serviceGroup: required(string)

        Service group name ("Communication", "Identity management", etc.).

      • description: optional (string)

        Service instance description.

      • urlPrefix: optional (string)

        Service instance REST API URL prefix (where applicable).

      • appConfigurationSchemaPresent: required(boolean)

        Indicates whether service application-specific configuration JSON schema is present.

      • appConfigurationSchema: optional (object)

        Service application-specific configuration JSON schema.

        • appVersionConfigurationSchemaPresent: required(boolean)

          Indicates whether service application version-specific configuration JSON schema is present.

        • appVersionConfigurationSchema: optional (object)

          Service application version-specific configuration JSON schema.

          Example:

          {
            "name": "epr",
            "serviceName": "EPR",
            "serviceGroup": "Identity management",
            "description": "Endpoint Register service is the Kaa platform component that keeps record of all endpoints, as well as their associated key/value attributes (metadata).",
            "urlPrefix": "/epr",
            "appConfigurationSchemaPresent": true,
            "appConfigurationSchema": {},
            "appVersionConfigurationSchemaPresent": true,
            "appVersionConfigurationSchema": {}
          }

          HTTP status code 404

          The requested service instance name is not found.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          Applications

          Operations on applications.

          /applications post get

          post /applications

          Creates a new application.

          Secured by OAuth 2.0 with scopes:
          • kaa:application:create on kaa-system resource OR tenant:application:create on tenant-system resource

          Tekton supports OAuth 2.0 for authenticating all API requests.

          Query Parameters

          • tenantId: optional (string)

            ID of the tenant the application belongs to. If not specified, the application will be created in the tenant the requested user belongs to. When security is off, defaults to "kaa".

            Example:

            5b39397d-1be2-49a1-ad8b-f641a97e4ce3

          Body

          Media type: application/json

          Type: object

          Properties

          • name: optional (string)

            Application name. Must be unique in a given Kaa instance, non-empty and only contain a-z0-9-_ symbols. Application name is automatically generated when kaa.tekton.app-names.auto-generation.enabled is true. Must be empty when auto generation is enabled.

          • displayName: optional (string)

            Application display name.

          • description: optional (string)

            Application description.

          Example:

          {
            "displayName": "Smart kettle",
            "description": "Application for smart kettles management."
          }
          

          HTTP status code 201

          Application sucessfully created.

          Headers

          • Location: required(string)

            URI in format {schema}://{host}:{port}/api/v1/applications/{appName}

            Example:

            http://example.com/api/v1/applications/bqa46oeg10l0thoh4m7g

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 403

          The user is not allowed to perform the operation.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 409

          Application with such name already exists.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          get /applications

          Returns information about applications with corresponding versions.

          Secured by OAuth 2.0 with scopes:
          • application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          HTTP status code 200

          Array of all applications with corresponding versions successfully retrieved.

          Body

          Media type: application/json

          Type: array of Application

          Items: Application

          • name: required(string)

            Application name.

          • displayName: optional (string)

            Application display name.

          • description: optional (string)

            Application description.

          • tenantId: required(string)

            Identifier of the tenant the application belongs to.

          • createdDate: required(datetime)

            Application created date in ISO 8601 format (UTC timezone).

          • updatedDate: required(datetime)

            Application updated date in ISO 8601 format (UTC timezone).

          • versions: required(array of Version)

            Items: Version

            • name: required(string)

              Application version name.

            • displayName: optional (string)

              Application version display name.

            • description: optional (string)

              Application version description.

            • createdDate: required(datetime)

              Application version created date in ISO 8601 format (UTC timezone).

            • updatedDate: required(datetime)

              Application version updated date in ISO 8601 format (UTC timezone).

          Example:

          [
            {
              "name": "bqa46oeg10l0thoh4m7g",
              "displayName": "Smart kettle",
              "description": "Application for smart kettles management.",
              "tenantId": "5b39397d-1be2-49a1-ad8b-f641a97e4ce3",
              "createdDate": "2017-04-20T11:19:57.848Z",
              "updatedDate": "2017-05-18T17:05:23.935Z",
              "versions": [
                {
                  "name": "bqa46oeg10l0thoh4m7g-v1",
                  "displayName": "Smart kettle version 1",
                  "description": "Initial smart kettle application version",
                  "createdDate": "2017-04-20T11:19:57.848Z",
                  "updatedDate": "2017-05-18T17:05:23.935Z"
                },
                {
                  "name": "bqa46oeg10l0thoh4m7g-v2",
                  "createdDate": "2017-04-20T11:19:57.848Z",
                  "updatedDate": "2017-05-18T17:05:23.935Z"
                }
              ]
            },
            {
              "name": "smart_lamp",
              "tenantId": "3a45393b-3fe5-19a7-da6c-e371b97a1da7",
              "createdDate": "2017-04-25T15:37:07.345Z",
              "updatedDate": "2017-04-25T15:37:07.345Z",
              "versions": []
            }
          ]

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          /applications/{appName} get patch

          get /applications/{appName}

          Returns information about specified application with corresponding versions.

          Secured by OAuth 2.0 with scopes:
          • application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            bqa46oeg10l0thoh4m7g

          HTTP status code 200

          Application with corresponding versions successfully retrieved.

          Body

          Media type: application/json

          Type: object

          Properties

          • name: required(string)

            Application name.

          • displayName: optional (string)

            Application display name.

          • description: optional (string)

            Application description.

          • tenantId: required(string)

            Identifier of the tenant the application belongs to.

          • createdDate: required(datetime)

            Application created date in ISO 8601 format (UTC timezone).

          • updatedDate: required(datetime)

            Application updated date in ISO 8601 format (UTC timezone).

          • versions: required(array of Version)

            Items: Version

            • name: required(string)

              Application version name.

            • displayName: optional (string)

              Application version display name.

            • description: optional (string)

              Application version description.

            • createdDate: required(datetime)

              Application version created date in ISO 8601 format (UTC timezone).

            • updatedDate: required(datetime)

              Application version updated date in ISO 8601 format (UTC timezone).

          Example:

          {
            "name": "bqa46oeg10l0thoh4m7g",
            "displayName": "Smart kettle",
            "description": "Application for smart kettles management.",
            "tenantId": "5b39397d-1be2-49a1-ad8b-f641a97e4ce3",
            "createdDate": "2017-04-20T11:19:57.848Z",
            "updatedDate": "2017-05-18T17:05:23.935Z",
            "versions": [
              {
                "name": "bqa46oeg10l0thoh4m7g-v1",
                "displayName": "Smart kettle version 1",
                "description": "Initial smart kettle application version",
                "createdDate": "2017-04-20T11:19:57.848Z",
                "updatedDate": "2017-05-18T17:05:23.935Z"
              },
              {
                "name": "bqa46oeg10l0thoh4m7g-v2",
                "createdDate": "2017-04-20T11:19:57.848Z",
                "updatedDate": "2017-05-18T17:05:23.935Z"
              }
            ]
          }

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested application name is not found or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          patch /applications/{appName}

          Updates information about specified application.

          Secured by OAuth 2.0 with scopes:
          • application:update

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            bqa46oeg10l0thoh4m7g

          Body

          Media type: application/json

          Type: object

          Properties

          • displayName: optional (string)

            Application display name.

          • description: optional (string)

            Application description.

          Example:

          {
            "displayName": "SMART KETTLE",
            "description": "Smart kettles management."
          }
          

          HTTP status code 204

          Application successfully updated.

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested application name is not found or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          /applications/{appName}/app-versions post get

          post /applications/{appName}/app-versions

          Creates a new application version.

          Secured by OAuth 2.0 with scopes:
          • application:update

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle

          Body

          Media type: application/json

          Type: object

          Properties

          • nameSuffix: required(string)

            Application version name suffix. Must be unique in a given application, non-empty and only contain a-z0-9 symbols. Application version name is automatically constructed as "<application name>-<application version name suffix>".

          • displayName: optional (string)

            Application version display name.

          • description: optional (string)

            Application version description.

          Example:

          {
            "nameSuffix": "v1",
            "displayName": "Smart kettle version 1",
            "description": "Application version for smart kettles with new telemetry format."
          }

          HTTP status code 201

          Application version sucessfully created.

          Headers

          • Location: required(string)

            URI in format {schema}://{host}:{port}/api/v1/applications/{appName}/app-versions/{appVersionName}

            Example:

            http://example.com/api/v1/app-configs/applications/smart_kettle/app-versions/smart_kettle-v1

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested application name is not found or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 409

          Application version with such name already exists.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          get /applications/{appName}/app-versions

          Returns information about application versions in the scope of the specified application.

          Secured by OAuth 2.0 with scopes:
          • application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle

          HTTP status code 200

          Application versions successfully retrieved.

          Body

          Media type: application/json

          Type: array of Version

          Items: Version

          • name: required(string)

            Application version name.

          • displayName: optional (string)

            Application version display name.

          • description: optional (string)

            Application version description.

          • createdDate: required(datetime)

            Application version created date in ISO 8601 format (UTC timezone).

          • updatedDate: required(datetime)

            Application version updated date in ISO 8601 format (UTC timezone).

          Example:

          [
            {
              "name": "bqa46oeg10l0thoh4m7g-v1",
              "displayName": "Smart kettle version 1",
              "description": "Initial smart kettle application version",
              "createdDate": "2017-04-20T11:19:57.848Z",
              "updatedDate": "2017-05-18T17:05:23.935Z"
            },
            {
              "name": "smart_kettle-v2",
              "createdDate": "2017-04-20T11:19:57.848Z",
              "updatedDate": "2017-05-18T17:05:23.935Z"
            }
          ]

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested application name is not found or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          /applications/{appName}/app-versions/{appVersionName} get patch

          get /applications/{appName}/app-versions/{appVersionName}

          Returns information about the specified application version.

          Secured by OAuth 2.0 with scopes:
          • application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle
          • appVersionName: required(string)

            Application version name.

            Example:

            smart_kettle_v1

          HTTP status code 200

          Application version successfully retrieved.

          Body

          Media type: application/json

          Type: object

          Properties

          • name: required(string)

            Application version name.

          • displayName: optional (string)

            Application version display name.

          • description: optional (string)

            Application version description.

          • createdDate: required(datetime)

            Application version created date in ISO 8601 format (UTC timezone).

          • updatedDate: required(datetime)

            Application version updated date in ISO 8601 format (UTC timezone).

          Example:

          {
            "name": "bqa46oeg10l0thoh4m7g-v1",
            "displayName": "Smart kettle version 1",
            "description": "Initial smart kettle application version",
            "createdDate": "2017-04-20T11:19:57.848Z",
            "updatedDate": "2017-05-18T17:05:23.935Z"
          }

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested application or application version name is not found, or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          patch /applications/{appName}/app-versions/{appVersionName}

          Updates information about specified application version.

          Secured by OAuth 2.0 with scopes:
          • application:update

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle
          • appVersionName: required(string)

            Application version name.

            Example:

            smart_kettle_v1

          Body

          Media type: application/json

          Type: object

          Properties

          • displayName: optional (string)

            Application version display name.

          • description: optional (string)

            Application version description.

          Example:

          {
            "displayName": "SMART KETTLE v1",
            "description": "Smart kettles with NEW TELEMETRY format."
          }
          

          HTTP status code 204

          Application version successfully updated.

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested application or application version name is not found or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          Application configuration

          Operations on application configuration.

          /app-configs post get

          post /app-configs

          Initializes application configuration for all services.

          Secured by OAuth 2.0 with scopes:
          • kaa:application:create
          • kaa:application:update

          Tekton supports OAuth 2.0 for authenticating all API requests.

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "epr": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "time-series": {
                      "names": {
                        "logs": {
                          "values": [
                            {
                              "path": "log",
                              "name": "value"
                            }
                          ]
                        }
                      },
                      "timestamp": {
                        "path": "timestamp",
                        "format": "millis-unix-epoch",
                        "fallback-strategy": "server-timestamp"
                      }
                    }
                  }
                }
              }
            },
            "dcx": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "versions": {
                      "smart_kettle-v1": null
                    }
                  }
                }
              }
            }
          }

          HTTP status code 204

          Application configuration successfully initialized.

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 403

          The user is not allowed to perform the operation.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested service instance name is not found.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 409

          Application configuration is already created.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          get /app-configs

          Exports application configuration for all services.

          Secured by OAuth 2.0 with scopes:
          • application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          Query Parameters

          • serviceInstanceName: optional (string)

            Zero or more service instance names. If not specified, the configuration is returned for all available service instances.

            Example:

            epts

          HTTP status code 200

          Application configuration.

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "epr": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "time-series": {
                      "names": {
                        "logs": {
                          "values": [
                            {
                              "path": "log",
                              "name": "value"
                            }
                          ]
                        }
                      },
                      "timestamp": {
                        "path": "timestamp",
                        "format": "millis-unix-epoch",
                        "fallback-strategy": "server-timestamp"
                      }
                    }
                  }
                }
              }
            },
            "dcx": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "versions": {
                      "smart_kettle-v1": null
                    }
                  }
                }
              }
            }
          }

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          /app-configs/applications/{appName} put get

          put /app-configs/applications/{appName}

          Upserts application configuration.

          Secured by OAuth 2.0 with scopes:
          • application:update

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "epts": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "time-series": {
                      "names": {
                        "logs": {
                          "values": [
                            {
                              "path": "log",
                              "name": "value"
                            }
                          ]
                        }
                      },
                      "timestamp": {
                        "path": "timestamp",
                        "format": "millis-unix-epoch",
                        "fallback-strategy": "server-timestamp"
                      }
                    }
                  }
                }
              }
            }
          }
          

          HTTP status code 204

          Application configuration successfully updated.

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested service instance name is not found, application name is not found, or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          get /app-configs/applications/{appName}

          Returns application configuration by services.

          Secured by OAuth 2.0 with scopes:
          • application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle

          Query Parameters

          • serviceInstanceName: optional (string)

            Zero or more service instance names. If not specified, the configuration is returned for all available service names.

            Example:

            epts

          HTTP status code 200

          Application configuration by services.

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "epts": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "time-series": {
                      "names": {
                        "logs": {
                          "values": [
                            {
                              "path": "log",
                              "name": "value"
                            }
                          ]
                        }
                      },
                      "timestamp": {
                        "path": "timestamp",
                        "format": "millis-unix-epoch",
                        "fallback-strategy": "server-timestamp"
                      }
                    }
                  }
                }
              }
            }
          }
          

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested service instance name is not found, application name is not found, or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          /app-configs/applications/{appName}/app-versions/{appVersionName} put get

          put /app-configs/applications/{appName}/app-versions/{appVersionName}

          Upserts application version configuration.

          Secured by OAuth 2.0 with scopes:
          • application:update

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle
          • appVersionName: required(string)

            Application version name.

            Example:

            smart_kettle_v1

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "epts": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "versions": {
                      "smart_kettle-v1": {
                        "time-series": {
                          "auto-extract": true,
                          "timestamp": {
                            "path": "ts",
                            "format": "iso8601",
                            "fallback-strategy": "fail"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }

          HTTP status code 204

          Application version configuration successfully updated.

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested service instance name is not found, application or application version name is not found, or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          get /app-configs/applications/{appName}/app-versions/{appVersionName}

          Returns application version configuration by services.

          Secured by OAuth 2.0 with scopes:
          • application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          URI Parameters

          • appName: required(string)

            Application name.

            Example:

            smart_kettle
          • appVersionName: required(string)

            Application version name.

            Example:

            smart_kettle_v1

          Query Parameters

          • serviceInstanceName: optional (string)

            Zero or more service instance names. If not specified, the configuration is returned for all available service instances.

            Example:

            epts

          HTTP status code 200

          Application version configuration by services.

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "epts": {
              "kaa": {
                "applications": {
                  "smart_kettle": {
                    "versions": {
                      "smart_kettle-v1": {
                        "time-series": {
                          "auto-extract": true,
                          "timestamp": {
                            "path": "ts",
                            "format": "iso8601",
                            "fallback-strategy": "fail"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 404

          The requested service instance name is not found, application or application version name is not found, or the querying user is denied access.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          Tenant configuration

          Operations on tenant-specific service instance configuration.

          /tenant-configs put get

          put /tenant-configs

          Upserts tenant-specific service instance configuration.

          Secured by OAuth 2.0 with scopes:
          • tenant:configuration:update

          Tekton supports OAuth 2.0 for authenticating all API requests.

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "kpc": {
              "kaa": {
                "tenants": {
                  "5b39397d-1be2-49a1-ad8b-f641a97e4ce3": {
                    "config": {
                      "transports": {
                        "mqtt": {
                          "basic-auth": {
                            "required": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "epts": {
              "kaa": {
                "tenants": {
                  "5b39397d-1be2-49a1-ad8b-f641a97e4ce3": {
                    "config": null
                  }
                }
              }
            }
          }
          

          HTTP status code 204

          Tenant-specific service instance configuration successfully updated.

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 403

          The querying user is denied access.

          HTTP status code 404

          The requested service instance name is not found.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          get /tenant-configs

          Returns tenant-specific service instance configurations.

          Secured by OAuth 2.0 with scopes:
          • tenant:configuration:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          Query Parameters

          • serviceInstanceName: optional (string)

            Zero or more service instance names. If not specified, the configuration is returned for all available service instances.

            Example:

            kpc,epts

          HTTP status code 200

          Tenant-specific service instance(s) configuration.

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "kpc": {
              "kaa": {
                "tenants": {
                  "5b39397d-1be2-49a1-ad8b-f641a97e4ce3": {
                    "config": {
                      "transports": {
                        "mqtt": {
                          "basic-auth": {
                            "required": true
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "epts": {
              "kaa": {
                "tenants": {
                  "5b39397d-1be2-49a1-ad8b-f641a97e4ce3": {
                    "config": null
                  }
                }
              }
            }
          }
          

          HTTP status code 400

          Invalid request.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          HTTP status code 403

          The querying user is denied access.

          HTTP status code 404

          The requested service instance name is not found.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.

          Bulk

          Bulk operations on tenants and their applications.

          /bulk get

          get /bulk

          Exports application metadata and service instance configurations.
          System administrators granted with the kaa:application:read and kaa:tenant:configuration:read scopes on kaa-system resource in the system tenant ("kaa") are allowed full access to all service instance configurations of all tenants. Other users are limited to the tenant they are authenticated with and applications they have application:read scope on.

          Secured by OAuth 2.0 with scopes:
          • kaa:application:read on kaa-system resource OR application:read

          Tekton supports OAuth 2.0 for authenticating all API requests.

          Query Parameters

          • serviceInstanceName: optional (string)

            Zero or more service instance names. If not specified, the configuration is returned for all available service instances.

            Example:

            epts
          • include: optional (appMetadata)
            • `appMetadata` – include application metadata in response.
              • By default no application metadata is returned.

          • appName: optional (string)

            Zero or more application names. If not specified, the configuration is returned for all available applications.

            Example:

            smart_kettle

          HTTP status code 200

          Application metadata and service instance configurations are successfully exported.

          Body

          Media type: application/json

          Type: any

          Example:

          {
            "configuration": {
              "epts": {
                "kaa": {
                  "tenants": {
                    "5b39397d-1be2-49a1-ad8b-f641a97e4ce3": {
                      "config": null
                    }
                  },
                  "applications": {
                    "smart_kettle": {
                      "time-series": {
                        "names": {
                          "logs": {
                            "values": [
                              {
                                "path": "log",
                                "name": "value"
                              }
                            ]
                          }
                        },
                        "timestamp": {
                          "path": "timestamp",
                          "format": "millis-unix-epoch",
                          "fallback-strategy": "server-timestamp"
                        }
                      }
                    }
                  }
                }
              },
              "kpc": {
                "kaa": {
                  "tenants": {
                    "5b39397d-1be2-49a1-ad8b-f641a97e4ce3": {
                      "config": {
                        "transports": {
                          "mqtt": {
                            "basic-auth": {
                              "required": true
                            }
                          }
                        }
                      }
                    }
                  },
                  "applications": {
                    "smart_kettle": {
                      "versions": {
                        "smart_kettle-v1": null
                      }
                    }
                  }
                }
              }
            },
            "tenants": {
              "5b39397d-1be2-49a1-ad8b-f641a97e4ce3": {
                "applications": {
                  "smart_kettle": {
                    "displayName": "Smart kettle",
                    "description": "Application for smart kettles management.",
                    "createdDate": "2017-04-20T11:19:57.848Z",
                    "updatedDate": "2017-05-18T17:05:23.935Z",
                    "versions": [
                      {
                        "name": "smart_kettle-v1",
                        "displayName": "Smart kettle version 1",
                        "description": "Initial smart kettle application version",
                        "createdDate": "2017-04-20T11:19:57.848Z",
                        "updatedDate": "2017-05-18T17:05:23.935Z"
                      },
                      {
                        "name": "smart_kettle-v2",
                        "createdDate": "2017-04-20T11:19:57.848Z",
                        "updatedDate": "2017-05-18T17:05:23.935Z"
                      }
                    ]
                  }
                }
              }
            }
          }

          HTTP status code 404

          The requested service instance name is not found.

          Body

          Media type: application/json

          Type: object

          Properties

          • message: required(string)

            Detailed error description.

          Secured by OAuth 2.0

          Headers

          • Authorization: optional (string)

            Used to send a valid OAuth 2 access token. Example: "Authorization: Bearer 'access_token'" where 'access_token' must be replaced by a valid OAuth access token. This header is needed only if API authentication is enabled for the service.