openapi: 3.2.0 info: description: "KPN’s Low Power Long Range (LoRa) network service compliments existing 2G, 3G, 4G and LTE-M networks. It is based on the LoRaWAN protocol for Internet of Things (IoT). \n### Key highlights\n- **Sandbox:** Full-fledged capabilities.\n- **Security:** HTTPS, OAuth, Rate limiting.\n- **Versioning:** Supports version-less API, version tight. If no version is provided (in the header) it defaults to latest version. \n\n ---\n\n## [Source view](https://app.swaggerhub.com/apis/kpn/lora-device-management-kpn/)
[Documentation view](https://app.swaggerhub.com/apis-docs/kpn/lora-device-management-kpn/)\n---\n## [KPN Developer](https://developer.kpn.com/)
[Getting Started](https://developer.kpn.com/getting-started)\n---" version: v1.2 title: LoRa Device Management - KPN Alarm API contact: name: API Support email: api_developer@kpn.com url: https://developer.kpn.com/support termsOfService: https://developer.kpn.com/legal servers: - url: https://api-prd.kpn.com/data/lora/thingpark tags: - name: Alarm description: Alarm operations provide the ability to retrieve and acknowledge ThingPark device and base station alarms. paths: /deviceAlarms: get: tags: - Alarm summary: Retrieves device alarms description: Retrieves a list of device alarms existing within authorized scopes. operationId: Devicealarmsretrieval security: - oauth2: [] parameters: - $ref: '#/components/parameters/api_version' - name: deviceEUI in: query description: EUI of the device to search alarms for. style: form explode: true schema: type: string - name: pageIndex in: query description: If set, enables pagination and returns only the 100 device alarms of the specified page. First available page index is 1. Note that device alarm pagination is only supported in case of a SUBSCRIBER scope AND if a deviceEUI is specified. style: form explode: true schema: type: integer format: int32 responses: 200: description: Device alarms retrieved successfully. headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/DeviceAlarm' description: Device alarms retrieved successfully. example: - x-regga-type: sniplet id: devicealarm-getall-as-subscriber title: Device alarms retrieval example with a SUBSCRIBER scope requestSniplet: headers: Authorization: Bearer data: '[ { "ref": "57e928bd0cf24491ef03cde5", "alarmState": "CLEARED", "occurrence": 63, "acked": true, "creationTime": "2016-09-26T13:55:09.617+00:00", "lastUpdateTime": "2017-03-08T11:20:11.692+00:00", "lastAckTime": "2016-11-23T16:32:35.996+00:00", "additionalInfo1": "33%", "ackAuthor": "Janet Blink", "deviceRef": "209", "deviceAlarmTypeId": 1 }, { "ref": "578ffe0b0cf24491ee9b0257", "alarmState": "MAJOR", "occurrence": 100, "creationTime": "2016-07-20T22:41:15.828+00:00", "lastUpdateTime": "2016-08-16T00:55:11.758+00:00", "additionalInfo1": "SF12", "additionalInfo2": "SF7", "additionalInfo3": "7.250000dB", "additionalInfo4": "-7.500000dB", "deviceRef": "239", "deviceAlarmTypeId": 6 } ]' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/error' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/error' 403: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/error' 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/error' 429: description: Too many requests content: application/json: schema: $ref: '#/components/schemas/error' 500: description: Server error content: application/json: schema: $ref: '#/components/schemas/error' deprecated: false /deviceAlarms/{deviceAlarmRef}: get: tags: - Alarm summary: Retrieves specific device alarm description: Retrieves the device alarm corresponding to the provided device alarm ref, if that device alarm is within authorized scopes. operationId: Devicealarmretrieval security: - oauth2: [] parameters: - $ref: '#/components/parameters/api_version' - name: deviceAlarmRef in: path description: Ref of the device alarm to retrieve. required: true style: simple schema: type: string responses: 200: description: Device alarm retrieved successfully. headers: {} content: application/json: schema: $ref: '#/components/schemas/DeviceAlarm' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/error' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/error' 403: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/error' 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/error' 429: description: Too many requests content: application/json: schema: $ref: '#/components/schemas/error' 500: description: Server error content: application/json: schema: $ref: '#/components/schemas/error' deprecated: false /deviceAlarms/{deviceAlarmRef}/acks: post: tags: - Alarm summary: Acknowledges device alarm description: Acknowledges a device alarm. operationId: Devicealarmacknowledgement security: - oauth2: [] parameters: - $ref: '#/components/parameters/api_version' - name: deviceAlarmRef in: path description: Ref of the device alarm to acknowledge. required: true style: simple schema: type: string responses: 201: description: Device alarm acknowledged successfully. headers: {} deprecated: false components: schemas: AlarmState: title: AlarmState enum: - CLEARED - UNCLEARED - WARNING - MINOR - MAJOR - CRITICAL type: string description: State of the alarm. Possible values are, by ascending order of criticity, 'CLEARED', 'UNCLEARED', 'WARNING', 'MINOR', 'MAJOR' and 'CRITICAL'. DeviceAlarm: title: DeviceAlarm type: object properties: ref: type: string description: Ref of the alarm. alarmState: $ref: '#/components/schemas/AlarmState' occurrence: type: integer description: Number of occurrences of the alarm. format: int32 acked: type: boolean description: Indicates if the alarm has been acknowledged. creationTime: type: string description: ISO 8601 time of the alarm creation. lastUpdateTime: type: string description: ISO 8601 time of the last alarm update. lastAckTime: type: string description: ISO 8601 time of the last alarm acknowledgement. additionalInfo1: type: string description: First additional information related to the alarm creation. additionalInfo2: type: string description: Second additional information related to the alarm creation. additionalInfo3: type: string description: Third additional information related to the alarm creation. additionalInfo4: type: string description: Fourth additional information related to the alarm creation. additionalInfo5: type: string description: Fifth additional information related to the alarm creation. ackAuthor: type: string description: Author of the alarm acknowledgement. deviceRef: type: string description: Ref of the device related to the alarm. deviceAlarmTypeId: type: integer description: Id of the device alarm type. Refer to the list of ThingPark device alarm types to get the corresponding label. format: int32 deviceAlarmObjectId: type: string description: Id of the device alarm object. Refer to the list of ThingPark device alarm objects to get the corresponding label. description: Resource representing a device alarm. error: type: object properties: transactionId: type: string description: Transaction id of the the request title: Transaction ID status: type: string description: Status title: Status name: type: string description: Error name title: Error name message: type: string description: Error message title: Error message info: type: string description: Additional information about error title: Info parameters: api_version: in: header name: api-version schema: type: string description: API Version. If no version is provided it defaults to latest version. required: false securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api-prd.kpn.com/oauth/client_credential/accesstoken?grant_type=client_credentials scopes: {} externalDocs: description: HTTP response headers url: https://developer.kpn.com/documentation-response-headers