REST API

The Things Network Connector 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)

Integrations

/integrations post get

post /integrations

Creates new application integration and returns it.

Secured by oauth_2_0 with scopes:
  • application:ttn-app-integration:create

TTNC supports OAuth 2.0 for authenticating all API requests.

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • appName: required(string)

    Kaa platform application name.

  • ttnUsername: required(string)

    The Things Network username (https://www.thethingsindustries.com/docs/integrations/mqtt/#note-on-using-the-tenant-id).

  • ttnApiKeyId: required(string)

    The Things Network application API key.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • ttnPlainMqttServerUrl: required(string)

    The Things Network MQTT Server URL address.

  • name: required(string)

    Application integration name.

  • description: optional (string)

    Application integration description.

Example:

{
  "appName": "q4hhh0cckgmc6ivflvag",
  "ttnUsername": "lorawan-smart-farm@ttn",
  "ttnApiKeyId": "EJXRNLCPHQEIUTZLUSVLCAK26HINNSXS.AP4VEXNNY4DGRTOXHBAZ33HFDS67B5LVW.5CHH7RJPLR5WYDIGP7KAABI5EXAMPLE",
  "ttnIdentityServerHost": "farmtenant.eu1.cloud.thethings.industries",
  "ttnPlainMqttServerUrl": "eu2.cloud.thethings.industries:1883",
  "name": "Smart Farm",
  "description": "Smart farm LoRaWAN devices integration"
}

HTTP status code 201

Application integration was successfully created.

Headers

  • Location: required(string)

    URI in format {schema}://{host}:{port}/api/v1/integrations/{id}

    Example:

    http://example.com/api/v1/integrations/267

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Application integration unique identifier.

  • appName: required(string)

    Kaa platform application name.

  • ttnUsername: required(string)

    The Things Network username.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • ttnPlainMqttServerUrl: required(string)

    The Things Network MQTT Server URL address.

  • name: required(string)

    Application integration name.

  • description: optional (string)

    Application integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Application integration status.

Example:

{
  "id": 267,
  "appName": "q4hhh0cckgmc6ivflvag",
  "ttnUsername": "lorawan-farm-app@ttn",
  "ttnIdentityServerHost": "eu1.cloud.thethings.network",
  "ttnPlainMqttServerUrl": "eu1.cloud.thethings.network:1883",
  "name": "Smart Farm",
  "description": "Smart farm LoRaWAN devices integration",
  "status": "ACTIVE"
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 403

User does not have permissions to perform this operation.

HTTP status code 409

TtnUsername or appName already used by some application integration.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

Example:

{
  "message": "Application name [c7r38d3a8vkfafj9jipg] already used in other application integration."
}

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 /integrations

Returns application integrations. If 'status' parameter not used, then returns only ACTIVE application integrations.

Secured by oauth_2_0 with scopes:
  • ttn-app-integration:read

TTNC supports OAuth 2.0 for authenticating all API requests.

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Query Parameters

  • applicationName: optional (string)

    Filters applications integrations by application name.

    Example:

    my-application
  • status: optional (one of ACTIVE, SUSPENDED - default: ACTIVE)

    Application integration status.

HTTP status code 200

Application integrations are successfully retrieved.

Body

Media type: application/json

Type: object

Properties

  • totalElements: required(integer)

    Total number of elements available for retrieval. Current response may return only a part of all available elements.

  • content: required(array of AppIntegrationExtResponse)

    Items: AppIntegrationExtResponse

    • id: required(integer)

      Application integration unique identifier.

    • appName: required(string)

      Kaa platform application name.

    • ttnUsername: required(string)

      The Things Network username.

    • ttnIdentityServerHost: required(string)

      The Things Network Identity Server host address.

    • ttnPlainMqttServerUrl: required(string)

      The Things Network MQTT Server URL address.

    • name: required(string)

      Application integration name.

    • description: optional (string)

      Application integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Application integration status.

    • state: required(one of CONNECTED, DISCONNECTED)

      Application integration TTN MQTT connection state.

      • `CONNECTED` - connection successful
      • `DISCONNECTED` - There is some problem with the connection

    • error: optional (string)

      Error description (if there is any problem with the TTN MQTT connection).

Example:

{
  "totalElements": 2,
  "content": [
    {
      "id": 267,
      "appName": "q4hhh0cckgmc6ivflvag",
      "ttnUsername": "lorawan-smart-farm@ttn",
      "ttnIdentityServerHost": "eu1.cloud.thethings.network",
      "ttnPlainMqttServerUrl": "eu1.cloud.thethings.network:1883",
      "name": "Smart Farm",
      "description": "Smart farm LoRaWAN devices integration",
      "status": "ACTIVE",
      "state": "CONNECTED"
    },
    {
      "id": 351,
      "appName": "0cckq4hhhgmc6ivflasd",
      "ttnUsername": "lorawan-smart-farm2@ttn",
      "ttnIdentityServerHost": "farmtenant.eu1.cloud.thethings.industries",
      "ttnPlainMqttServerUrl": "eu2.cloud.thethings.industries:1883",
      "name": "Smart Farm",
      "description": "Smart farm LoRaWAN devices integration",
      "status": "SUSPENDED",
      "state": "DISCONNECTED",
      "error": "Not authorized to connect"
    }
  ]
}

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.

/integrations/{appIntegrationId} get patch delete

get /integrations/{appIntegrationId}

Returns application integration.

Secured by oauth_2_0 with scopes:
  • ttn-app-integration:read

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appIntegrationId: required(integer)

    Application integration ID

    Example:

    351

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

HTTP status code 200

Application integration is successfully retrieved.

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Application integration unique identifier.

  • appName: required(string)

    Kaa platform application name.

  • ttnUsername: required(string)

    The Things Network username.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • ttnPlainMqttServerUrl: required(string)

    The Things Network MQTT Server URL address.

  • name: required(string)

    Application integration name.

  • description: optional (string)

    Application integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Application integration status.

  • state: required(one of CONNECTED, DISCONNECTED)

    Application integration TTN MQTT connection state.

    • `CONNECTED` - connection successful
    • `DISCONNECTED` - There is some problem with the connection

  • error: optional (string)

    Error description (if there is any problem with the TTN MQTT connection).

  • devices: required(array of DeviceIntegrationResponse)

    List of already integrated devices.

    Items: DeviceIntegrationResponse

    • id: required(integer)

      Device integration unique identifier.

    • appVersionName: required(string)

      Kaa platform application version name.

    • ttnDeviceId: required(string)

      The Things Network device unique identifier.

    • endpointId: required(string)

      Kaa endpoint unique identifier.

    • name: required(string)

      Device integration name.

    • description: optional (string)

      Device integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Device integration status.

Example:

{
  "id": 351,
  "appName": "0cckq4hhhgmc6ivflvag",
  "ttnUsername": "lorawan-smart-farm2@ttn",
  "ttnIdentityServerHost": "farmtenant.eu1.cloud.thethings.industries",
  "ttnPlainMqttServerUrl": "eu2.cloud.thethings.industries:1883",
  "name": "Smart Farm",
  "description": "Smart farm LoRaWAN devices integration",
  "state": "DISCONNECTED",
  "error": "Unable to connect to server",
  "status": "ACTIVE",
  "devices": [
    {
      "id": 102,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
      "ttnDeviceId": "eui-1b789bc1325a5",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
      "name": "Moisture monitor 1"
    },
    {
      "id": 105,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v2",
      "ttnDeviceId": "eui-1b789bc1325a6",
      "endpointId": "78126304-4970-4f80-91a1-06e9ae2b7445",
      "name": "Moisture monitor 2"
    }
  ]
}

HTTP status code 404

Application integration not found or querying user is not authorized for it.

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 /integrations/{appIntegrationId}

Updates application integration.

Secured by oauth_2_0 with scopes:
  • ttn-app-integration:update

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appIntegrationId: required(integer)

    Application integration ID

    Example:

    351

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • ttnApiKeyId: optional (string)

    The Things Network application API key.

  • name: optional (string)

    Application integration name.

  • description: optional (string)

    Application integration description.

Example:

{
  "ttnApiKeyId": "EJXRNLCPHQEIUTZLUSVLCAK26HINNSXS.AP4VEXNNY4DGRTOXHBAZ33HFDS67B5LVW.5CHH7RJPLR5WYDIGP7KAABI5EXAMPLE",
  "name": "Smart Farm",
  "description": "Smart farm LoRaWAN devices integration"
}

HTTP status code 200

Application integration is successfully updated.

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Application integration unique identifier.

  • appName: required(string)

    Kaa platform application name.

  • ttnUsername: required(string)

    The Things Network username.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • ttnPlainMqttServerUrl: required(string)

    The Things Network MQTT Server URL address.

  • name: required(string)

    Application integration name.

  • description: optional (string)

    Application integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Application integration status.

Example:

{
  "id": 267,
  "appName": "q4hhh0cckgmc6ivflvag",
  "ttnUsername": "lorawan-farm-app@ttn",
  "ttnIdentityServerHost": "eu1.cloud.thethings.network",
  "ttnPlainMqttServerUrl": "eu1.cloud.thethings.network:1883",
  "name": "Smart Farm",
  "description": "Smart farm LoRaWAN devices integration",
  "status": "ACTIVE"
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 404

Application integration not found or querying user is not authorized for it.

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.

delete /integrations/{appIntegrationId}

Deletes application integration if there is no one device integration connected with this application integration.

Secured by oauth_2_0 with scopes:
  • ttn-app-integration:delete

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appIntegrationId: required(integer)

    Application integration ID

    Example:

    351

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

HTTP status code 204

Application integration successfully deleted.

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 404

Application integration not found or querying user is not authorized for it.

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.

/integrations/{appIntegrationId}/devices post get

post /integrations/{appIntegrationId}/devices

Creates new device integrations. (Max - 5 device integrations per request).

Secured by oauth_2_0 with scopes:
  • ttn-app-integration:ttn-device-integration:create
  • application:endpoint:create

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appIntegrationId: required(integer)

    Application integration ID

    Example:

    351

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • appVersionName: required(string)

    Kaa platform application version name that integrated devices should work in.

  • devices: required(array of CreateDeviceIntegrationItem)

    List of devices to create integration for.

    Items: CreateDeviceIntegrationItem

    • ttnDeviceId: required(string)

      The Things Network device unique identifier.

    • name: required(string)

      Device integration name.

    • description: optional (string)

      Device integration description.

Example:

{
  "appVersionName": "q4hhh0cckgmc6ivflvag-v2",
  "devices": [
    {
      "ttnDeviceId": "eui-1b789bc1325f8",
      "name": "Moisture monitor",
      "description": "Greenhouse 1"
    }
  ]
}

HTTP status code 201

Device integrations are created.

Body

Media type: application/json

Type: object

Properties

  • createdCount: required(integer)

    Count of device integrations with successful creation.

  • failedCount: required(integer)

    Count of device integrations with failed creation.

  • created: required(array of DeviceIntegrationResponse)

    Array of device integrations with successful creation.

    Items: DeviceIntegrationResponse

    • id: required(integer)

      Device integration unique identifier.

    • appVersionName: required(string)

      Kaa platform application version name.

    • ttnDeviceId: required(string)

      The Things Network device unique identifier.

    • endpointId: required(string)

      Kaa endpoint unique identifier.

    • name: required(string)

      Device integration name.

    • description: optional (string)

      Device integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Device integration status.

  • failed: required(array of DeviceIntegrationFailedResponse)

    Array of device integrations with failed creation.

    Items: DeviceIntegrationFailedResponse

    • ttnDeviceId: required(string)

      The Things Network device unique identifier.

    • statusReason: optional (string)

      Cause of failing device integration creation.

Example:

{
  "createdCount": 2,
  "failedCount": 1,
  "created": [
    {
      "id": 10,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
      "ttnDeviceId": "eui-1b789bc1325a5",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
      "name": "Moisture monitor 1",
      "description": "Greenhouse 1",
      "status": "ACTIVE"
    },
    {
      "id": 25,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v2",
      "ttnDeviceId": "eui-1b789bc1325a6",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7445",
      "name": "Moisture monitor 2",
      "description": "Greenhouse 1",
      "status": "ACTIVE"
    }
  ],
  "failed": [
    {
      "ttnDeviceId": "eui-1b789bc1325b8",
      "statusReason": "Can't create endpoint for appIntegrationId [303], appVersionName [0cckq4hhhgmc6ivflvag-v1]"
    }
  ]
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 403

User does not have permissions to perform this operation.

HTTP status code 404

Resource not found or querying user is not authorized for it.

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 /integrations/{appIntegrationId}/devices

Returns all device integrations inside application integration. If 'status' parameter not used, then returns only ACTIVE device integrations.

Secured by oauth_2_0 with scopes:
  • ttn-device-integration:read

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appIntegrationId: required(integer)

    Application integration ID

    Example:

    351

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Query Parameters

  • status: optional (one of ACTIVE, SUSPENDED - default: ACTIVE)

    Device integration status.

HTTP status code 200

Device integrations are successfully retrieved.

Body

Media type: application/json

Type: object

Properties

  • totalElements: required(integer)

    Total number of elements available for retrieval. Current response may return only a part of all available elements.

  • content: required(array of DeviceIntegrationResponse)

    Items: DeviceIntegrationResponse

    • id: required(integer)

      Device integration unique identifier.

    • appVersionName: required(string)

      Kaa platform application version name.

    • ttnDeviceId: required(string)

      The Things Network device unique identifier.

    • endpointId: required(string)

      Kaa endpoint unique identifier.

    • name: required(string)

      Device integration name.

    • description: optional (string)

      Device integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Device integration status.

Example:

{
  "totalElements": 2,
  "content": [
    {
      "id": 10,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
      "ttnDeviceId": "eui-1b789bc1325a5",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
      "name": "Moisture monitor 1",
      "description": "Greenhouse 1",
      "status": "ACTIVE"
    },
    {
      "id": 25,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v2",
      "ttnDeviceId": "eui-1b789bc1325a6",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7445",
      "name": "Moisture monitor 2",
      "description": "Greenhouse 1",
      "status": "ACTIVE"
    }
  ]
}

HTTP status code 404

Application integration not found or querying user is not authorized for it.

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.

/integrations/{appIntegrationId}/devices/{devIntegrationId} patch

patch /integrations/{appIntegrationId}/devices/{devIntegrationId}

Updates device integration.

Secured by oauth_2_0 with scopes:
  • ttn-device-integration:update

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appIntegrationId: required(integer)

    Application integration ID

    Example:

    351
  • devIntegrationId: required(integer)

    Device integration ID

    Example:

    568

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • name: optional (string)

    Device integration name.

  • description: optional (string)

    Device integration description.

Example:

{
  "name": "Moisture monitor",
  "description": "Greenhouse 1"
}

HTTP status code 200

Device integration is successfully updated.

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Device integration unique identifier.

  • appVersionName: required(string)

    Kaa platform application version name.

  • ttnDeviceId: required(string)

    The Things Network device unique identifier.

  • endpointId: required(string)

    Kaa endpoint unique identifier.

  • name: required(string)

    Device integration name.

  • description: optional (string)

    Device integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Device integration status.

Example:

{
  "id": 10,
  "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
  "ttnDeviceId": "eui-1b789bc1325a5",
  "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
  "name": "Moisture monitor",
  "description": "Greenhouse 1",
  "status": "ACTIVE"
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 404

Device integration not found or querying user is not authorized for it.

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.

/integrations/{appIntegrationId}/devices/{devIntegrationId}/status put

put /integrations/{appIntegrationId}/devices/{devIntegrationId}/status

Sets the current device integration status. For now, allowed status transitions are:

  • Active → Suspended
Secured by oauth_2_0 with scopes:
  • ttn-device-integration:delete
  • endpoint:update

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • appIntegrationId: required(integer)

    Application integration ID

    Example:

    351
  • devIntegrationId: required(integer)

    Device integration ID

    Example:

    568

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • status: required(one of Active, Suspended)

    The status of the device integration.

    • Active - device integration is active
    • Suspended - device integration is suspended

Example:

{
  "status": "Suspended"
}

HTTP status code 204

Device integration status is successfully updated.

HTTP status code 404

Resource not found or querying user is not authorized for it.

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.

Account integrations

/account-integrations post get

post /account-integrations

Creates new account integration and returns it.

Secured by oauth_2_0 with scopes:
  • application:ttn-account-integration:create

TTNC supports OAuth 2.0 for authenticating all API requests.

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • appName: required(string)

    Kaa platform application name.

  • ttnApiKeyId: required(string)

    The Things Network gateways API key.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • name: required(string)

    Account integration name.

  • description: optional (string)

    Account integration description.

Example:

{
  "appName": "q4hhh0cckgmvagc6ivfl",
  "ttnApiKeyId": "EJXRNLCPHQEI6HINNSXSUTZLUSVLCAK2.AP4GRTOXHBAZ33HFDS67BVEXNNY4D5LVW.5CHH7KAABI57RJPLR5WYDIGPEXAMPLE",
  "ttnIdentityServerHost": "farmtenant.eu1.cloud.thethings.industries",
  "name": "Smart Farm gateways",
  "description": "Smart farm LoRaWAN gateways integration"
}

HTTP status code 201

Account integration was successfully created.

Headers

  • Location: required(string)

    URI in format {schema}://{host}:{port}/api/v1/gateway-integrations/{id}

    Example:

    http://example.com/api/v1/account-integrations/25

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Account integration unique identifier.

  • appName: required(string)

    Kaa platform application name.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • name: required(string)

    Account integration name.

  • description: optional (string)

    Account integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Account integration status.

Example:

{
  "id": 25,
  "appName": "q4hhh0cckgmvagc6ivfl",
  "ttnIdentityServerHost": "eu1.cloud.thethings.network",
  "name": "Smart Farm gateways",
  "description": "Smart farm LoRaWAN gateways integration",
  "status": "ACTIVE"
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 403

User does not have permissions to perform this operation.

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 /account-integrations

Returns account integrations. If 'status' parameter not used, then returns only ACTIVE account integrations.

Secured by oauth_2_0 with scopes:
  • ttn-account-integration:read

TTNC supports OAuth 2.0 for authenticating all API requests.

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Query Parameters

  • applicationName: optional (string)

    Filters account integrations by application name.

    Example:

    my-application
  • status: optional (one of ACTIVE, SUSPENDED - default: ACTIVE)

    Account integration status.

HTTP status code 200

Account integrations are successfully retrieved.

Body

Media type: application/json

Type: object

Properties

  • totalElements: required(integer)

    Total number of elements available for retrieval. Current response may return only a part of all available elements.

  • content: required(array of AccountIntegrationResponse)

    Items: AccountIntegrationResponse

    • id: required(integer)

      Account integration unique identifier.

    • appName: required(string)

      Kaa platform application name.

    • ttnIdentityServerHost: required(string)

      The Things Network Identity Server host address.

    • name: required(string)

      Account integration name.

    • description: optional (string)

      Account integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Account integration status.

Example:

{
  "totalElements": 1,
  "content": [
    {
      "id": 25,
      "appName": "q4hhh0cckgmvagc6ivfl",
      "ttnIdentityServerHost": "eu1.cloud.thethings.network",
      "name": "Smart Farm gateways",
      "description": "Smart farm LoRaWAN gateways integration",
      "status": "ACTIVE"
    }
  ]
}

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.

/account-integrations/{accountIntegrationId} get patch delete

get /account-integrations/{accountIntegrationId}

Returns account integration.

Secured by oauth_2_0 with scopes:
  • ttn-account-integration:read

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountIntegrationId: required(integer)

    Account integration ID

    Example:

    25

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

HTTP status code 200

Account integration is successfully retrieved.

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Account integration unique identifier.

  • appName: required(string)

    Kaa platform application name.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • name: required(string)

    Account integration name.

  • description: optional (string)

    Account integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Account integration status.

  • error: optional (string)

    Error description (if there is any problem with the TTN connection).

  • gateways: required(array of GatewayIntegrationResponse)

    List of already integrated gateways.

    Items: GatewayIntegrationResponse

    • id: required(integer)

      Gateway integration unique identifier.

    • appVersionName: required(string)

      Kaa platform application version name.

    • gatewayId: required(string)

      The Things Network gateway unique identifier.

    • endpointId: required(string)

      Kaa endpoint unique identifier.

    • name: required(string)

      Gateway integration name.

    • description: optional (string)

      Gateway integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Gateway integration status.

Example:

{
  "id": 254,
  "appName": "0cckq4hhhgmc6ivflvag",
  "ttnUsername": "lorawan-smart-farm2@ttn",
  "ttnIdentityServerHost": "farmtenant.eu1.cloud.thethings.industries",
  "name": "Smart Farm",
  "description": "Smart farm LoRaWAN devices integration",
  "status": "ACTIVE",
  "gateways": [
    {
      "id": 102,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
      "ttnGatewayId": "dranginotest",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
      "name": "Moisture monitor 1",
      "description": "",
      "status": "ACTIVE"
    }
  ]
}

HTTP status code 404

Account integration not found or querying user is not authorized for it.

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 /account-integrations/{accountIntegrationId}

Updates account integration.

Secured by oauth_2_0 with scopes:
  • ttn-account-integration:update

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountIntegrationId: required(integer)

    Account integration ID

    Example:

    25

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • ttnApiKeyId: optional (string)

    The Things Network gateways API key.

  • name: optional (string)

    Account integration name.

  • description: optional (string)

    Account integration description.

Example:

{
  "ttnApiKeyId": "EJXRNLCPHQEIUTZLUSVLCAK26HINNSXS.AP4VEXNNY4DGRTOXHBAZ33HFDS67B5LVW.5CHH7RJPLR5WYDIGP7KAABI5EXAMPLE",
  "name": "Smart Farm",
  "description": "Smart farm LoRaWAN gateways integration"
}

HTTP status code 200

Account integration is successfully updated.

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Account integration unique identifier.

  • appName: required(string)

    Kaa platform application name.

  • ttnIdentityServerHost: required(string)

    The Things Network Identity Server host address.

  • name: required(string)

    Account integration name.

  • description: optional (string)

    Account integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Account integration status.

Example:

{
  "id": 25,
  "appName": "q4hhh0cckgmvagc6ivfl",
  "ttnIdentityServerHost": "eu1.cloud.thethings.network",
  "name": "Smart Farm gateways",
  "description": "Smart farm LoRaWAN gateways integration",
  "status": "ACTIVE"
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 404

Account integration not found or querying user is not authorized for it.

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.

delete /account-integrations/{accountIntegrationId}

Deletes account integration if there is no one gateway integration connected with this account integration.

Secured by oauth_2_0 with scopes:
  • ttn-account-integration:delete

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountIntegrationId: required(integer)

    Account integration ID

    Example:

    25

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

HTTP status code 204

Account integration successfully deleted.

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 404

Account integration not found or querying user is not authorized for it.

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.

/account-integrations/{accountIntegrationId}/gateways post get

post /account-integrations/{accountIntegrationId}/gateways

Creates new gateway integrations. (Max - 5 gateway integrations per request).

Secured by oauth_2_0 with scopes:
  • ttn-account-integration:ttn-gateway-integration:create
  • application:endpoint:create

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountIntegrationId: required(integer)

    Account integration ID

    Example:

    25

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • appVersionName: required(string)

    Kaa platform application version name that integrated account should work in.

  • gateways: required(array of CreateGatewayIntegrationItem)

    List of gateways to create integration for.

    Items: CreateGatewayIntegrationItem

    • ttnGatewayId: required(string)

      The Things Network gateway unique identifier.

    • name: required(string)

      Gateway integration name.

    • description: optional (string)

      Gateway integration description.

Example:

{
  "appVersionName": "q4hhh0cckgmc6ivflvag-v2",
  "gateways": [
    {
      "ttnGatewayId": "dranginotest",
      "name": "Farm 1 gateway",
      "description": "Greenhouse 1"
    }
  ]
}

HTTP status code 201

Gateway integrations are created.

Body

Media type: application/json

Type: object

Properties

  • createdCount: required(integer)

    Count of gateway integrations with successful creation.

  • failedCount: required(integer)

    Count of gateway integrations with failed creation.

  • created: required(array of GatewayIntegrationResponse)

    Array of gateway integrations with successful creation.

    Items: GatewayIntegrationResponse

    • id: required(integer)

      Gateway integration unique identifier.

    • appVersionName: required(string)

      Kaa platform application version name.

    • gatewayId: required(string)

      The Things Network gateway unique identifier.

    • endpointId: required(string)

      Kaa endpoint unique identifier.

    • name: required(string)

      Gateway integration name.

    • description: optional (string)

      Gateway integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Gateway integration status.

  • failed: required(array of GatewayIntegrationFailedResponse)

    Array of gateway integrations with failed creation.

    Items: GatewayIntegrationFailedResponse

    • ttnGatewayId: required(string)

      The Things Network gateway unique identifier.

    • statusReason: optional (string)

      Cause of failing gateway integration creation.

Example:

{
  "createdCount": 1,
  "failedCount": 1,
  "created": [
    {
      "id": 10,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
      "ttnGatewayId": "eui-1b789bc1325a5",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
      "name": "Farm 1 gateway",
      "description": "Greenhouse 1",
      "status": "ACTIVE"
    }
  ],
  "failed": [
    {
      "ttnGatewayId": "eui-1b789bc1325b8",
      "statusReason": "Can't create endpoint for gatewayIntegrationId [303], appVersionName [0cckq4hhhgmc6ivflvag-v1]"
    }
  ]
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 403

User does not have permissions to perform this operation.

HTTP status code 404

Resource not found or querying user is not authorized for it.

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 /account-integrations/{accountIntegrationId}/gateways

Returns all gateway integrations inside account integration. If 'status' parameter not used, then returns only ACTIVE gateway integrations.

Secured by oauth_2_0 with scopes:
  • ttn-gateway-integration:read

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountIntegrationId: required(integer)

    Account integration ID

    Example:

    25

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Query Parameters

  • status: optional (one of ACTIVE, SUSPENDED - default: ACTIVE)

    Gateway integration status.

HTTP status code 200

Gateway integrations are successfully retrieved.

Body

Media type: application/json

Type: object

Properties

  • totalElements: required(integer)

    Total number of elements available for retrieval. Current response may return only a part of all available elements.

  • content: required(array of GatewayIntegrationResponse)

    Items: GatewayIntegrationResponse

    • id: required(integer)

      Gateway integration unique identifier.

    • appVersionName: required(string)

      Kaa platform application version name.

    • gatewayId: required(string)

      The Things Network gateway unique identifier.

    • endpointId: required(string)

      Kaa endpoint unique identifier.

    • name: required(string)

      Gateway integration name.

    • description: optional (string)

      Gateway integration description.

    • status: required(one of ACTIVE, SUSPENDED)

      Gateway integration status.

Example:

{
  "totalElements": 1,
  "content": [
    {
      "id": 10,
      "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
      "ttnGatewayId": "dranginotest",
      "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
      "name": "Moisture monitor 1",
      "description": "",
      "status": "ACTIVE"
    }
  ]
}

HTTP status code 404

Account integration not found or querying user is not authorized for it.

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.

/account-integrations/{accountIntegrationId}/gateways/{gatewayIntegrationId} patch

patch /account-integrations/{accountIntegrationId}/gateways/{gatewayIntegrationId}

Updates gateway integration.

Secured by oauth_2_0 with scopes:
  • ttn-gateway-integration:update

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountIntegrationId: required(integer)

    Account integration ID

    Example:

    25
  • gatewayIntegrationId: required(integer)

    Gateway integration ID

    Example:

    142

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • name: optional (string)

    Gateway integration name.

  • description: optional (string)

    Gateway integration description.

Example:

{
  "name": "Farm 1 gateway",
  "description": "Greenhouse 1"
}

HTTP status code 200

Gateway integration is successfully updated.

Body

Media type: application/json

Type: object

Properties

  • id: required(integer)

    Gateway integration unique identifier.

  • appVersionName: required(string)

    Kaa platform application version name.

  • gatewayId: required(string)

    The Things Network gateway unique identifier.

  • endpointId: required(string)

    Kaa endpoint unique identifier.

  • name: required(string)

    Gateway integration name.

  • description: optional (string)

    Gateway integration description.

  • status: required(one of ACTIVE, SUSPENDED)

    Gateway integration status.

Example:

{
  "id": 102,
  "appVersionName": "0cckq4hhhgmc6ivflvag-v1",
  "ttnGatewayId": "dranginotest",
  "endpointId": "59126304-4970-4f80-91a1-06e9ae2b7476",
  "name": "Moisture monitor 1",
  "description": "",
  "status": "ACTIVE"
}

HTTP status code 400

Invalid request.

Body

Media type: application/json

Type: object

Properties

  • message: required(string)

    Detailed error description.

HTTP status code 404

Gateway integration not found or querying user is not authorized for it.

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.

/account-integrations/{accountIntegrationId}/gateways/{gatewayIntegrationId}/status put

put /account-integrations/{accountIntegrationId}/gateways/{gatewayIntegrationId}/status

Sets the current gateway integration status. For now, allowed status transitions are:

  • Active → Suspended
Secured by oauth_2_0 with scopes:
  • ttn-gateway-integration:delete
  • endpoint:update

TTNC supports OAuth 2.0 for authenticating all API requests.

URI Parameters

  • accountIntegrationId: required(integer)

    Account integration ID

    Example:

    25
  • gatewayIntegrationId: required(integer)

    Gateway integration ID

    Example:

    142

Headers

  • Authorization: required(string)

    Used to send an OAuth 2.0 JWT.

    Example:

    Authorization: bearer {your-access-token}

Body

Media type: application/json

Type: object

Properties

  • status: required(one of Active, Suspended)

    The status of the gateway integration.

    • Active - gateway integration is active
    • Suspended - gateway integration is suspended

Example:

{
  "status": "Suspended"
}

HTTP status code 204

Gateway integration status is successfully updated.

HTTP status code 404

Resource not found or querying user is not authorized for it.

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.

The Things Network

/ttn/applications/{id} post

post /ttn/applications/{id}

Returns TTN application with specified ID if it is accessible with current credentials.

URI Parameters

  • id: required(string)

    TTN application ID

    Example:

    lorawan-smart-farm

Body

Media type: application/json

Type: object

Properties

Example:

{
  "username": "lorawan-smart-farm@ttn",
  "apiKeyId": "EJXRNLCPHQEIUTZLUSVLCAK26HINNSXS.AP4VEXNNY4DGRTOXHBAZ33HFDS67B5LVW.5CHH7RJPLR5WYDIGP7KAABI5EXAMPLE",
  "identityServerHost": "farmtenant.eu1.cloud.thethings.industries"
}

HTTP status code 200

TTN application is successfully retrieved.

Body

Media type: application/json

Type: object

Properties

  • applicationId: required(string)

    The Things Network application unique identifier.

  • createdAt: required(datetime)

    Timestamp in ISO 8601 format (UTC timezone) showing when the application was created.

  • updatedAt: required(datetime)

    Timestamp in ISO 8601 format (UTC timezone) showing when the application was updated.

  • name: required(string)

    The Things Network application name.

  • description: optional (string)

    The Things Network application description.

  • attributes: optional (object)

    The Things Network application attributes. Application attributes consist of multiple key-value pairs <string, string>.

    Example:

    {
      "applicationId": "farm-app-id",
      "createdAt": "2021-12-20T14:07:10.599Z",
      "updatedAt": "2022-02-01T14:00:19.911Z",
      "name": "Farm application",
      "description": "Farm sensors"
    }
    

    HTTP status code 400

    Invalid request.

    Body

    Media type: application/json

    Type: object

    Properties

    • message: required(string)

      Detailed error description.

    /ttn/integrations/{id}/devices get

    get /ttn/integrations/{id}/devices

    Returns all TTN devices available for the current application integration.

    Secured by oauth_2_0 with scopes:
    • ttn-app-integration:read

    TTNC supports OAuth 2.0 for authenticating all API requests.

    URI Parameters

    • id: required(integer)

      Application integration ID

      Example:

      351

    Headers

    • Authorization: required(string)

      Used to send an OAuth 2.0 JWT.

      Example:

      Authorization: bearer {your-access-token}

    HTTP status code 200

    TTN devices are successfully retrieved.

    Body

    Media type: application/json

    Type: array of TtnDeviceResponse

    Items: TtnDeviceResponse

    • deviceId: required(string)

      The Things Network device unique identifier.

    • applicationId: required(string)

      The Things Network application unique identifier.

    • deviceEui: required(string)

      The Things Network device EUI.

    • joinEui: required(string)

      The Things Network join EUI.

    • createdAt: required(datetime)

      Timestamp in ISO 8601 format (UTC timezone) showing when the device was created.

    • updatedAt: required(datetime)

      Timestamp in ISO 8601 format (UTC timezone) showing when the device was updated.

    • name: required(string)

      The Things Network device name.

    • description: optional (string)

      The Things Network device description.

    • attributes: optional (object)

      The Things Network device attributes. Device attributes consist of multiple key-value pairs <string, string>.

      • location: optional (object)

        The Things Network device location.

        • latitude: optional (number)

          The Things Network device latitude.

        • longitude: optional (number)

          The Things Network device longitude.

        • altitude: optional (number)

          The Things Network device altitude.

        • source: optional (string)

          The Things Network device source.

      Example:

      [
        {
          "deviceId":  "eui-70b3d57ed004a3f3",
          "applicationId": "ttn-app-id",
          "deviceEui": "70B3D57ED004A3F3",
          "joinEui": "D004A3F370B3D57E",
          "createdAt": "2021-12-20T14:07:10.599Z",
          "updatedAt": "2022-02-01T14:00:19.911Z",
          "name": "Room",
          "description": "Room temperature sensor",
          "attributes": {
            "alarm": "on"
          },
          "location": {
            "latitude": 51.49426750477876,
            "longitude": 31.29522889852524,
            "altitude": 20.0,
            "source": "SOURCE_REGISTRY"
          }
        },
        {
          "deviceId":  "eui-70b3d57ed004a3f5",
          "applicationId": "ttn-app-id",
          "deviceEui": "70B3D57ED004A3F5",
          "joinEui": "D004A3F370B3D57E",
          "createdAt": "2021-12-20T14:07:10.599Z",
          "updatedAt": "2022-02-01T14:00:19.911Z",
          "name": "Kitchen"
        }
      ]
      

      HTTP status code 400

      Invalid request.

      Body

      Media type: application/json

      Type: object

      Properties

      • message: required(string)

        Detailed error description.

      HTTP status code 404

      Resource not found or querying user is not authorized for it.

      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.

      /ttn/account-integrations/{id}/gateways get

      get /ttn/account-integrations/{id}/gateways

      Returns all TTN gateways available for the current gateway integration.

      Secured by oauth_2_0 with scopes:
      • ttn-account-integration:read

      TTNC supports OAuth 2.0 for authenticating all API requests.

      URI Parameters

      • id: required(integer)

        Account integration ID

        Example:

        25

      Headers

      • Authorization: required(string)

        Used to send an OAuth 2.0 JWT.

        Example:

        Authorization: bearer {your-access-token}

      HTTP status code 200

      TTN gateways are successfully retrieved.

      Body

      Media type: application/json

      Type: array of TtnGatewaysResponse

      Items: TtnGatewaysResponse

      • gatewayId: required(string)

        The Things Network gateway unique identifier.

      • gatewayEui: required(string)

        Gateway EUI (Extended Unique Identifier).

      • createdAt: required(datetime)

        Timestamp in ISO 8601 format (UTC timezone) showing when the gateway was created.

      • updatedAt: required(datetime)

        Timestamp in ISO 8601 format (UTC timezone) showing when the gateway was updated.

      Example:

      [
        {
          "gatewayId":  "dranginotest",
          "gatewayEui": "A8FF241DCFF1AC40",
          "created_at": "2022-04-27T15:14:37.254Z",
          "updated_at": "2023-01-17T09:06:26.106581Z"
        },
        {
          "gatewayId":  "eui-70b3d57ed004a3f3",
          "gatewayEui": "70B3D57ED004A3F3",
          "created_at": "2022-09-14T11:58:59.959263Z",
          "updated_at": "2022-10-17T10:48:07.862799Z"
        }
      ]
      

      HTTP status code 400

      Invalid request.

      Body

      Media type: application/json

      Type: object

      Properties

      • message: required(string)

        Detailed error description.

      HTTP status code 404

      Resource not found or querying user is not authorized for it.

      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.

      /ttn/verification post

      post /ttn/verification

      Verify input credentials.

      Body

      Media type: application/json

      Type: object

      Properties

      • username: required(string)

        The Things Network username.

      • apiKeyId: required(string)

        The Things Network application API key.

      • plainMqttServerUrl: required(string)

        The Things Network Plain MQTT Server URL.

      Example:

      {
        "username": "lorawan-smart-farm@ttn",
        "apiKeyId": "EJXRNLCPHQEIUTZLUSVLCAK26HINNSXS.AP4VEXNNY4DGRTOXHBAZ33HFDS67B5LVW.5CHH7RJPLR5WYDIGP7KAABI5EXAMPLE",
        "plainMqttServerUrl": "eu1.cloud.thethings.network:1883"
      }
      

      HTTP status code 200

      Credencials are successfully verified.

      HTTP status code 400

      Invalid request.

      Body

      Media type: application/json

      Type: object

      Properties

      • message: required(string)

        Detailed error description.