From af639506cdf00eac6618a83cc857da48bf9c3700 Mon Sep 17 00:00:00 2001 From: Michel Roy Date: Sat, 24 Oct 2020 11:13:35 -0400 Subject: [PATCH 1/5] added v2.1.1 draft version --- LocationAPI.json | 6192 ++++++++++++----- LocationAPI.split.yaml | 50 - LocationAPI.yaml | 4410 +++++++++--- README.md | 7 +- definitions/AccessPointId.yaml | 3 - definitions/AccessPointInfo.yaml | 25 - definitions/AccessPointList.yaml | 15 - definitions/Address.yaml | 4 - definitions/AncillaryInfo.yaml | 2 - definitions/CallbackData.yaml | 3 - definitions/CallbackReference.yaml | 7 - definitions/ClientCorrelator.yaml | 3 - definitions/ConnectionType.yaml | 14 - definitions/ContextLocationInfo.yaml | 3 - definitions/CurrentAccessPointId.yaml | 3 - definitions/Duration.yaml | 3 - definitions/InterestRealm.yaml | 3 - definitions/Link.yaml | 14 - definitions/LocationInfo.yaml | 23 - definitions/NotifyURL.yaml | 4 - definitions/NumberOfAccessPoints.yaml | 4 - .../NumberOfUnserviceableAccessPoints.yaml | 4 - definitions/NumberOfUsers.yaml | 4 - definitions/NumberOfUsersAPThreshold.yaml | 4 - definitions/NumberOfUsersInAP.yaml | 4 - definitions/NumberOfUsersInZone.yaml | 4 - definitions/NumberOfUsersZoneThreshold.yaml | 4 - definitions/OperationStatus.yaml | 7 - definitions/PreviousAccessPointId.yaml | 3 - definitions/ResourceURL.yaml | 4 - definitions/Timestamp.yaml | 4 - definitions/Timezone.yaml | 4 - definitions/UserEventCriteria.yaml | 4 - definitions/UserEventType.yaml | 7 - definitions/UserInfo.yaml | 22 - definitions/UserList.yaml | 12 - definitions/UserTrackingSubscription.yaml | 16 - definitions/ZonalPresenceNotification.yaml | 31 - definitions/ZonalTrafficSubscription.yaml | 26 - definitions/ZoneId.yaml | 3 - definitions/ZoneInfo.yaml | 19 - definitions/ZoneList.yaml | 12 - definitions/ZoneStatusNotification.yaml | 26 - definitions/ZoneStatusSubscription.yaml | 23 - definitions/index.yaml | 80 - examples/AccessPointInfo.json | 16 - examples/AccessPointList.json | 47 - examples/NotiSubsListUserTrac.json | 24 - examples/NotiSubsListZonaTraf.json | 26 - examples/NotiSubsListZoneStat.json | 26 - examples/UserInfo.json | 15 - examples/UserList.json | 32 - examples/UserTrackingSubscription.json | 11 - examples/ZonalTrafficSubscription.json | 12 - examples/ZoneInfo.json | 9 - examples/ZoneList.json | 20 - examples/ZoneStatusSubscription.json | 12 - externalDocs/index.yaml | 2 - info/index.yaml | 6 - parameters/Body.UserTrackingSubscription.yaml | 6 - parameters/Body.ZonalTrafficSubscription.yaml | 6 - parameters/Body.ZoneStatusSubscription.yaml | 6 - parameters/Path.AccessPointId.yaml | 5 - parameters/Path.SubscriptionId.yaml | 5 - parameters/Path.UserId.yaml | 5 - parameters/Path.ZoneId.yaml | 5 - parameters/Query.AccessPointId.yaml | 6 - parameters/Query.InterestRealm.yaml | 5 - parameters/Query.ZoneId.yaml | 5 - parameters/index.yaml | 20 - paths/SubsUserTrack.yaml | 5 - paths/SubsUserTrackId.yaml | 11 - paths/SubsUserTrackId_Del.yaml | 10 - paths/SubsUserTrackId_Get.yaml | 17 - paths/SubsUserTrackId_Put.yaml | 19 - paths/SubsUserTrack_Get.yaml | 25 - paths/SubsUserTrack_Post.yaml | 19 - paths/SubsZonalTraf.yaml | 5 - paths/SubsZonalTrafId.yaml | 11 - paths/SubsZonalTrafId_Del.yaml | 10 - paths/SubsZonalTrafId_Get.yaml | 17 - paths/SubsZonalTrafId_Put.yaml | 19 - paths/SubsZonalTraf_Get.yaml | 25 - paths/SubsZonalTraf_Post.yaml | 19 - paths/SubsZoneStat.yaml | 5 - paths/SubsZoneStatId.yaml | 11 - paths/SubsZoneStatId_Del.yaml | 10 - paths/SubsZoneStatId_Get.yaml | 17 - paths/SubsZoneStatId_Put.yaml | 19 - paths/SubsZoneStat_Get.yaml | 25 - paths/SubsZoneStat_Post.yaml | 19 - paths/Users.yaml | 2 - paths/UsersId.yaml | 4 - paths/UsersId_Get.yaml | 17 - paths/Users_Get.yaml | 20 - paths/Zones.yaml | 2 - paths/ZonesId.yaml | 4 - paths/ZonesIdAps.yaml | 4 - paths/ZonesIdApsId.yaml | 5 - paths/ZonesIdApsId_Get.yaml | 17 - paths/ZonesIdAps_Get.yaml | 19 - paths/ZonesId_Get.yaml | 17 - paths/Zones_Get.yaml | 16 - paths/index.yaml | 35 - tags/index.yaml | 3 - 105 files changed, 7848 insertions(+), 4086 deletions(-) delete mode 100644 LocationAPI.split.yaml delete mode 100644 definitions/AccessPointId.yaml delete mode 100644 definitions/AccessPointInfo.yaml delete mode 100644 definitions/AccessPointList.yaml delete mode 100644 definitions/Address.yaml delete mode 100644 definitions/AncillaryInfo.yaml delete mode 100644 definitions/CallbackData.yaml delete mode 100644 definitions/CallbackReference.yaml delete mode 100644 definitions/ClientCorrelator.yaml delete mode 100644 definitions/ConnectionType.yaml delete mode 100644 definitions/ContextLocationInfo.yaml delete mode 100644 definitions/CurrentAccessPointId.yaml delete mode 100644 definitions/Duration.yaml delete mode 100644 definitions/InterestRealm.yaml delete mode 100644 definitions/Link.yaml delete mode 100644 definitions/LocationInfo.yaml delete mode 100644 definitions/NotifyURL.yaml delete mode 100644 definitions/NumberOfAccessPoints.yaml delete mode 100644 definitions/NumberOfUnserviceableAccessPoints.yaml delete mode 100644 definitions/NumberOfUsers.yaml delete mode 100644 definitions/NumberOfUsersAPThreshold.yaml delete mode 100644 definitions/NumberOfUsersInAP.yaml delete mode 100644 definitions/NumberOfUsersInZone.yaml delete mode 100644 definitions/NumberOfUsersZoneThreshold.yaml delete mode 100644 definitions/OperationStatus.yaml delete mode 100644 definitions/PreviousAccessPointId.yaml delete mode 100644 definitions/ResourceURL.yaml delete mode 100644 definitions/Timestamp.yaml delete mode 100644 definitions/Timezone.yaml delete mode 100644 definitions/UserEventCriteria.yaml delete mode 100644 definitions/UserEventType.yaml delete mode 100644 definitions/UserInfo.yaml delete mode 100644 definitions/UserList.yaml delete mode 100644 definitions/UserTrackingSubscription.yaml delete mode 100644 definitions/ZonalPresenceNotification.yaml delete mode 100644 definitions/ZonalTrafficSubscription.yaml delete mode 100644 definitions/ZoneId.yaml delete mode 100644 definitions/ZoneInfo.yaml delete mode 100644 definitions/ZoneList.yaml delete mode 100644 definitions/ZoneStatusNotification.yaml delete mode 100644 definitions/ZoneStatusSubscription.yaml delete mode 100644 definitions/index.yaml delete mode 100644 examples/AccessPointInfo.json delete mode 100644 examples/AccessPointList.json delete mode 100644 examples/NotiSubsListUserTrac.json delete mode 100644 examples/NotiSubsListZonaTraf.json delete mode 100644 examples/NotiSubsListZoneStat.json delete mode 100644 examples/UserInfo.json delete mode 100644 examples/UserList.json delete mode 100644 examples/UserTrackingSubscription.json delete mode 100644 examples/ZonalTrafficSubscription.json delete mode 100644 examples/ZoneInfo.json delete mode 100644 examples/ZoneList.json delete mode 100644 examples/ZoneStatusSubscription.json delete mode 100644 externalDocs/index.yaml delete mode 100644 info/index.yaml delete mode 100644 parameters/Body.UserTrackingSubscription.yaml delete mode 100644 parameters/Body.ZonalTrafficSubscription.yaml delete mode 100644 parameters/Body.ZoneStatusSubscription.yaml delete mode 100644 parameters/Path.AccessPointId.yaml delete mode 100644 parameters/Path.SubscriptionId.yaml delete mode 100644 parameters/Path.UserId.yaml delete mode 100644 parameters/Path.ZoneId.yaml delete mode 100644 parameters/Query.AccessPointId.yaml delete mode 100644 parameters/Query.InterestRealm.yaml delete mode 100644 parameters/Query.ZoneId.yaml delete mode 100644 parameters/index.yaml delete mode 100644 paths/SubsUserTrack.yaml delete mode 100644 paths/SubsUserTrackId.yaml delete mode 100644 paths/SubsUserTrackId_Del.yaml delete mode 100644 paths/SubsUserTrackId_Get.yaml delete mode 100644 paths/SubsUserTrackId_Put.yaml delete mode 100644 paths/SubsUserTrack_Get.yaml delete mode 100644 paths/SubsUserTrack_Post.yaml delete mode 100644 paths/SubsZonalTraf.yaml delete mode 100644 paths/SubsZonalTrafId.yaml delete mode 100644 paths/SubsZonalTrafId_Del.yaml delete mode 100644 paths/SubsZonalTrafId_Get.yaml delete mode 100644 paths/SubsZonalTrafId_Put.yaml delete mode 100644 paths/SubsZonalTraf_Get.yaml delete mode 100644 paths/SubsZonalTraf_Post.yaml delete mode 100644 paths/SubsZoneStat.yaml delete mode 100644 paths/SubsZoneStatId.yaml delete mode 100644 paths/SubsZoneStatId_Del.yaml delete mode 100644 paths/SubsZoneStatId_Get.yaml delete mode 100644 paths/SubsZoneStatId_Put.yaml delete mode 100644 paths/SubsZoneStat_Get.yaml delete mode 100644 paths/SubsZoneStat_Post.yaml delete mode 100644 paths/Users.yaml delete mode 100644 paths/UsersId.yaml delete mode 100644 paths/UsersId_Get.yaml delete mode 100644 paths/Users_Get.yaml delete mode 100644 paths/Zones.yaml delete mode 100644 paths/ZonesId.yaml delete mode 100644 paths/ZonesIdAps.yaml delete mode 100644 paths/ZonesIdApsId.yaml delete mode 100644 paths/ZonesIdApsId_Get.yaml delete mode 100644 paths/ZonesIdAps_Get.yaml delete mode 100644 paths/ZonesId_Get.yaml delete mode 100644 paths/Zones_Get.yaml delete mode 100644 paths/index.yaml delete mode 100644 tags/index.yaml diff --git a/LocationAPI.json b/LocationAPI.json index 349085e..6cc5742 100644 --- a/LocationAPI.json +++ b/LocationAPI.json @@ -1,1641 +1,4551 @@ -{ - "swagger": "2.0", - "info": { - "title": "Location API", - "version": "1.1.1", - "description": "The ETSI MEC ISG MEC012 Location API described using OpenAPI. The API is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence", - "license": { - "name": "BSD-3-Clause", - "url": "https://forge.etsi.org/legal-matters" - } - }, - "externalDocs": { - "description": "ETSI MEC013 V1.1.1 Location Service API", - "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf" - }, - "host": "127.0.0.1:8081", - "basePath": "/exampleAPI/location/v1", - "schemes": [ - "http", - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - { - "name": "zones" - }, - { - "name": "users" - }, - { - "name": "subscriptions" - } - ], - "parameters": { - "Body.UserTrackingSubscription": { - "name": "userTrackingSubscription", - "in": "body", - "description": "User Tracking Subscription", - "required": true, - "schema": { - "$ref": "#/definitions/UserTrackingSubscription" - } - }, - "Body.ZonalTrafficSubscription": { - "name": "zonalTrafficSubscription", - "in": "body", - "description": "Zonal Traffic Subscription", - "required": true, - "schema": { - "$ref": "#/definitions/ZonalTrafficSubscription" - } - }, - "Body.ZoneStatusSubscription": { - "name": "zoneStatusSubscription", - "in": "body", - "description": "Zone Status Subscription", - "required": true, - "schema": { - "$ref": "#/definitions/ZoneStatusSubscription" - } - }, - "Path.AccessPointId": { - "name": "accessPointId", - "in": "path", - "description": "Access Point ID", - "required": true, - "type": "string" - }, - "Path.SubscriptionId": { - "name": "subscriptionId", - "in": "path", - "description": "Subscription ID", - "required": true, - "type": "string" - }, - "Path.UserId": { - "name": "userId", - "in": "path", - "description": "User ID", - "required": true, - "type": "string" - }, - "Path.ZoneId": { - "name": "zoneId", - "in": "path", - "description": "Zone ID", - "required": true, - "type": "string" - }, - "Query.AccessPointId": { - "name": "accessPointId", - "in": "query", - "description": "Identifier of access point, reference \"definitions\" for string format", - "required": false, - "type": "string" - }, - "Query.InterestRealm": { - "name": "interestRealm", - "in": "query", - "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).", - "required": false, - "type": "string" - }, - "Query.ZoneId": { - "name": "zoneId", - "in": "query", - "description": "Zone ID", - "required": true, - "type": "string" - } - }, - "paths": { - "/zones": { - "get": { - "tags": [ - "zones" - ], - "operationId": "zonesGet", - "description": "Used to get a list of identifiers for zones authorized for use by the application.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Successful response to a query regarding the status of a zone", - "schema": { - "properties": { - "zoneList": { - "$ref": "#/definitions/ZoneList" - } - } - }, - "examples": { - "application/json": { - "zoneList": { - "zone": [ - { - "zoneId": "zone01", - "numberOfAccessPoints": "3", - "numberOfUnserviceableAccessPoints": "1", - "numberOfUsers": "10", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01" - }, - { - "zoneId": "zone02", - "numberOfAccessPoints": "12", - "numberOfUnserviceableAccessPoints": "0", - "numberOfUsers": "36", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone02" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/zones" - } - } - } - } - } - } - }, - "/zones/{zoneId}": { - "parameters": [ - { - "$ref": "#/parameters/Path.ZoneId" - } - ], - "get": { - "tags": [ - "zones" - ], - "operationId": "zonesGetById", - "description": "Used to get the status of a zone.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Successful response to a query regarding the status of a zone", - "schema": { - "properties": { - "zoneInfo": { - "$ref": "#/definitions/ZoneInfo" - } - } - }, - "examples": { - "application/json": { - "zoneInfo": { - "zoneId": "zone01", - "numberOfAccessPoints": "3", - "numberOfUnserviceableAccessPoints": "1", - "numberOfUsers": "10", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01" - } - } - } - } - } - } - }, - "/zones/{zoneId}/accessPoints": { - "parameters": [ - { - "$ref": "#/parameters/Path.ZoneId" - } - ], - "get": { - "tags": [ - "zones" - ], - "operationId": "zonesByIdGetAps", - "description": "Access point status can be retrieved for sets of access points matching attribute in the request.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Query.InterestRealm" - } - ], - "responses": { - "200": { - "description": "Successful response to a query a named set of access point status request", - "schema": { - "properties": { - "accessPointList": { - "$ref": "#/definitions/AccessPointList" - } - } - }, - "examples": { - "application/json": { - "accessPointList": { - "zoneId": "zone01", - "accessPoint": [ - { - "accessPointId": "001010000000000000000000000000001", - "locationInfo": { - "latitude": "90.123", - "longitude": "80.123", - "altitude": "10.0", - "accuracy": "0" - }, - "connectionType": "Macro", - "operationStatus": "Serviceable", - "numberOfUsers": "5", - "interestRealm": "LA", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001" - }, - { - "accessPointId": "001010000000000000000000000000010", - "locationInfo": { - "latitude": "91.123", - "longitude": "81.123", - "altitude": "12.0", - "accuracy": "1" - }, - "connectionType": "Macro", - "operationStatus": "Unserviceable", - "numberOfUsers": "0", - "interestRealm": "DC", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002" - }, - { - "accessPointId": "001010000000000000000000000000011", - "locationInfo": { - "latitude": "93.123", - "longitude": "83.123", - "altitude": "16.0", - "accuracy": "3" - }, - "connectionType": "Macro", - "operationStatus": "Serviceable", - "numberOfUsers": "5", - "interestRealm": "NJ", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints" - } - } - } - } - } - } - }, - "/zones/{zoneId}/accessPoints/{accessPointId}": { - "parameters": [ - { - "$ref": "#/parameters/Path.ZoneId" - }, - { - "$ref": "#/parameters/Path.AccessPointId" - } - ], - "get": { - "tags": [ - "zones" - ], - "operationId": "zonesByIdGetApsById", - "description": "Access point status can be retrieved for sets of access points matching attribute in the request.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Successful response to a query a named set of access point status request", - "schema": { - "properties": { - "accessPointInfo": { - "$ref": "#/definitions/AccessPointInfo" - } - } - }, - "examples": { - "application/json": { - "accessPointInfo": { - "accessPointId": "001010000000000000000000000000001", - "locationInfo": { - "latitude": "90.123", - "longitude": "80.123", - "altitude": "10.0", - "accuracy": "0" - }, - "connectionType": "Macro", - "operationStatus": "Serviceable", - "numberOfUsers": "5", - "interestRealm": "LA", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001" - } - } - } - } - } - } - }, - "/users": { - "get": { - "tags": [ - "users" - ], - "operationId": "usersGet", - "description": "Users currently using a zone may be retrieved for sets of access points matching attribute in the request", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Query.ZoneId" - }, - { - "$ref": "#/parameters/Query.AccessPointId" - } - ], - "responses": { - "200": { - "description": "Successful response to a query users within a zone request", - "schema": { - "properties": { - "userList": { - "$ref": "#/definitions/UserList" - } - } - }, - "examples": { - "application/json": { - "userList": { - "user": [ - { - "address": "acr:192.0.2.1", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1" - }, - { - "address": "acr:192.0.2.2", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.2" - }, - { - "address": "acr:192.0.2.3", - "accessPointId": "001010000000000000000000000000010", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.3" - }, - { - "address": "acr:192.0.2.4", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone02", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.4" - }, - { - "address": "acr:192.0.2.5", - "accessPointId": "001010000000000000000000000000010", - "zoneId": "zone02", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.5" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/users" - } - } - } - } - } - } - }, - "/users/{userId}": { - "parameters": [ - { - "$ref": "#/parameters/Path.UserId" - } - ], - "get": { - "tags": [ - "users" - ], - "operationId": "usersGetById", - "description": "Users currently using a zone may be retrieved for sets of access points matching attribute in the request", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Successful response to a query users within a zone request", - "schema": { - "properties": { - "userInfo": { - "$ref": "#/definitions/UserInfo" - } - } - }, - "examples": { - "application/json": { - "userInfo": { - "address": "acr:192.0.2.1", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1", - "locationInfo": { - "latitude": "90.123", - "longitude": "80.123", - "altitude": "10.0", - "accuracy": "0" - }, - "contextLocationInfo": "GroundFloor" - } - } - } - } - } - } - }, - "/subscriptions/zonalTraffic": { - "get": { - "tags": [ - "subscriptions" - ], - "operationId": "zonalTrafficSubGet", - "description": "This operation is used for retrieving all active subscriptions to zonal traffic change notifications.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Response to retrieve zonal traffic subscriptions", - "schema": { - "type": "object", - "properties": { - "notificationSubscriptionList": { - "type": "object", - "properties": { - "zonalTrafficSubscription": { - "type": "array", - "items": { - "$ref": "#/definitions/ZonalTrafficSubscription" - } - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - } - } - }, - "examples": { - "application/json": { - "notificationSubscriptionList": { - "zonalTrafficSubscription": [ - { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - }, - { - "clientCorrelator": "0124", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription124", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123457" - }, - "zoneId": "zone02", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/zonalTraffic" - } - } - } - } - } - }, - "post": { - "tags": [ - "subscriptions" - ], - "operationId": "zonalTrafficSubPost", - "description": "This operation is used for creating a new subscription to zonal traffic change notification.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.ZonalTrafficSubscription" - } - ], - "responses": { - "201": { - "description": "Response to create new zonal traffic subscription", - "schema": { - "properties": { - "zonalTrafficSubscription": { - "$ref": "#/definitions/ZonalTrafficSubscription" - } - } - }, - "examples": { - "application/json": { - "zonalTrafficSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - } - } - } - } - } - } - }, - "/subscriptions/zonalTraffic/{subscriptionId}": { - "parameters": [ - { - "$ref": "#/parameters/Path.SubscriptionId" - } - ], - "get": { - "tags": [ - "subscriptions" - ], - "operationId": "zonalTrafficSubGetById", - "description": "This operation is used for updating an individual subscription to zonal traffic change notification.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Response to retrieve individual zonal traffic subscription", - "schema": { - "properties": { - "zonalTrafficSubscription": { - "$ref": "#/definitions/ZonalTrafficSubscription" - } - } - }, - "examples": { - "application/json": { - "zonalTrafficSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - } - } - } - } - } - }, - "put": { - "tags": [ - "subscriptions" - ], - "operationId": "zonalTrafficSubPutById", - "description": "This operation is used for updating an individual subscription to zonal traffic change notification.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.ZonalTrafficSubscription" - } - ], - "responses": { - "200": { - "description": "Response to update individual zonal traffic subscription", - "schema": { - "properties": { - "zonalTrafficSubscription": { - "$ref": "#/definitions/ZonalTrafficSubscription" - } - } - }, - "examples": { - "application/json": { - "zonalTrafficSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - } - } - } - } - } - }, - "delete": { - "tags": [ - "subscriptions" - ], - "operationId": "zonalTrafficSubDelById", - "description": "This operation is used for cancelling a subscription and stopping corresponding notifications.", - "produces": [ - "application/json" - ], - "responses": { - "204": { - "description": "No content" - } - } - } - }, - "/subscriptions/userTracking": { - "get": { - "tags": [ - "subscriptions" - ], - "operationId": "userTrackingSubGet", - "description": "This operation is used for retrieving all active subscriptions to user tracking change notifications.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Response to retrieve user tracking subscriptions", - "schema": { - "type": "object", - "properties": { - "notificationSubscriptionList": { - "type": "object", - "properties": { - "userTrackingSubscription": { - "type": "array", - "items": { - "$ref": "#/definitions/UserTrackingSubscription" - } - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - } - } - }, - "examples": { - "application/json": { - "notificationSubscriptionList": { - "userTrackingSubscription": [ - { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.1", - "userEventCriteria": "Transferring" - }, - { - "clientCorrelator": "0124", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription124", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.2", - "userEventCriteria": "Transferring" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking" - } - } - } - } - } - }, - "post": { - "tags": [ - "subscriptions" - ], - "operationId": "userTrackingSubPost", - "description": "This operation is used for creating a new subscription to user tracking change notification", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.UserTrackingSubscription" - } - ], - "responses": { - "201": { - "description": "Response to create new user tracking subscription", - "schema": { - "properties": { - "userTrackingSubscription": { - "$ref": "#/definitions/UserTrackingSubscription" - } - } - }, - "examples": { - "application/json": { - "userTrackingSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.1", - "userEventCriteria": "Transferring" - } - } - } - } - } - } - }, - "/subscriptions/userTracking/{subscriptionId}": { - "parameters": [ - { - "$ref": "#/parameters/Path.SubscriptionId" - } - ], - "get": { - "tags": [ - "subscriptions" - ], - "operationId": "userTrackingSubGetById", - "description": "This operation is used for retrieving an individual subscription to user tracking change notification.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Response to retrieve individual user tracking subscription", - "schema": { - "properties": { - "userTrackingSubscription": { - "$ref": "#/definitions/UserTrackingSubscription" - } - } - }, - "examples": { - "application/json": { - "userTrackingSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.1", - "userEventCriteria": "Transferring" - } - } - } - } - } - }, - "put": { - "tags": [ - "subscriptions" - ], - "operationId": "userTrackingSubPutById", - "description": "This operation is used for updating an individual subscription to user tracking change notification.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.UserTrackingSubscription" - } - ], - "responses": { - "200": { - "description": "Response to update individual user tracking subscription", - "schema": { - "properties": { - "userTrackingSubscription": { - "$ref": "#/definitions/UserTrackingSubscription" - } - } - }, - "examples": { - "application/json": { - "userTrackingSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.1", - "userEventCriteria": "Transferring" - } - } - } - } - } - }, - "delete": { - "tags": [ - "subscriptions" - ], - "operationId": "userTrackingSubDelById", - "description": "This operation is used for retrieving an individual subscription to user tracking change notification.", - "produces": [ - "application/json" - ], - "responses": { - "204": { - "description": "No Content" - } - } - } - }, - "/subscriptions/zonalStatus": { - "get": { - "tags": [ - "subscriptions" - ], - "operationId": "zoneStatusGet", - "description": "This operation is used for creating a new subscription to zone status change notification.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Response to retrieve zone status subscriptions", - "schema": { - "type": "object", - "properties": { - "notificationSubscriptionList": { - "type": "object", - "properties": { - "zonalTrafficSubscription": { - "type": "array", - "items": { - "$ref": "#/definitions/ZoneStatusSubscription" - } - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - } - } - }, - "examples": { - "application/json": { - "notificationSubscriptionList": { - "zoneStatusSubscription": [ - { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "numberOfUsersZoneThreshold": "500", - "operationStatus": "Serviceable" - }, - { - "clientCorrelator": "0124", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription124", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123457" - }, - "zoneId": "zone02", - "numberOfUsersAPThreshold": "50", - "operationStatus": "Serviceable" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus" - } - } - } - } - } - }, - "post": { - "tags": [ - "subscriptions" - ], - "operationId": "zoneStatusPost", - "description": "This operation is used for creating a new subscription to zone status change notification.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.ZoneStatusSubscription" - } - ], - "responses": { - "201": { - "description": "Response to create new zone status subscription", - "schema": { - "properties": { - "zonalTrafficSubscription": { - "$ref": "#/definitions/ZoneStatusSubscription" - } - } - }, - "examples": { - "application/json": { - "zoneStatusSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "numberOfUsersZoneThreshold": "500", - "operationStatus": "Serviceable" - } - } - } - } - } - } - }, - "/subscriptions/zoneStatus/{subscriptionId}": { - "parameters": [ - { - "$ref": "#/parameters/Path.SubscriptionId" - } - ], - "get": { - "tags": [ - "subscriptions" - ], - "operationId": "zoneStatusGetById", - "description": "This operation is used for retrieving an individual subscription to zone status change notification.", - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "Response to retrieve individual zone status subscription", - "schema": { - "properties": { - "zoneStatusSubscription": { - "$ref": "#/definitions/ZoneStatusSubscription" - } - } - }, - "examples": { - "application/json": { - "zoneStatusSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "numberOfUsersZoneThreshold": "500", - "operationStatus": "Serviceable" - } - } - } - } - } - }, - "put": { - "tags": [ - "subscriptions" - ], - "operationId": "zoneStatusPutById", - "description": "This operation is used for updating an individual subscription to zone status change notification.", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/Body.ZoneStatusSubscription" - } - ], - "responses": { - "200": { - "description": "Response to update individual zone status subscription", - "schema": { - "properties": { - "zoneStatusSubscription": { - "$ref": "#/definitions/ZoneStatusSubscription" - } - } - }, - "examples": { - "application/json": { - "zoneStatusSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "numberOfUsersZoneThreshold": "500", - "operationStatus": "Serviceable" - } - } - } - } - } - }, - "delete": { - "tags": [ - "subscriptions" - ], - "operationId": "zoneStatusDelById", - "description": "This operation is used for cancelling a subscription and stopping corresponding notifications.", - "produces": [ - "application/json" - ], - "responses": { - "204": { - "description": "No content" - } - } - } - } - }, - "definitions": { - "AccessPointId": { - "description": "Identifier of access point, (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element", - "type": "string", - "example": "001010000000000000000000000000001" - }, - "AccessPointInfo": { - "description": "A type containing access point information.", - "type": "object", - "required": [ - "accessPointId", - "connectionType", - "operationStatus", - "numberOfUsers", - "resourceURL" - ], - "properties": { - "accessPointId": { - "$ref": "#/definitions/AccessPointId" - }, - "locationInfo": { - "$ref": "#/definitions/LocationInfo" - }, - "connectionType": { - "$ref": "#/definitions/ConnectionType" - }, - "operationStatus": { - "$ref": "#/definitions/OperationStatus" - }, - "numberOfUsers": { - "$ref": "#/definitions/NumberOfUsers" - }, - "timezone": { - "$ref": "#/definitions/Timezone" - }, - "interestRealm": { - "$ref": "#/definitions/InterestRealm" - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - }, - "AccessPointList": { - "description": "A type containing list of access points.", - "type": "object", - "required": [ - "zoneId", - "resourceURL" - ], - "properties": { - "zoneId": { - "$ref": "#/definitions/ZoneId" - }, - "accessPoint": { - "description": "Collection of the access point information list.", - "type": "array", - "items": { - "$ref": "#/definitions/AccessPointInfo" - } - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - }, - "Address": { - "description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).", - "type": "string", - "format": "uri", - "example": "acr:192.0.2.1" - }, - "AncillaryInfo": { - "description": "Reserved for future use.", - "type": "string" - }, - "CallbackData": { - "description": "CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common].", - "type": "string", - "example": "1234" - }, - "CallbackReference": { - "description": "Notification callback definition.", - "type": "object", - "required": [ - "notifyURL" - ], - "properties": { - "notifyURL": { - "$ref": "#/definitions/NotifyURL" - } - } - }, - "ClientCorrelator": { - "description": "Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.", - "type": "string", - "example": "0123" - }, - "ConnectionType": { - "description": "The connection type for the access point", - "type": "string", - "enum": [ - "Femto", - "LTE-femto", - "Smallcell", - "LTE-smallcell", - "Wifi", - "Pico", - "Micro", - "Macro", - "Wimax", - "Unknown" - ], - "example": "Macro" - }, - "ContextLocationInfo": { - "description": "Contextual information of a user location (e.g., aisle, floor, room number, etc.)", - "type": "string", - "example": "GroundFloor" - }, - "CurrentAccessPointId": { - "description": "Zone ID", - "type": "string", - "example": "zone01" - }, - "Duration": { - "description": "Period (in seconds) of time notifications are provided for. If set to \"0\" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.", - "type": "string", - "example": "0" - }, - "InterestRealm": { - "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).", - "type": "string", - "example": "LA" - }, - "Link": { - "description": "Link to other resources", - "type": "object", - "required": [ - "rel", - "href" - ], - "properties": { - "rel": { - "description": "Describes the relationship between the URI and the resource.", - "type": "object", - "format": "string" - }, - "href": { - "description": "URI", - "type": "object", - "format": "anyURI" - } - } - }, - "LocationInfo": { - "description": "A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.", - "type": "object", - "required": [ - "latitude", - "longitude", - "accuracy" - ], - "properties": { - "latitude": { - "type": "number", - "format": "float", - "example": "80.123" - }, - "longitude": { - "type": "number", - "format": "float", - "example": "70.123" - }, - "altitude": { - "type": "number", - "format": "float", - "example": "10.0" - }, - "accuracy": { - "type": "integer", - "format": "int32", - "example": "10" - } - } - }, - "NotifyURL": { - "description": "The URL of your own listener application.", - "type": "string", - "format": "url", - "example": "http://clientApp.example.com/location_notifications/123456" - }, - "NumberOfAccessPoints": { - "description": "The number of access points within the zone", - "type": "integer", - "format": "uint32", - "example": "10" - }, - "NumberOfUnserviceableAccessPoints": { - "description": "Number of inoperable access points within the zone.", - "type": "integer", - "format": "uint32", - "example": "9" - }, - "NumberOfUsers": { - "description": "The number of users currently on the access point.", - "type": "integer", - "format": "uint32", - "example": "7" - }, - "NumberOfUsersAPThreshold": { - "description": "Threshold number of users in an access point which if crossed shall cause a notification.", - "type": "integer", - "format": "uint32", - "example": "20" - }, - "NumberOfUsersInAP": { - "description": "This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription.", - "type": "integer", - "format": "uint32", - "example": "12" - }, - "NumberOfUsersInZone": { - "description": "This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription.", - "type": "integer", - "format": "uint32", - "example": "20" - }, - "NumberOfUsersZoneThreshold": { - "description": "Threshold number of users in a zone which if crossed shall cause a notification.", - "type": "integer", - "format": "uint32", - "example": "40" - }, - "OperationStatus": { - "description": "The operation status of the access point", - "type": "string", - "enum": [ - "Serviceable", - "Unserviceable", - "Unknown" - ], - "example": "Serviceable" - }, - "PreviousAccessPointId": { - "description": "Zone ID", - "type": "string", - "example": "zone02" - }, - "ResourceURL": { - "description": "Self referring URL.", - "type": "string", - "format": "uri", - "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" - }, - "Timestamp": { - "description": "Indicates the time of day for zonal presence notification.", - "type": "string", - "format": "date-time", - "example": "2017-01-01T02:51:43Z" - }, - "Timezone": { - "description": "Time zone of access point", - "type": "string", - "format": "date-time", - "example": "2017-01-01T02:51:43Z" - }, - "UserEventCriteria": { - "description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.", - "type": "array", - "items": { - "$ref": "#/definitions/UserEventType" - } - }, - "UserEventType": { - "description": "User event", - "type": "string", - "enum": [ - "Entering", - "Leaving", - "Transferring" - ], - "example": "Entering" - }, - "UserInfo": { - "description": "A type containing user information.", - "type": "object", - "required": [ - "address", - "accessPointId", - "zoneId", - "resourceURL" - ], - "properties": { - "address": { - "$ref": "#/definitions/Address" - }, - "accessPointId": { - "$ref": "#/definitions/AccessPointId" - }, - "zoneId": { - "$ref": "#/definitions/ZoneId" - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - }, - "locationInfo": { - "$ref": "#/definitions/LocationInfo" - }, - "contextLocationInfo": { - "$ref": "#/definitions/ContextLocationInfo" - }, - "ancillaryInfo": { - "$ref": "#/definitions/AncillaryInfo" - } - } - }, - "UserList": { - "description": "A type containing list of users.", - "type": "object", - "required": [ - "resourceURL" - ], - "properties": { - "user": { - "description": "Collection of the zone information list.", - "type": "array", - "items": { - "$ref": "#/definitions/UserInfo" - } - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - }, - "UserTrackingSubscription": { - "description": "A type containing user tracking subscription.", - "type": "object", - "required": [ - "callbackReference", - "address" - ], - "properties": { - "clientCorrelator": { - "$ref": "#/definitions/ClientCorrelator" - }, - "callbackReference": { - "$ref": "#/definitions/CallbackReference" - }, - "address": { - "$ref": "#/definitions/Address" - }, - "userEventCriteria": { - "$ref": "#/definitions/UserEventCriteria" - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - }, - "ZonalPresenceNotification": { - "description": "A type containing zonal presence notification", - "type": "object", - "required": [ - "zoneId", - "address", - "userEventType", - "currentAccessPointId", - "timestamp" - ], - "properties": { - "callbackData": { - "$ref": "#/definitions/CallbackData" - }, - "zoneId": { - "$ref": "#/definitions/ZoneId" - }, - "address": { - "$ref": "#/definitions/Address" - }, - "interestRealm": { - "$ref": "#/definitions/InterestRealm" - }, - "userEventType": { - "$ref": "#/definitions/UserEventType" - }, - "currentAccessPointId": { - "$ref": "#/definitions/CurrentAccessPointId" - }, - "previousAccessPointId": { - "$ref": "#/definitions/PreviousAccessPointId" - }, - "timestamp": { - "$ref": "#/definitions/Timestamp" - }, - "link": { - "description": "Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification.", - "type": "array", - "items": { - "$ref": "#/definitions/Link" - }, - "example": "rel=\"ZonalTrafficSubscription\" href=\"http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/sub123\"/" - } - } - }, - "ZonalTrafficSubscription": { - "description": "A type containing zonal traffic subscription", - "type": "object", - "required": [ - "callbackReference", - "zoneId" - ], - "properties": { - "clientCorrelator": { - "$ref": "#/definitions/ClientCorrelator" - }, - "callbackReference": { - "$ref": "#/definitions/CallbackReference" - }, - "zoneId": { - "$ref": "#/definitions/ZoneId" - }, - "interestRealm": { - "description": "Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).", - "type": "array", - "items": { - "$ref": "#/definitions/InterestRealm" - } - }, - "userEventCriteria": { - "description": "List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.", - "type": "array", - "items": { - "$ref": "#/definitions/UserEventType" - } - }, - "duration": { - "$ref": "#/definitions/Duration" - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - }, - "ZoneId": { - "description": "Identifier of zone", - "type": "string", - "example": "zone01" - }, - "ZoneInfo": { - "description": "A type containing zone information.", - "type": "object", - "required": [ - "zoneId", - "numberOfAccessPoints", - "numberOfUnservicableAccessPoints", - "numberOfUsers", - "resourceURL" - ], - "properties": { - "zoneId": { - "$ref": "#/definitions/ZoneId" - }, - "numberOfAccessPoints": { - "$ref": "#/definitions/NumberOfAccessPoints" - }, - "numberOfUnservicableAccessPoints": { - "$ref": "#/definitions/NumberOfUnserviceableAccessPoints" - }, - "numberOfUsers": { - "$ref": "#/definitions/NumberOfUsers" - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - }, - "ZoneList": { - "description": "Collection of the zone information list.", - "type": "object", - "required": [ - "resourceURL" - ], - "properties": { - "zone": { - "description": "Collection of the zone information list.", - "type": "array", - "items": { - "$ref": "#/definitions/ZoneInfo" - } - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - } - } - }, - "ZoneStatusNotification": { - "description": "A type containing zone status notification.", - "type": "object", - "required": [ - "zoneId", - "timestamp" - ], - "properties": { - "callbackData": { - "$ref": "#/definitions/CallbackData" - }, - "zoneId": { - "$ref": "#/definitions/ZoneId" - }, - "accessPointId": { - "$ref": "#/definitions/AccessPointId" - }, - "numberOfUsersInZone": { - "$ref": "#/definitions/NumberOfUsersInZone" - }, - "numberOfUsersInAP": { - "$ref": "#/definitions/NumberOfUsersInAP" - }, - "operationStatus": { - "$ref": "#/definitions/OperationStatus" - }, - "timestamp": { - "$ref": "#/definitions/Timestamp" - }, - "link": { - "description": "Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification.", - "type": "array", - "items": { - "$ref": "#/definitions/Link" - }, - "example": "rel=\"ZonalStatusSubscription\" href=\"http://example.com/exampleAPI/location/v1/subscriptions/zonalStatus/sub123\"" - } - } - }, - "ZoneStatusSubscription": { - "description": "A type containing zone status subscription.", - "type": "object", - "required": [ - "callbackReference", - "zoneId" - ], - "properties": { - "clientCorrelator": { - "$ref": "#/definitions/ClientCorrelator" - }, - "resourceURL": { - "$ref": "#/definitions/ResourceURL" - }, - "callbackReference": { - "$ref": "#/definitions/CallbackReference" - }, - "zoneId": { - "$ref": "#/definitions/ZoneId" - }, - "numberOfUsersZoneThreshold": { - "$ref": "#/definitions/NumberOfUsersZoneThreshold" - }, - "numberOfUsersAPThreshold": { - "$ref": "#/definitions/NumberOfUsersAPThreshold" - }, - "operationStatus": { - "description": "List of operation status values to generate notifications for (these apply to all access points within a zone).", - "type": "array", - "items": { - "$ref": "#/definitions/OperationStatus" - } - } - } - } - } -} +{ + "openapi": "3.0.0", + "info": { + "title": "ETSI GS MEC 013 - Location API", + "version": "2.1.1", + "description": "The ETSI MEC ISG MEC013 WLAN Access Information API described using OpenAPI.", + "license": { + "name": "BSD-3-Clause", + "url": "https://forge.etsi.org/legal-matters" + } + }, + "externalDocs": { + "description": "ETSI MEC013 V2.1.1 Location API", + "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/02.01.01_60/gs_mec013v020101p.pdf" + }, + "servers": [ + { + "url": "https://{apiRoot}/location/v2/" + } + ], + "paths": { + "/queries/distance": { + "get": { + "tags": [ + "" + ], + "summary": "UE Distance Lookup of a specific UE", + "description": "UE Distance Lookup between terminals or a terminal and a location", + "operationId": "distanceGET", + "parameters": [ + { + "$ref": "#/components/parameters/Query.Requester" + }, + { + "$ref": "#/components/parameters/Query.AddressMandatory" + }, + { + "$ref": "#/components/parameters/Query.Latitude" + }, + { + "$ref": "#/components/parameters/Query.Longitude" + } + ], + "responses": { + "200": { + "description": "Successful response to a distance request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "terminalDistance": { + "$ref": "#/components/schemas/TerminalDistance" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "queries" + } + }, + "/queries/users": { + "get": { + "tags": [ + "" + ], + "summary": "UE Location Lookup of a specific UE or group of UEs", + "description": "UE Location Lookup of a specific UE or group of UEs", + "operationId": "usersGET", + "parameters": [ + { + "$ref": "#/components/parameters/Query.ZoneId" + }, + { + "$ref": "#/components/parameters/Query.AccessPointId" + }, + { + "$ref": "#/components/parameters/Query.Address" + } + ], + "responses": { + "200": { + "description": "Successful response to users request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userList": { + "$ref": "#/components/schemas/UserList" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "queries" + } + }, + "/queries/zones": { + "get": { + "tags": [ + "" + ], + "summary": "Zones information Lookup", + "description": "Used to get a list of identifiers for zones authorized for use by the application.", + "operationId": "zonesGET", + "responses": { + "200": { + "description": "Successful response to zones request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zoneList": { + "$ref": "#/components/schemas/ZoneList" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "queries" + } + }, + "/queries/zones/{zoneId}": { + "get": { + "tags": [ + "" + ], + "summary": "Zones information Lookup", + "description": "Used to get the information for an authorized zone for use by the application.", + "operationId": "zonesGetById", + "parameters": [ + { + "$ref": "#/components/parameters/Path.ZoneId" + } + ], + "responses": { + "200": { + "description": "Successful response to an access point Id request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zoneInfo": { + "$ref": "#/components/schemas/ZoneInfo" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "queries" + } + }, + "/queries/zones/{zoneId}/accessPoints": { + "get": { + "tags": [ + "" + ], + "summary": "Radio Node Location Lookup", + "description": "Radio Node Location Lookup to retrieve a list of radio nodes associated to a zone.", + "operationId": "apGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.ZoneId" + }, + { + "$ref": "#/components/parameters/Query.InterestRealm" + } + ], + "responses": { + "200": { + "description": "Successful response to an access point Id request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "accessPointList": { + "$ref": "#/components/schemas/AccessPointList" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "queries" + } + }, + "/queries/zones/{zoneId}/accessPoints/{accessPointId}": { + "get": { + "tags": [ + "" + ], + "summary": "Radio Node Location Lookup", + "description": "Radio Node Location Lookup to retrieve a radio node associated to a zone.", + "operationId": "apByIdGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.ZoneId" + }, + { + "$ref": "#/components/parameters/Path.AccessPointId" + } + ], + "responses": { + "200": { + "description": "Successful response to an access point Id request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "accessPointInfo": { + "$ref": "#/components/schemas/AccessPointInfo" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "queries" + } + }, + "/subscriptions/area/circle": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieves all active subscriptions to area change notifications", + "description": "This operation is used for retrieving all active subscriptions to area change notifications.", + "operationId": "areaCircleSubListGET", + "responses": { + "200": { + "description": "Response to retrieve area subscriptions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "notificationSubscriptionList" + ], + "properties": { + "notificationSubscriptionList": { + "$ref": "#/components/schemas/NotificationSubscriptionList" + } + }, + "example": { + "notificationSubscriptionList": { + "circleNotificationSubscription": [ + { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "checkImmediate": true, + "enteringLeavingCriteria": "Entering", + "frequency": 10, + "latitude": -80.88, + "longitude": 41.277, + "radius": 500, + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123" + } + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "" + ], + "summary": "Creates a subscription for area change notification", + "description": "Creates a subscription to the Location Service for an area change notification.", + "operationId": "areaCircleSubPOST", + "requestBody": { + "description": "Subscription to be created", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "circleNotificationSubscription": { + "$ref": "#/components/schemas/CircleNotificationSubscription" + } + }, + "example": { + "circleNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "checkImmediate": true, + "enteringLeavingCriteria": "Entering", + "frequency": 10, + "latitude": -80.88, + "longitude": 41.277, + "radius": 500, + "trackingAccuracy": 10 + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successful subscription", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "circleNotificationSubscription": { + "$ref": "#/components/schemas/CircleNotificationSubscription" + } + }, + "example": { + "circleNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "checkImmediate": true, + "enteringLeavingCriteria": "Entering", + "frequency": 10, + "latitude": -80.88, + "longitude": 41.277, + "radius": 500, + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "callbacks": { + "notification": { + "{$request.body#/circleNotificationSubscription.callbackReference.notifyURL}": { + "post": { + "requestBody": { + "description": "Subscription notification", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "subscriptionNotification": { + "$ref": "#/components/schemas/SubscriptionNotification" + } + }, + "example": { + "subscriptionNotification": { + "enteringLeavingCriteria": "Entering", + "isFinalNotification": "false,", + "link": { + "rel": "CircleNotificationSubscription", + "href": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/sub123" + }, + "terminalLocation": { + "address": "acr:10.0.0.1", + "currentLocation": { + "accuracy": 100, + "altitude": 1001, + "latitude": -80.86302, + "longitude": 41.277306, + "timestamp": { + "seconds": 1483231138, + "nanoSeconds\"": 0 + } + }, + "locationRetrievalStatus": "Retrieved" + } + } + } + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/204" + } + } + } + } + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/area/circle/{subscriptionId}": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieve subscription information", + "description": "Get subscription information.", + "operationId": "areaCircleSubGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Subscription information regarding subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "circleNotificationSubscription" + ], + "properties": { + "circleNotificationSubscription": { + "$ref": "#/components/schemas/CircleNotificationSubscription" + } + }, + "example": { + "circleNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "checkImmediate": true, + "enteringLeavingCriteria": "Entering", + "frequency": 10, + "latitude": -80.88, + "longitude": 41.277, + "radius": 500, + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "put": { + "tags": [ + "" + ], + "summary": "Updates a subscription information", + "description": "Updates a subscription.", + "operationId": "areaCircleSubPUT", + "requestBody": { + "description": "Subscription to be modified", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "circleNotificationSubscription": { + "$ref": "#/components/schemas/CircleNotificationSubscription" + } + }, + "example": { + "circleNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "checkImmediate": true, + "enteringLeavingCriteria": "Entering", + "frequency": 10, + "latitude": -80.88, + "longitude": 41.277, + "radius": 500, + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123" + } + } + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Successful subscription to response to subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "circleNotificationSubscription": { + "$ref": "#/components/schemas/CircleNotificationSubscription" + } + }, + "example": { + "circleNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "checkImmediate": true, + "enteringLeavingCriteria": "Entering", + "frequency": 10, + "latitude": -80.88, + "longitude": 41.277, + "radius": 500, + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "412": { + "$ref": "#/components/responses/412" + }, + "422": { + "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "delete": { + "tags": [ + "" + ], + "summary": "Cancel a subscription", + "description": "Method to delete a subscription.", + "operationId": "areaCircleSubDELETE", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/204" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/distance": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieves all active subscriptions to distance change notifications", + "description": "This operation is used for retrieving all active subscriptions to a distance change notifications.", + "operationId": "distanceSubListGET", + "responses": { + "200": { + "description": "Response to retrieve area subscriptions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "notificationSubscriptionList" + ], + "properties": { + "notificationSubscriptionList": { + "$ref": "#/components/schemas/NotificationSubscriptionList" + } + }, + "example": { + "notificationSubscriptionList": { + "distanceNotificationSubscription": [ + { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "monitoredAddress": [ + "acr:10.0.0.1", + "acr:10.0.0.2" + ], + "checkImmediate": true, + "criteria": "AllWithinDistance", + "distance": 100, + "frequency": 10, + "referenceAddress": "acr:10.0.0.3", + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/sub123" + } + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "" + ], + "summary": "Creates a subscription for distance change notification", + "description": "Creates a subscription to the Location Service for a distance change notification.", + "operationId": "distanceSubPOST", + "requestBody": { + "description": "Subscription to be created", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "distanceNotificationSubscription": { + "$ref": "#/components/schemas/DistanceNotificationSubscription" + } + }, + "example": { + "distanceNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "monitoredAddress": [ + "acr:10.0.0.1", + "acr:10.0.0.2" + ], + "checkImmediate": true, + "criteria": "AllWithinDistance", + "distance": 100, + "frequency": 10, + "referenceAddress": "acr:10.0.0.3", + "trackingAccuracy": 10 + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successful subscription", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "distanceNotificationSubscription": { + "$ref": "#/components/schemas/DistanceNotificationSubscription" + } + }, + "example": { + "distanceNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "monitoredAddress": [ + "acr:10.0.0.1", + "acr:10.0.0.2" + ], + "checkImmediate": true, + "criteria": "AllWithinDistance", + "distance": 100, + "frequency": 10, + "referenceAddress": "acr:10.0.0.3", + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "callbacks": { + "notification": { + "{$request.body#/distanceNotificationSubscription.callbackReference.notifyURL}": { + "post": { + "requestBody": { + "description": "Subscription notification", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "subscriptionNotification": { + "$ref": "#/components/schemas/SubscriptionNotification" + } + }, + "example": { + "subscriptionNotification": { + "distanceCriteria": "AllWithinDistance", + "isFinalNotification": "false,", + "link": { + "rel": "DistanceNotificationSubscription", + "href": "http://meAppServer.example.com/location/v2/subscriptions/distance/sub123" + }, + "terminalLocation": [ + { + "address": "acr:10.0.0.1", + "currentLocation": { + "accuracy": 100, + "altitude": 1001, + "latitude": -80.86302, + "longitude": 41.277306, + "timestamp": { + "seconds": 1483231138, + "nanoSeconds\"": 0 + } + }, + "locationRetrievalStatus": "Retrieved" + }, + { + "address": "acr:10.0.0.2", + "currentLocation": { + "accuracy": 100, + "altitude": 1001, + "latitude": -80.86301, + "longitude": 41.277306, + "timestamp": { + "seconds": 1483231138, + "nanoSeconds\"": 0 + } + }, + "locationRetrievalStatus": "Retrieved" + } + ] + } + } + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/204" + } + } + } + } + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/distance/{subscriptionId}": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieve subscription information", + "description": "Get subscription information.", + "operationId": "distanceSubGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Subscription information regarding subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "distanceNotificationSubscription" + ], + "properties": { + "distanceNotificationSubscription": { + "$ref": "#/components/schemas/DistanceNotificationSubscription" + } + }, + "example": { + "distanceNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "monitoredAddress": [ + "acr:10.0.0.1", + "acr:10.0.0.2" + ], + "checkImmediate": true, + "criteria": "AllWithinDistance", + "distance": 100, + "frequency": 10, + "referenceAddress": "acr:10.0.0.3", + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "put": { + "tags": [ + "" + ], + "summary": "Updates a subscription information", + "description": "Updates a subscription.", + "operationId": "distanceSubPUT", + "requestBody": { + "description": "Subscription to be modified", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "distanceNotificationSubscription": { + "$ref": "#/components/schemas/DistanceNotificationSubscription" + } + }, + "example": { + "distanceNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "monitoredAddress": [ + "acr:10.0.0.1", + "acr:10.0.0.2" + ], + "checkImmediate": true, + "criteria": "AllWithinDistance", + "distance": 100, + "frequency": 10, + "referenceAddress": "acr:10.0.0.3", + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123" + } + } + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Successful subscription to response to subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "distanceNotificationSubscription": { + "$ref": "#/components/schemas/DistanceNotificationSubscription" + } + }, + "example": { + "distanceNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "monitoredAddress": [ + "acr:10.0.0.1", + "acr:10.0.0.2" + ], + "checkImmediate": true, + "criteria": "AllWithinDistance", + "distance": 100, + "frequency": 10, + "referenceAddress": "acr:10.0.0.3", + "trackingAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "412": { + "$ref": "#/components/responses/412" + }, + "422": { + "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "delete": { + "tags": [ + "" + ], + "summary": "Cancel a subscription", + "description": "Method to delete a subscription.", + "operationId": "distanceSubDELETE", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/204" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/periodic": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieves all active subscriptions to periodic notifications", + "description": "This operation is used for retrieving all active subscriptions to periodic notifications.", + "operationId": "periodicSubListGET", + "responses": { + "200": { + "description": "Response to retrieve area subscriptions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "notificationSubscriptionList" + ], + "properties": { + "notificationSubscriptionList": { + "$ref": "#/components/schemas/NotificationSubscriptionList" + } + }, + "example": { + "notificationSubscriptionList": { + "periodicNotificationSubscription": [ + { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "frequency": 10, + "requestedAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123" + } + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "" + ], + "summary": "Creates a subscription for periodic notification", + "description": "Creates a subscription to the Location Service for a periodic notification.", + "operationId": "periodicSubPOST", + "requestBody": { + "description": "Subscription to be created", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "periodicNotificationSubscription": { + "$ref": "#/components/schemas/PeriodicNotificationSubscription" + } + }, + "example": { + "periodicNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "frequency": 10, + "requestedAccuracy": 10 + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successful subscription", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "periodicNotificationSubscription": { + "$ref": "#/components/schemas/PeriodicNotificationSubscription" + } + }, + "example": { + "periodicNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "frequency": 10, + "requestedAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "callbacks": { + "notification": { + "{$request.body#/periodicNotificationSubscription.callbackReference.notifyURL}": { + "post": { + "requestBody": { + "description": "Subscription notification", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "subscriptionNotification": { + "$ref": "#/components/schemas/SubscriptionNotification" + } + }, + "example": { + "subscriptionNotification": { + "isFinalNotification": "false,", + "link": { + "rel": "PeriodicNotificationSubscription", + "href": "http://meAppServer.example.com/location/v2/subscriptions/periodic/sub123" + }, + "terminalLocation": { + "address": "acr:10.0.0.1", + "currentLocation": { + "accuracy": 100, + "altitude": 1001, + "latitude": -80.86302, + "longitude": 41.277306, + "timestamp": { + "seconds": 1483231138, + "nanoSeconds\"": 0 + } + }, + "locationRetrievalStatus": "Retrieved" + } + } + } + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/204" + } + } + } + } + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/periodic/{subscriptionId}": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieve subscription information", + "description": "Get subscription information.", + "operationId": "periodicSubGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Subscription information regarding subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "periodicNotificationSubscription" + ], + "properties": { + "periodicNotificationSubscription": { + "$ref": "#/components/schemas/PeriodicNotificationSubscription" + } + }, + "example": { + "periodicNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "frequency": 10, + "requestedAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "put": { + "tags": [ + "" + ], + "summary": "Updates a subscription information", + "description": "Updates a subscription.", + "operationId": "periodicSubPUT", + "requestBody": { + "description": "Subscription to be modified", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "periodicNotificationSubscription": { + "$ref": "#/components/schemas/PeriodicNotificationSubscription" + } + }, + "example": { + "periodicNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "frequency": 10, + "requestedAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123" + } + } + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Successful subscription to response to subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "periodicNotificationSubscription": { + "$ref": "#/components/schemas/PeriodicNotificationSubscription" + } + }, + "example": { + "periodicNotificationSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "callbackData": "1234", + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:10.0.0.1", + "frequency": 10, + "requestedAccuracy": 10, + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "412": { + "$ref": "#/components/responses/412" + }, + "422": { + "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "delete": { + "tags": [ + "" + ], + "summary": "Cancel a subscription", + "description": "Method to delete a subscription.", + "operationId": "periodicSubDELETE", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/204" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/userTracking": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieves all active subscriptions to user tracking notifications", + "description": "This operation is used for retrieving all active subscriptions to user tracking notifications.", + "operationId": "userTrackingSubListGET", + "responses": { + "200": { + "description": "Response to retrieve user tracking subscriptions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "notificationSubscriptionList" + ], + "properties": { + "notificationSubscriptionList": { + "$ref": "#/components/schemas/NotificationSubscriptionList" + } + }, + "example": { + "notificationSubscriptionList": { + "userTrackingSubscription": [ + { + "clientCorrelator": "0123", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/subscription123", + "callbackReference": { + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:192.0.2.1", + "userEventCriteria": [ + "Transferring" + ] + }, + { + "clientCorrelator": "0124", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/subscription124", + "callbackReference": { + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "address": "acr:192.0.2.2", + "userEventCriteria": [ + "Transferring" + ] + } + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "" + ], + "summary": "Creates a subscription for user tracking notification", + "description": "Creates a subscription to the Location Service for user tracking change notification.", + "operationId": "userTrackingSubPOST", + "requestBody": { + "description": "Subscription to be created", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userTrackingSubscription": { + "$ref": "#/components/schemas/UserTrackingSubscription" + } + }, + "example": { + "userTrackingSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "address": "acr:10.0.0.1", + "userEventCriteria": [ + "Transferring" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successful subscription", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userTrackingSubscription": { + "$ref": "#/components/schemas/UserTrackingSubscription" + } + }, + "example": { + "userTrackingSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "address": "acr:10.0.0.1", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "callbacks": { + "notification": { + "{$request.body#/userTrackingSubscription.callbackReference.notifyURL}": { + "post": { + "requestBody": { + "description": "Subscription notification", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zonalPresenceNotification": { + "$ref": "#/components/schemas/ZonalPresenceNotification" + } + }, + "example": { + "zonalPresenceNotification": { + "clientCorrelator": "0123", + "zoneId": "zone01", + "address": "acr:10.0.0.1", + "userEventType": "Transferring", + "currentAccessPointId": "ap2", + "previousAccessPointId": "ap1", + "timestamp": { + "seconds": 1483231138, + "nanoseconds": 0 + }, + "link": { + "rel": "UserTrackingSubscription", + "href": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123" + } + } + } + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/204" + } + } + } + } + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/userTracking/{subscriptionId}": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieve subscription information", + "description": "Get subscription information.", + "operationId": "userTrackingSubGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Subscription information regarding subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "userTrackingSubscription" + ], + "properties": { + "userTrackingSubscription": { + "$ref": "#/components/schemas/UserTrackingSubscription" + } + }, + "example": { + "userTrackingSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "address": "acr:10.0.0.1", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "put": { + "tags": [ + "" + ], + "summary": "Updates a subscription information", + "description": "Updates a subscription.", + "operationId": "userTrackingSubPUT", + "requestBody": { + "description": "Subscription to be modified", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userTrackingSubscription": { + "$ref": "#/components/schemas/UserTrackingSubscription" + } + }, + "example": { + "userTrackingSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "address": "acr:10.0.0.1", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123" + } + } + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Successful subscription to response to subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "userTrackingSubscription": { + "$ref": "#/components/schemas/UserTrackingSubscription" + } + } + }, + "example": { + "userTrackingSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "address": "acr:10.0.0.1", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "412": { + "$ref": "#/components/responses/412" + }, + "422": { + "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "delete": { + "tags": [ + "" + ], + "summary": "Cancel a subscription", + "description": "Method to delete a subscription.", + "operationId": "userTrackingSubDELETE", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/204" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/zonalTraffic": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieves all active subscriptions to zonal traffic notifications", + "description": "This operation is used for retrieving all active subscriptions to zonal traffic change notifications.", + "operationId": "zonalTrafficSubListGET", + "responses": { + "200": { + "description": "Response to retrieve zonal traffic subscriptions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "notificationSubscriptionList" + ], + "properties": { + "notificationSubscriptionList": { + "$ref": "#/components/schemas/NotificationSubscriptionList" + } + }, + "example": { + "notificationSubscriptionList": { + "zonalTrafficSubscription": [ + { + "clientCorrelator": "0123", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/subscription123", + "callbackReference": { + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "zoneId": "zone01", + "userEventCriteria": [ + "Transferring" + ] + }, + { + "clientCorrelator": "0124", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/subscription124", + "callbackReference": { + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "zoneId": "zone02", + "userEventCriteria": [ + "Transferring" + ] + } + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "" + ], + "summary": "Creates a subscription for zonal traffic notification", + "description": "Creates a subscription to the Location Service for zonal traffic change notification.", + "operationId": "zonalTrafficSubPOST", + "requestBody": { + "description": "Subscription to be created", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zonalTrafficSubscription": { + "$ref": "#/components/schemas/ZonalTrafficSubscription" + } + }, + "example": { + "zonalTrafficSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "userEventCriteria": [ + "Transferring" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successful subscription", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zonalTrafficSubscription": { + "$ref": "#/components/schemas/ZonalTrafficSubscription" + } + }, + "example": { + "zonalTrafficSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "callbacks": { + "notification": { + "{$request.body#/zonalTrafficSubscription.callbackReference.notifyURL}": { + "post": { + "requestBody": { + "description": "Subscription notification", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zonalPresenceNotification": { + "$ref": "#/components/schemas/ZonalPresenceNotification" + } + }, + "example": { + "zonalPresenceNotification": { + "clientCorrelator": "0123", + "zoneId": "zone01", + "address": "acr:10.0.0.1", + "userEventType": "Transferring", + "currentAccessPointId": "ap2", + "previousAccessPointId": "ap1", + "timestamp": { + "seconds": 1483231138, + "nanoseconds": 0 + }, + "link": { + "rel": "ZonalTrafficSubscription", + "href": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123" + } + } + } + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/204" + } + } + } + } + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/zonalTraffic/{subscriptionId}": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieve subscription information", + "description": "Get subscription information.", + "operationId": "ZonalTrafficSubGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Subscription information regarding subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "zonalTrafficSubscription" + ], + "properties": { + "zonalTrafficSubscription": { + "$ref": "#/components/schemas/ZonalTrafficSubscription" + } + }, + "example": { + "zonalTrafficSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "put": { + "tags": [ + "" + ], + "summary": "Updates a subscription information", + "description": "Updates a subscription.", + "operationId": "zonalTrafficSubPUT", + "requestBody": { + "description": "Subscription to be modified", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zonalTrafficSubscription": { + "$ref": "#/components/schemas/ZonalTrafficSubscription" + } + }, + "example": { + "zonalTrafiicSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123" + } + } + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Successful subscription to response to subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zonalTrafficSubscription": { + "$ref": "#/components/schemas/ZonalTrafficSubscription" + } + } + }, + "example": { + "zonalTrafficSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "userEventCriteria": [ + "Transferring" + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "412": { + "$ref": "#/components/responses/412" + }, + "422": { + "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "delete": { + "tags": [ + "" + ], + "summary": "Cancel a subscription", + "description": "Method to delete a subscription.", + "operationId": "zonalTrafficSubDELETE", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/204" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/zoneStatus": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieves all active subscriptions to zone status notifications", + "description": "This operation is used for retrieving all active subscriptions to zone status change notifications.", + "operationId": "zoneStatusSubListGET", + "responses": { + "200": { + "description": "Response to retrieve zone status subscriptions", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "notificationSubscriptionList" + ], + "properties": { + "notificationSubscriptionList": { + "$ref": "#/components/schemas/NotificationSubscriptionList" + } + }, + "example": { + "notificationSubscriptionList": { + "zoneStatusSubscription": [ + { + "clientCorrelator": "0123", + "resourceURL": "http://example.com/exampleAPI/location/v2/subscriptions/zoneStatus/subscription123", + "callbackReference": { + "notifyURL": "http://clientApp.example.com/location_notifications/123456" + }, + "zoneId": "zone01", + "numberOfUsersZoneThreshold": 500, + "operationStatus": "Serviceable" + } + ], + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "" + ], + "summary": "Creates a subscription for zone status notification", + "description": "Creates a subscription to the Location Service for zone status change notification.", + "operationId": "zoneStatusSubPOST", + "requestBody": { + "description": "Subscription to be created", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zoneStatusSubscription": { + "$ref": "#/components/schemas/ZoneStatusSubscription" + } + }, + "example": { + "zoneStatusSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "numberOfUsersZoneThreshold": 500, + "operationStatus": "Serviceable" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successful subscription", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zoneStatusSubscription": { + "$ref": "#/components/schemas/ZoneStatusSubscription" + } + }, + "example": { + "zoneStatusSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "numberOfUsersZoneThreshold": 500, + "operationStatus": "Serviceable", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "callbacks": { + "notification": { + "{$request.body#/zoneStatusSubscription.callbackReference.notifyURL}": { + "post": { + "requestBody": { + "description": "Subscription notification", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zoneStatusNotification": { + "$ref": "#/components/schemas/ZoneStatusNotification" + } + }, + "example": { + "zoneStatusNotification": { + "clientCorrelator": "0123", + "zoneId": "zone01", + "accessPointId": "poa1", + "operationStatus": "Serviceable", + "numberOfUsersInZone": "20", + "numberOfUsersInAP": "12", + "timestamp": { + "seconds": 1483231138, + "nanoseconds": 0 + }, + "link": { + "rel": "ZoneStatusSubscription", + "href": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" + } + } + } + } + } + } + }, + "responses": { + "204": { + "$ref": "#/components/responses/204" + } + } + } + } + } + }, + "x-swagger-router-controller": "subscriptions" + } + }, + "/subscriptions/zoneStatus/{subscriptionId}": { + "get": { + "tags": [ + "" + ], + "summary": "Retrieve subscription information", + "description": "Get subscription information.", + "operationId": "zoneStatusSubGET", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Subscription information regarding subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "zoneStatusSubscription" + ], + "properties": { + "zoneStatusSubscription": { + "$ref": "#/components/schemas/ZoneStatusSubscription" + } + }, + "example": { + "zoneStatusSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "numberOfUsersZoneThreshold": 500, + "operationStatus": "Serviceable", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "put": { + "tags": [ + "" + ], + "summary": "Updates a subscription information", + "description": "Updates a subscription.", + "operationId": "zoneStatusSubPUT", + "requestBody": { + "description": "Subscription to be modified", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zoneStatusSubscription": { + "$ref": "#/components/schemas/ZoneStatusSubscription" + } + }, + "example": { + "zoneStatusSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "numberOfUsersZoneThreshold": 500, + "operationStatus": "Serviceable", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" + } + } + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "200": { + "description": "Successful subscription to response to subscription notifications", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "zoneStatusSubscription": { + "$ref": "#/components/schemas/ZoneStatusSubscription" + } + } + }, + "example": { + "zoneStatusSubscription": { + "clientCorrelator": "0123", + "callbackReference": { + "notifyURL": "http://my.callback.com/location_notifications/some-id" + }, + "zoneId": "zone01", + "numberOfUsersZoneThreshold": 500, + "operationStatus": "Serviceable", + "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "406": { + "$ref": "#/components/responses/406" + }, + "412": { + "$ref": "#/components/responses/412" + }, + "422": { + "$ref": "#/components/responses/422" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + }, + "delete": { + "tags": [ + "" + ], + "summary": "Cancel a subscription", + "description": "Method to delete a subscription.", + "operationId": "zoneStatusSubDELETE", + "parameters": [ + { + "$ref": "#/components/parameters/Path.SubscrId" + } + ], + "responses": { + "204": { + "$ref": "#/components/responses/204" + }, + "401": { + "$ref": "#/components/responses/401" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "429": { + "$ref": "#/components/responses/429" + } + }, + "x-swagger-router-controller": "subscriptions" + } + } + }, + "components": { + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "401": { + "description": "Unauthorized : used when the client did not submit credentials.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "403": { + "description": "Forbidden : operation is not allowed given the current status of the resource.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "problemDetails" + ], + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "404": { + "description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "406": { + "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "412": { + "description": "Precondition failed : used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "414": { + "description": "URI Too Long : used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "415": { + "description": "Unsupported Media Type : used to indicate that the server or the client does not support the content type of the entity body.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "422": { + "description": "Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + }, + "example": { + "application/problem+json": { + "ProblemDetails": { + "type": "https://meAppServer.example.com/rni/v2/probs/too-many targets", + "title": "Too many targets", + "status": "422", + "detail": "The target area for the request is considered too large", + "instance": "/meAppClient.example.com/77777/msgs/abc" + } + } + } + } + } + }, + "429": { + "description": "Too Many Requests : used when a rate limiter has triggered.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "problemDetails": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "parameters": { + "Path.AccessPointId": { + "name": "accessPointId", + "in": "path", + "description": "Identifier of access Point", + "required": true, + "schema": { + "type": "string" + }, + "x-exportParamName": "AccessPointId" + }, + "Path.SubscrId": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription Identifier, specifically the \"self\" returned in the subscription request", + "required": true, + "schema": { + "type": "string", + "format": "uri" + }, + "x-exportParamName": "SubscriptionId" + }, + "Path.ZoneId": { + "name": "zoneId", + "in": "path", + "description": "Indentifier of zone", + "required": true, + "schema": { + "type": "string" + }, + "x-exportParamName": "ZoneId" + }, + "Query.AccessPointId": { + "name": "accessPointId", + "in": "query", + "description": "Identifier of access point", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-exportParamName": "AccessPointId" + }, + "Query.Address": { + "name": "address", + "in": "query", + "description": "address of users (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-exportParamName": "Address" + }, + "Query.AddressMandatory": { + "name": "address", + "in": "query", + "description": "address of users (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-exportParamName": "AddressMandatory" + }, + "Query.InterestRealm": { + "name": "interestRealm", + "in": "query", + "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).", + "required": false, + "schema": { + "type": "string" + }, + "x-exportParamName": "InterestRealm" + }, + "Query.Latitude": { + "name": "latitude", + "in": "query", + "description": "Latitude geo position", + "required": false, + "schema": { + "type": "number", + "format": "float" + }, + "x-exportParamName": "Latitude" + }, + "Query.Longitude": { + "name": "longitude", + "in": "query", + "description": "Longitude geo position", + "required": false, + "schema": { + "type": "number", + "format": "float" + }, + "x-exportParamName": "Longitude" + }, + "Query.Requester": { + "name": "requester", + "in": "query", + "description": "Entity that is requesting the information", + "required": false, + "schema": { + "type": "string" + }, + "x-exportParamName": "Requester" + }, + "Query.ZoneId": { + "name": "zoneId", + "in": "query", + "description": "Identifier of zone", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-exportParamName": "ZoneId" + } + }, + "schemas": { + "AccessPointInfo": { + "description": "A type containing access point information.", + "properties": { + "accessPointId": { + "description": "Identifier of access point.", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "connectionType": { + "allOf": [ + { + "$ref": "#/components/schemas/ConnectionType" + } + ], + "description": "Connection type of access point.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "ConnectionType" + }, + "interestRealm": { + "description": "Interest realm of access point.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "locationInfo": { + "allOf": [ + { + "$ref": "#/components/schemas/LocationInfo" + } + ], + "description": "The coordinates of the access point.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "LocationInfo" + }, + "numberOfUsers": { + "description": "Number of users currently on the access point.", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "integer" + }, + "operationStatus": { + "allOf": [ + { + "$ref": "#/components/schemas/OperationStatus" + } + ], + "description": "Operation status of access point.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "OperationStatus" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "timezone": { + "description": "Time zone of access point.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "dateTimeStamp" + } + }, + "required": [ + "accessPointId", + "connectionType", + "operationStatus", + "numberOfUsers", + "resourceURL" + ], + "type": "object" + }, + "AccessPointList": { + "description": "A type containing list of access points.", + "properties": { + "accessPoint": { + "description": "Collection of the access point information list.", + "items": { + "$ref": "#/components/schemas/AccessPointInfo" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "AccessPointInfo" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + } + }, + "required": [ + "zoneId", + "resourceURL" + ], + "type": "object" + }, + "CallbackReference": { + "properties": { + "callbackData": { + "description": "Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "notificationFormat": { + "allOf": [ + { + "$ref": "#/components/schemas/NotificationFormat" + } + ], + "description": "Application can specify format of the resource representation in notifications that are related to this subscription. The choice is between {XML, JSON}", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "notifyURL": { + "description": "Notify Callback URL", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "anyURI" + } + }, + "required": [ + "notifyURL" + ], + "type": "object" + }, + "CircleNotificationSubscription": { + "description": "A type containing data for notifications, when the area is defined as a circle.", + "properties": { + "address": { + "description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)", + "items": { + "type": "string" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "anyURI" + }, + "callbackReference": { + "allOf": [ + { + "$ref": "#/components/schemas/CallbackReference" + } + ], + "description": "Notification callback definition", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "checkImmediate": { + "description": "Check location immediately after establishing notification.", + "type": "boolean", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "boolean" + }, + "clientCorrelator": { + "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "count": { + "description": "Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "int" + }, + "duration": { + "description": "Period of time (in seconds) notifications are provided for. If set to “0” (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "int" + }, + "enteringLeavingCriteria": { + "allOf": [ + { + "$ref": "#/components/schemas/EnteringLeavingCriteria" + } + ], + "description": "Indicates whether the notification should occur when the terminal enters or leaves the target area.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "EnteringLeavingCriteria" + }, + "frequency": { + "description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "int" + }, + "latitude": { + "description": "Latitude of center point.", + "format": "float", + "type": "number", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "float" + }, + "link": { + "description": "Link to other resources that are in relationship with the resource.", + "items": { + "$ref": "#/components/schemas/Link" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Link" + }, + "longitude": { + "description": "Longitude of center point.", + "format": "float", + "type": "number", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "float" + }, + "radius": { + "description": "Radius circle around center point in meters.", + "format": "float", + "type": "number", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "float" + }, + "requester": { + "description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "trackingAccuracy": { + "description": "Number of meters of acceptable error in tracking distance.", + "format": "float", + "type": "number", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "float" + } + }, + "required": [ + "callbackReference", + "address", + "latitude", + "longitude", + "radius", + "trackingAccuracy", + "enteringLeavingCriteria", + "checkImmediate", + "frequency" + ], + "type": "object" + }, + "ConnectionType": { + "description": "The connection type for the access point", + "enum": [ + "Femto", + "LTE-femto", + "Smallcell", + "LTE-smallcell", + "Wifi", + "Pico", + "Micro", + "Macro", + "Wimax", + "Unknown" + ], + "type": "string" + }, + "DistanceCriteria": { + "enum": [ + "AllWithinDistance", + "AnyWithinDistance", + "AllBeyondDistance", + "AnyBeyondDistance" + ], + "type": "string" + }, + "DistanceNotificationSubscription": { + "description": "A type containing data for distance subscription, with reference to other devices.", + "properties": { + "callbackReference": { + "allOf": [ + { + "$ref": "#/components/schemas/CallbackReference" + } + ], + "description": "Notification callback definition", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "checkImmediate": { + "description": "Check location immediately after establishing notification.", + "type": "boolean", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "boolean" + }, + "clientCorrelator": { + "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "count": { + "description": "Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "int" + }, + "criteria": { + "allOf": [ + { + "$ref": "#/components/schemas/DistanceCriteria" + } + ], + "description": "Indicates whether the notification should occur when the geographical relationship between monitored and referenced devices changes.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "DistanceCriteria" + }, + "distance": { + "description": "Distance between devices that shall be monitored.", + "format": "float", + "type": "number", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "float" + }, + "duration": { + "description": "Period of time (in seconds) notifications are provided for. If set to “0” (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "int" + }, + "frequency": { + "description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "int" + }, + "link": { + "description": "Link to other resources that are in relationship with the resource.", + "items": { + "$ref": "#/components/schemas/Link" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Link" + }, + "monitoredAddress": { + "description": "Contains addresses of devices to monitor (e.g., 'sip' URI, 'tel' URI, 'acr' URI)", + "items": { + "type": "string" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "anyURI" + }, + "referenceAddress": { + "description": "Indicates address of each device that will be used as reference devices from which the distances towards monitored devices indicated in the Addresses will be monitored (e.g., 'sip' URI, 'tel' URI, 'acr' URI)", + "items": { + "type": "string" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "anyURI" + }, + "requester": { + "description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "trackingAccuracy": { + "description": "Number of meters of acceptable error in tracking distance.", + "format": "float", + "type": "number", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "float" + } + }, + "required": [ + "callbackReference", + "monitoredAddress", + "distance", + "trackingAccuracy", + "criteria", + "checkImmediate", + "frequency" + ], + "type": "object" + }, + "EnteringLeavingCriteria": { + "enum": [ + "Entering", + "Leaving" + ], + "type": "string" + }, + "Link": { + "description": "Link to other resources", + "properties": { + "href": { + "description": "URI", + "format": "anyURI", + "type": "string" + }, + "rel": { + "description": "Describes the relationship between the URI and the resource.", + "type": "string" + } + }, + "required": [ + "rel", + "href" + ], + "type": "object" + }, + "LocationInfo": { + "properties": { + "accuracy": { + "description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "accuracyAltitude": { + "description": "Altitude accuracy / uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 3 or 4", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "accuracySemiMinor": { + "description": "Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if \"shape\" equals 4, 5 or 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "altitude": { + "description": "Location altitude relative to the WGS84 ellipsoid surface.", + "format": "float", + "type": "number", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Float" + }, + "confidence": { + "description": "Confidence by which the position of a target entity is known to be within the shape description, expressed as a percentage and defined in [14]. Present only if \"shape\" equals 1, 4 or 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "includedAngle": { + "description": "Present only if \"shape\" equals 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "innerRadius": { + "description": "Present only if \"shape\" equals 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "latitude": { + "description": "Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if \"shape\" equals 7.", + "items": { + "format": "float", + "type": "number" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if \"shape\" equals 7.", + "items": { + "format": "float", + "type": "number" + }, + "minItems": 1, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "Float" + }, + "offsetAngle": { + "description": "Present only if \"shape\" equals 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "orientationMajorAxis": { + "description": "Angle of orientation of the major axis, expressed in the range 0° to 180°, as defined in [14]. Present only if \"shape\" equals 4 or 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "shape": { + "description": "Shape information, as detailed in [14], associated with the reported location coordinate:\n1 = ELLIPSOID_ARC\n2 = ELLIPSOID_POINT\n3 = ELLIPSOID_POINT_ALTITUDE\n4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID\n5 = ELLIPSOID_POINT_UNCERT_CIRCLE\n6 = ELLIPSOID_POINT_UNCERT_ELLIPSE\n7 = POLYGON", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum_inlined" + }, + "timestamp": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeStamp" + } + ], + "description": "Date and time that location was collected.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "TimeStamp" + }, + "uncertaintyRadius": { + "description": "Present only if \"shape\" equals 6", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "velocity": { + "description": "Structure with attributes relating to the target entity’s velocity, as defined in [14].", + "properties": { + "bearing": { + "description": "Bearing, expressed in the range 0° to 360°, as defined in [14].", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "horizontalSpeed": { + "description": "Horizontal speed, expressed in km/h and defined in [14].", + "type": "integer", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "uncertainty": { + "description": "Horizontal uncertainty, as defined in [14]. Present only if \"velocityType\" equals 3 or 4", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + }, + "velocityType": { + "description": "Velocity information, as detailed in [14], associated with the reported location coordinate:\n1 = HORIZONTAL\n2 = HORIZONTAL_VERTICAL\n3 = HORIZONTAL_UNCERT\n4 = HORIZONTAL_VERTICAL_UNCERT", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum_inlined" + }, + "verticalSpeed": { + "description": "Vertical speed, expressed in km/h and defined in [14]. Present only if \"velocityType\" equals 2 or 4", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Int" + }, + "verticalUncertainty": { + "description": "Vertical uncertainty, as defined in [14]. Present only if \"velocityType\" equals 4", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "UnsignedInt" + } + }, + "required": [ + "velocityType", + "bearing", + "horizontalSpeed" + ], + "type": "object", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Structure (inlined)" + } + }, + "required": [ + "latitude", + "longitude", + "shape", + "timestamp" + ], + "type": "object", + "x-etsi-ref": "6.5.3" + }, + "NotificationFormat": { + "enum": [ + "XML", + "JSON" + ], + "type": "string" + }, + "NotificationSubscriptionList": { + "properties": { + "circleNotificationSubscription": { + "description": "Collection of CircleNotificationSubscription elements, see note 2.", + "items": { + "$ref": "#/components/schemas/CircleNotificationSubscription" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0.. N", + "x-etsi-mec-origin-type": "CircleNotificationSubscription" + }, + "distanceNotificationSubscription": { + "description": "Collection of DistanceNotificationSubscription elements, see note 2.", + "items": { + "$ref": "#/components/schemas/DistanceNotificationSubscription" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0.. N", + "x-etsi-mec-origin-type": "DistanceNotificationSubscription" + }, + "periodicNotificationSubscription": { + "description": "Collection of PeriodicNotificationSubscription elements, see note 2.", + "items": { + "$ref": "#/components/schemas/PeriodicNotificationSubscription" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0.. N", + "x-etsi-mec-origin-type": "PeriodicNotificationSubscription" + }, + "resourceURL": { + "description": "Self-referring URL, see note 1.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "AnyURI" + }, + "userTrackingSubscription": { + "description": "Collection of UserTrackingSubscription elements, see note 1.", + "items": { + "$ref": "#/components/schemas/UserTrackingSubscription" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0.. N", + "x-etsi-mec-origin-type": "UserTrackingSubscription" + }, + "zonalTrafficSubscription": { + "description": "Collection of ZonalTrafficSubscription elements, see note 1.", + "items": { + "$ref": "#/components/schemas/ZonalTrafficSubscription" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0.. N", + "x-etsi-mec-origin-type": "ZonalTrafficSubscription" + }, + "zoneStatusSubscription": { + "description": "Collection of ZoneStatusSubscription elements, see note 1.", + "items": { + "$ref": "#/components/schemas/ZoneStatusSubscription" + }, + "minItems": 0, + "type": "array", + "x-etsi-mec-cardinality": "0.. N", + "x-etsi-mec-origin-type": "ZoneStatusSubscription" + } + }, + "required": [ + "resourceURL" + ], + "type": "object", + "x-etsi-notes": "NOTE 1:\tAs specified in [5], clause 5.2.2.8.\nNOTE 2: \tAs specified in [6], clause 5.2.2.7.", + "x-etsi-ref": "6.3.3" + }, + "OperationStatus": { + "enum": [ + "Serviceable", + "Unserviceable", + "Unknown" + ], + "type": "string" + }, + "PeriodicNotificationSubscription": { + "description": "A type containing data for periodic subscription.", + "properties": { + "address": { + "description": "Address of terminals to monitor (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)", + "items": { + "type": "string" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "anyURI" + }, + "callbackReference": { + "allOf": [ + { + "$ref": "#/components/schemas/CallbackReference" + } + ], + "description": "Notification callback definition", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "clientCorrelator": { + "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "duration": { + "description": "Period of time (in seconds) notifications are provided for. If set to “0” (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "int" + }, + "frequency": { + "description": "Maximum frequency (in seconds) of notifications (can also be considered minimum time between notifications) per subscription.", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "int" + }, + "link": { + "description": "Link to other resources that are in relationship with the resource.", + "items": { + "$ref": "#/components/schemas/Link" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Link" + }, + "requestedAccuracy": { + "description": "Accuracy of the provided distance in meters.", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "int" + }, + "requester": { + "description": "Identifies the entity that is requesting the information (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI)", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + } + }, + "required": [ + "callbackReference", + "address", + "requestedAccuracy", + "frequency" + ], + "type": "object" + }, + "ProblemDetails": { + "properties": { + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "URI" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem", + "format": "uint32", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Uint32" + }, + "title": { + "description": "A short, human-readable summary of the problem type", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "type": { + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "URI" + } + }, + "type": "object" + }, + "RetrievalStatus": { + "enum": [ + "Retrieved", + "NotRetrieved", + "Error" + ], + "type": "string" + }, + "SerializerTypes": { + "type": "string" + }, + "ServiceError": { + "description": "used to indicate a notification termination or cancellation.", + "properties": { + "messageId": { + "description": "Message identifier, either with prefix SVC or with prefix POL", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "text": { + "description": "Message text, with replacement variables marked with %n, where n is an index into the list of elements, starting at 1", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "variables": { + "description": "Variables to substitute into text string", + "items": { + "type": "string" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "string" + } + }, + "required": [ + "messageId", + "text" + ], + "type": "object" + }, + "SubscriptionCancellationNotification": { + "description": "A type containing the subscription cancellation notification.", + "properties": { + "address": { + "description": "Address of terminal if the error applies to an individual terminal.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "callbackData": { + "description": "CallbackData if passed by the application in the receiptRequest element during the associated subscription operation", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "link": { + "description": "Link to other resources that are in relationship with the resource.", + "items": { + "$ref": "#/components/schemas/Link" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Link" + }, + "reason": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceError" + } + ], + "description": "Reason notification is being discontinued.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "ServiceError" + } + }, + "required": [ + "terminalLocation" + ], + "type": "object" + }, + "SubscriptionNotification": { + "description": "A type containing the notification subscription.", + "properties": { + "callbackData": { + "description": "CallbackData if passed by the application in the receiptRequest element during the associated subscription operation", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "distanceCriteria": { + "allOf": [ + { + "$ref": "#/components/schemas/DistanceCriteria" + } + ], + "description": "Indicates which distance criteria that caused the notification.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "DistanceCriteria" + }, + "enteringLeavingCriteria": { + "allOf": [ + { + "$ref": "#/components/schemas/EnteringLeavingCriteria" + } + ], + "description": "Indicates whether the notification was caused by the terminal entering or leaving the target area.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "EnteringLeavingCriteria" + }, + "isFinalNotification": { + "description": "Set to true if it is a final notification about location change.", + "type": "boolean", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "boolean" + }, + "link": { + "description": "Link to other resources that are in relationship with the resource.", + "items": { + "$ref": "#/components/schemas/Link" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Link" + }, + "terminalLocation": { + "description": "Collection of the terminal locations.", + "items": { + "$ref": "#/components/schemas/TerminalLocation" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "TerminalLocation" + } + }, + "required": [ + "terminalLocation" + ], + "type": "object" + }, + "TerminalDistance": { + "description": "A type containing information about the distance from a terminal to a location or between two terminals, in addition the accuracy and a timestamp of the information are provided.", + "properties": { + "accuracy": { + "description": "Accuracy of the provided distance in meters", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "integer" + }, + "distance": { + "description": "Distance from terminal to a location or between two terminals specified in meters", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "integer" + }, + "timestamp": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeStamp" + } + ], + "description": "Date and time that location from which distance is calculated was collected.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "TimeStamp" + } + }, + "required": [ + "distance" + ], + "type": "object" + }, + "TerminalLocation": { + "description": "A type containing device address, retrieval status and location information.", + "properties": { + "address": { + "description": "Address of the terminal to which the location information applies (e.g., 'sip' URI, 'tel' URI, 'acr' URI).", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "currentLocation": { + "allOf": [ + { + "$ref": "#/components/schemas/LocationInfo" + } + ], + "description": "Location of terminal.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "LocationInfo" + }, + "errorInformation": { + "allOf": [ + { + "$ref": "#/components/schemas/ServiceError" + } + ], + "description": "This is the reason for error.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "ServiceError" + }, + "locationRetrievalStatus": { + "allOf": [ + { + "$ref": "#/components/schemas/RetrievalStatus" + } + ], + "description": "Status of retrieval for this terminal address.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "RetrievalStatus" + } + }, + "required": [ + "address", + "locationRetrievalStatus" + ], + "type": "object" + }, + "TerminalLocationList": { + "description": "Collection of the terminal locations.", + "items": { + "$ref": "#/components/schemas/TerminalLocation" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "TerminalLocation" + }, + "TimeStamp": { + "properties": { + "nanoSeconds": { + "type": "integer", + "format": "uint32", + "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + }, + "seconds": { + "type": "integer", + "format": "uint32", + "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Uint32" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "UserEventType": { + "enum": [ + "Entering", + "Leaving", + "Transferring" + ], + "type": "string" + }, + "UserInfo": { + "properties": { + "accessPointId": { + "description": "The identity of the access point the user is currently on, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "address": { + "description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "AnyURI" + }, + "ancillaryInfo": { + "description": "Reserved for future use.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "contextLocationInfo": { + "description": "Contextual information of a user location (e.g. aisle, floor, room number, etc.).", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "locationInfo": { + "allOf": [ + { + "$ref": "#/components/schemas/LocationInfo" + } + ], + "description": "The geographical coordinates where the user is, see note 2.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "LocationInfo" + }, + "resourceURL": { + "description": "Self-referring URL, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "timestamp": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeStamp" + } + ], + "description": "Date and time that location was collected.", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "TimeStamp" + }, + "zoneId": { + "description": "The identity of the zone the user is currently within, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "address", + "accessPointId", + "zoneId", + "resourceURL", + "timeStamp" + ], + "type": "object", + "x-etsi-notes": "NOTE 1:\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5.", + "x-etsi-ref": "6.2.2" + }, + "UserList": { + "description": "A type containing list of users.", + "properties": { + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "user": { + "description": "Collection of the zone information list.", + "items": { + "$ref": "#/components/schemas/UserInfo" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UserInfo" + } + }, + "required": [ + "resourceURL" + ], + "type": "object" + }, + "UserTrackingSubscription": { + "description": "A type containing user tracking subscription.", + "properties": { + "address": { + "description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI) to monitor", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "callbackReference": { + "allOf": [ + { + "$ref": "#/components/schemas/CallbackReference" + } + ], + "description": "Notification callback definition", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "CallbackReference" + }, + "clientCorrelator": { + "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "userEventCriteria": { + "description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.", + "items": { + "$ref": "#/components/schemas/UserEventType" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UserEventType" + } + }, + "required": [ + "callbackReference", + "address" + ], + "type": "object" + }, + "VirtualNetworkInterfaceRequirements": { + "type": "string" + }, + "ZonalPresenceNotification": { + "description": "A type containing zonal presence notification", + "properties": { + "address": { + "description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI) to monitor", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "callbackData": { + "description": "CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common].", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "currentAccessPointId": { + "description": "Identifier of access point.", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "interestRealm": { + "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "link": { + "description": "Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification", + "items": { + "$ref": "#/components/schemas/Link" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Link" + }, + "previousAccessPointId": { + "description": "Identifier of access point.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "timestamp": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeStamp" + } + ], + "description": "Indicates the time of the day for zonal presence notification.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "TimeStamp" + }, + "userEventType": { + "allOf": [ + { + "$ref": "#/components/schemas/UserEventType" + } + ], + "description": "User Event.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "UserEventType" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + } + }, + "required": [ + "zoneId", + "address", + "userEventType", + "currentAccessPointId", + "timestamp" + ], + "type": "object" + }, + "ZonalTrafficSubscription": { + "description": "A type containing zonal traffic subscription", + "properties": { + "callbackReference": { + "allOf": [ + { + "$ref": "#/components/schemas/CallbackReference" + } + ], + "description": "Notification callback definition", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "CallbackReference" + }, + "clientCorrelator": { + "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "duration": { + "description": "Period (in seconds) of time notifications are provided for. If set to \"0\" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "unsignedInt" + }, + "interestRealm": { + "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).", + "items": { + "type": "string" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "string" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "userEventCriteria": { + "allOf": [ + { + "$ref": "#/components/schemas/UserEventType" + } + ], + "description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "UserEventType" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + } + }, + "required": [ + "callbackReference", + "zoneId" + ], + "type": "object" + }, + "ZoneInfo": { + "description": "A type containing zone information.", + "properties": { + "numberOfAccessPoints": { + "description": "The number of access points within the zone", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "unsignedInt" + }, + "numberOfUnserviceableAccessPoints": { + "description": "Number of inoperable access points within the zone.", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "unsignedInt" + }, + "numberOfUsers": { + "description": "The number of users currently on the access point.", + "type": "integer", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "unsignedInt" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + } + }, + "required": [ + "zoneId", + "numberOfAccessPoints", + "numberOfUnserviceableAccessPoints", + "numberOfUsers", + "resourceURL" + ], + "type": "object" + }, + "ZoneList": { + "description": "A type containing a list of zones.", + "properties": { + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "anyURI" + }, + "zone": { + "description": "Collection of the zone information list.", + "items": { + "$ref": "#/components/schemas/ZoneInfo" + }, + "type": "array" + } + }, + "required": [ + "resourceURL" + ], + "type": "object" + }, + "ZoneStatusNotification": { + "description": "A type containing zone status notification.", + "properties": { + "accessPointId": { + "description": "Identifier of an access point.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "callbackData": { + "description": "CallBackData if passed by the application during the associated ZoneStatusSubscription operation. See [REST_NetAPI_Common].", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "link": { + "description": "Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification", + "items": { + "$ref": "#/components/schemas/Link" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "Link" + }, + "numberOfUsersInAP": { + "description": "This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "unsignedInt" + }, + "numberOfUsersInZone": { + "description": "This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription.", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "unsignedInt" + }, + "operationStatus": { + "allOf": [ + { + "$ref": "#/components/schemas/OperationStatus" + } + ], + "description": "This element shall be present when ZoneStatusSubscription includes operationStatus element and the operation status value of an access point meets Serviceable or Unserviceable or Unknown defined in the subscription.", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "OperationStatus" + }, + "timestamp": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeStamp" + } + ], + "description": "Indicates the timeof day for zone status notification.", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "TimeStamp" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + } + }, + "required": [ + "zoneId", + "timestamp" + ], + "type": "object" + }, + "ZoneStatusSubscription": { + "description": "A type containing zone status subscription.", + "properties": { + "callbackReference": { + "allOf": [ + { + "$ref": "#/components/schemas/CallbackReference" + } + ], + "description": "Notification callback definition", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + }, + "clientCorrelator": { + "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "string" + }, + "numberOfUsersAPThreshold": { + "description": "Threshold number of users in an access point which if crossed shall cause a notification", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "unsignedInt" + }, + "numberOfUsersZoneThreshold": { + "description": "Threshold number of users in a zone which if crossed shall cause a notification", + "type": "integer", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "unsignedInt" + }, + "operationStatus": { + "description": "List of operation status values to generate notifications for (these apply to all access points within a zone).", + "items": { + "$ref": "#/components/schemas/OperationStatus" + }, + "type": "array", + "x-etsi-mec-cardinality": "0..N", + "x-etsi-mec-origin-type": "OperationStatus" + }, + "resourceURL": { + "description": "Self referring URL", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "anyURI" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "x-etsi-mec-cardinality": 1, + "x-etsi-mec-origin-type": "string" + } + }, + "required": [ + "callbackReference", + "zoneId" + ], + "type": "object" + } + } + } +} \ No newline at end of file diff --git a/LocationAPI.split.yaml b/LocationAPI.split.yaml deleted file mode 100644 index 900b662..0000000 --- a/LocationAPI.split.yaml +++ /dev/null @@ -1,50 +0,0 @@ -################################################################################ -# Open API specification version # -################################################################################ -swagger: '2.0' - -################################################################################ -# Document Information # -################################################################################ -info: - $ref: './info/index.yaml' - -################################################################################ -# External Documents # -################################################################################ -externalDocs: - $ref: './externalDocs/index.yaml' - -host: 127.0.0.1:8081 -basePath: /exampleAPI/location/v1 -schemes: -- http -- https -consumes: -- application/json -produces: -- application/json - -################################################################################ -# Tags # -################################################################################ -tags: - $ref: './tags/index.yaml' - -################################################################################ -# Parameters # -################################################################################ -parameters: - $ref: './parameters/index.yaml' - -################################################################################ -# paths # -################################################################################ -paths: - $ref: './paths/index.yaml' - -################################################################################ -# Definitions # -################################################################################ -definitions: - $ref: './definitions/index.yaml' \ No newline at end of file diff --git a/LocationAPI.yaml b/LocationAPI.yaml index b77c785..4df87d1 100644 --- a/LocationAPI.yaml +++ b/LocationAPI.yaml @@ -1,1116 +1,3294 @@ -swagger: '2.0' -info: - title: Location API - version: 1.1.1 - description: The ETSI MEC ISG MEC012 Location API described using OpenAPI. The API is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence - license: - name: BSD-3-Clause - url: 'https://forge.etsi.org/legal-matters' -externalDocs: - description: ETSI MEC013 V1.1.1 Location Service API - url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf' -host: '127.0.0.1:8081' -basePath: /exampleAPI/location/v1 -schemes: - - http - - https -consumes: - - application/json -produces: - - application/json -tags: - - name: zones - - name: users - - name: subscriptions -parameters: - Body.UserTrackingSubscription: - name: userTrackingSubscription - in: body - description: User Tracking Subscription - required: true - schema: - $ref: '#/definitions/UserTrackingSubscription' - Body.ZonalTrafficSubscription: - name: zonalTrafficSubscription - in: body - description: Zonal Traffic Subscription - required: true - schema: - $ref: '#/definitions/ZonalTrafficSubscription' - Body.ZoneStatusSubscription: - name: zoneStatusSubscription - in: body - description: Zone Status Subscription - required: true - schema: - $ref: '#/definitions/ZoneStatusSubscription' - Path.AccessPointId: - name: accessPointId - in: path - description: Access Point ID - required: true - type: string - Path.SubscriptionId: - name: subscriptionId - in: path - description: Subscription ID - required: true - type: string - Path.UserId: - name: userId - in: path - description: User ID - required: true - type: string - Path.ZoneId: - name: zoneId - in: path - description: Zone ID - required: true - type: string - Query.AccessPointId: - name: accessPointId - in: query - description: 'Identifier of access point, reference "definitions" for string format' - required: false - type: string - Query.InterestRealm: - name: interestRealm - in: query - description: 'Interest realm of access point (e.g. geographical area, a type of industry etc.).' - required: false - type: string - Query.ZoneId: - name: zoneId - in: query - description: Zone ID - required: true - type: string -paths: - /zones: - get: - tags: - - zones - operationId: zonesGet - description: Used to get a list of identifiers for zones authorized for use by the application. - produces: - - application/json - responses: - '200': - description: Successful response to a query regarding the status of a zone - schema: - properties: - zoneList: - $ref: '#/definitions/ZoneList' - examples: - application/json: - zoneList: - zone: - - zoneId: zone01 - numberOfAccessPoints: '3' - numberOfUnserviceableAccessPoints: '1' - numberOfUsers: '10' - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01' - - zoneId: zone02 - numberOfAccessPoints: '12' - numberOfUnserviceableAccessPoints: '0' - numberOfUsers: '36' - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone02' - resourceURL: 'http://example.com/exampleAPI/location/v1/zones' - '/zones/{zoneId}': - parameters: - - $ref: '#/parameters/Path.ZoneId' - get: - tags: - - zones - operationId: zonesGetById - description: Used to get the status of a zone. - produces: - - application/json - responses: - '200': - description: Successful response to a query regarding the status of a zone - schema: - properties: - zoneInfo: - $ref: '#/definitions/ZoneInfo' - examples: - application/json: - zoneInfo: - zoneId: zone01 - numberOfAccessPoints: '3' - numberOfUnserviceableAccessPoints: '1' - numberOfUsers: '10' - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01' - '/zones/{zoneId}/accessPoints': - parameters: - - $ref: '#/parameters/Path.ZoneId' - get: - tags: - - zones - operationId: zonesByIdGetAps - description: Access point status can be retrieved for sets of access points matching attribute in the request. - produces: - - application/json - parameters: - - $ref: '#/parameters/Query.InterestRealm' - responses: - '200': - description: Successful response to a query a named set of access point status request - schema: - properties: - accessPointList: - $ref: '#/definitions/AccessPointList' - examples: - application/json: - accessPointList: - zoneId: zone01 - accessPoint: - - accessPointId: '001010000000000000000000000000001' - locationInfo: - latitude: '90.123' - longitude: '80.123' - altitude: '10.0' - accuracy: '0' - connectionType: Macro - operationStatus: Serviceable - numberOfUsers: '5' - interestRealm: LA - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001' - - accessPointId: '001010000000000000000000000000010' - locationInfo: - latitude: '91.123' - longitude: '81.123' - altitude: '12.0' - accuracy: '1' - connectionType: Macro - operationStatus: Unserviceable - numberOfUsers: '0' - interestRealm: DC - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002' - - accessPointId: '001010000000000000000000000000011' - locationInfo: - latitude: '93.123' - longitude: '83.123' - altitude: '16.0' - accuracy: '3' - connectionType: Macro - operationStatus: Serviceable - numberOfUsers: '5' - interestRealm: NJ - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003' - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints' - '/zones/{zoneId}/accessPoints/{accessPointId}': - parameters: - - $ref: '#/parameters/Path.ZoneId' - - $ref: '#/parameters/Path.AccessPointId' - get: - tags: - - zones - operationId: zonesByIdGetApsById - description: Access point status can be retrieved for sets of access points matching attribute in the request. - produces: - - application/json - responses: - '200': - description: Successful response to a query a named set of access point status request - schema: - properties: - accessPointInfo: - $ref: '#/definitions/AccessPointInfo' - examples: - application/json: - accessPointInfo: - accessPointId: '001010000000000000000000000000001' - locationInfo: - latitude: '90.123' - longitude: '80.123' - altitude: '10.0' - accuracy: '0' - connectionType: Macro - operationStatus: Serviceable - numberOfUsers: '5' - interestRealm: LA - resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001' - /users: - get: - tags: - - users - operationId: usersGet - description: Users currently using a zone may be retrieved for sets of access points matching attribute in the request - produces: - - application/json - parameters: - - $ref: '#/parameters/Query.ZoneId' - - $ref: '#/parameters/Query.AccessPointId' - responses: - '200': - description: Successful response to a query users within a zone request - schema: - properties: - userList: - $ref: '#/definitions/UserList' - examples: - application/json: - userList: - user: - - address: 'acr:192.0.2.1' - accessPointId: '001010000000000000000000000000001' - zoneId: zone01 - resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1' - - address: 'acr:192.0.2.2' - accessPointId: '001010000000000000000000000000001' - zoneId: zone01 - resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.2' - - address: 'acr:192.0.2.3' - accessPointId: '001010000000000000000000000000010' - zoneId: zone01 - resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.3' - - address: 'acr:192.0.2.4' - accessPointId: '001010000000000000000000000000001' - zoneId: zone02 - resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.4' - - address: 'acr:192.0.2.5' - accessPointId: '001010000000000000000000000000010' - zoneId: zone02 - resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.5' - resourceURL: 'http://example.com/exampleAPI/location/v1/users' - '/users/{userId}': - parameters: - - $ref: '#/parameters/Path.UserId' - get: - tags: - - users - operationId: usersGetById - description: Users currently using a zone may be retrieved for sets of access points matching attribute in the request - produces: - - application/json - responses: - '200': - description: Successful response to a query users within a zone request - schema: - properties: - userInfo: - $ref: '#/definitions/UserInfo' - examples: - application/json: - userInfo: - address: 'acr:192.0.2.1' - accessPointId: '001010000000000000000000000000001' - zoneId: zone01 - resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1' - locationInfo: - latitude: '90.123' - longitude: '80.123' - altitude: '10.0' - accuracy: '0' - contextLocationInfo: GroundFloor - /subscriptions/zonalTraffic: - get: - tags: - - subscriptions - operationId: zonalTrafficSubGet - description: This operation is used for retrieving all active subscriptions to zonal traffic change notifications. - produces: - - application/json - responses: - '200': - description: Response to retrieve zonal traffic subscriptions - schema: - type: object - properties: - notificationSubscriptionList: - type: object - properties: - zonalTrafficSubscription: - type: array - items: - $ref: '#/definitions/ZonalTrafficSubscription' - resourceURL: - $ref: '#/definitions/ResourceURL' - examples: - application/json: - notificationSubscriptionList: - zonalTrafficSubscription: - - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - interestRealm: LA - userEventCriteria: Transferring - - clientCorrelator: '0124' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription124' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123457' - zoneId: zone02 - interestRealm: LA - userEventCriteria: Transferring - resourceURL: 'http://example.com/exampleAPI/location/v1/zonalTraffic' - post: - tags: - - subscriptions - operationId: zonalTrafficSubPost - description: This operation is used for creating a new subscription to zonal traffic change notification. - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.ZonalTrafficSubscription' - responses: - '201': - description: Response to create new zonal traffic subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZonalTrafficSubscription' - examples: - application/json: - zonalTrafficSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - interestRealm: LA - userEventCriteria: Transferring - '/subscriptions/zonalTraffic/{subscriptionId}': - parameters: - - $ref: '#/parameters/Path.SubscriptionId' - get: - tags: - - subscriptions - operationId: zonalTrafficSubGetById - description: This operation is used for updating an individual subscription to zonal traffic change notification. - produces: - - application/json - responses: - '200': - description: Response to retrieve individual zonal traffic subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZonalTrafficSubscription' - examples: - application/json: - zonalTrafficSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - interestRealm: LA - userEventCriteria: Transferring - put: - tags: - - subscriptions - operationId: zonalTrafficSubPutById - description: This operation is used for updating an individual subscription to zonal traffic change notification. - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.ZonalTrafficSubscription' - responses: - '200': - description: Response to update individual zonal traffic subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZonalTrafficSubscription' - examples: - application/json: - zonalTrafficSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - interestRealm: LA - userEventCriteria: Transferring - delete: - tags: - - subscriptions - operationId: zonalTrafficSubDelById - description: This operation is used for cancelling a subscription and stopping corresponding notifications. - produces: - - application/json - responses: - '204': - description: No content - /subscriptions/userTracking: - get: - tags: - - subscriptions - operationId: userTrackingSubGet - description: This operation is used for retrieving all active subscriptions to user tracking change notifications. - produces: - - application/json - responses: - '200': - description: Response to retrieve user tracking subscriptions - schema: - type: object - properties: - notificationSubscriptionList: - type: object - properties: - userTrackingSubscription: - type: array - items: - $ref: '#/definitions/UserTrackingSubscription' - resourceURL: - $ref: '#/definitions/ResourceURL' - examples: - application/json: - notificationSubscriptionList: - userTrackingSubscription: - - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - address: 'acr:192.0.2.1' - userEventCriteria: Transferring - - clientCorrelator: '0124' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription124' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - address: 'acr:192.0.2.2' - userEventCriteria: Transferring - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking' - post: - tags: - - subscriptions - operationId: userTrackingSubPost - description: This operation is used for creating a new subscription to user tracking change notification - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.UserTrackingSubscription' - responses: - '201': - description: Response to create new user tracking subscription - schema: - properties: - userTrackingSubscription: - $ref: '#/definitions/UserTrackingSubscription' - examples: - application/json: - userTrackingSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - address: 'acr:192.0.2.1' - userEventCriteria: Transferring - '/subscriptions/userTracking/{subscriptionId}': - parameters: - - $ref: '#/parameters/Path.SubscriptionId' - get: - tags: - - subscriptions - operationId: userTrackingSubGetById - description: This operation is used for retrieving an individual subscription to user tracking change notification. - produces: - - application/json - responses: - '200': - description: Response to retrieve individual user tracking subscription - schema: - properties: - userTrackingSubscription: - $ref: '#/definitions/UserTrackingSubscription' - examples: - application/json: - userTrackingSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - address: 'acr:192.0.2.1' - userEventCriteria: Transferring - put: - tags: - - subscriptions - operationId: userTrackingSubPutById - description: This operation is used for updating an individual subscription to user tracking change notification. - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.UserTrackingSubscription' - responses: - '200': - description: Response to update individual user tracking subscription - schema: - properties: - userTrackingSubscription: - $ref: '#/definitions/UserTrackingSubscription' - examples: - application/json: - userTrackingSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - address: 'acr:192.0.2.1' - userEventCriteria: Transferring - delete: - tags: - - subscriptions - operationId: userTrackingSubDelById - description: This operation is used for retrieving an individual subscription to user tracking change notification. - produces: - - application/json - responses: - '204': - description: No Content - /subscriptions/zonalStatus: - get: - tags: - - subscriptions - operationId: zoneStatusGet - description: This operation is used for creating a new subscription to zone status change notification. - produces: - - application/json - responses: - '200': - description: Response to retrieve zone status subscriptions - schema: - type: object - properties: - notificationSubscriptionList: - type: object - properties: - zonalTrafficSubscription: - type: array - items: - $ref: '#/definitions/ZoneStatusSubscription' - resourceURL: - $ref: '#/definitions/ResourceURL' - examples: - application/json: - notificationSubscriptionList: - zoneStatusSubscription: - - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - numberOfUsersZoneThreshold: '500' - operationStatus: Serviceable - - clientCorrelator: '0124' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription124' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123457' - zoneId: zone02 - numberOfUsersAPThreshold: '50' - operationStatus: Serviceable - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus' - post: - tags: - - subscriptions - operationId: zoneStatusPost - description: This operation is used for creating a new subscription to zone status change notification. - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.ZoneStatusSubscription' - responses: - '201': - description: Response to create new zone status subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZoneStatusSubscription' - examples: - application/json: - zoneStatusSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - numberOfUsersZoneThreshold: '500' - operationStatus: Serviceable - '/subscriptions/zoneStatus/{subscriptionId}': - parameters: - - $ref: '#/parameters/Path.SubscriptionId' - get: - tags: - - subscriptions - operationId: zoneStatusGetById - description: This operation is used for retrieving an individual subscription to zone status change notification. - produces: - - application/json - responses: - '200': - description: Response to retrieve individual zone status subscription - schema: - properties: - zoneStatusSubscription: - $ref: '#/definitions/ZoneStatusSubscription' - examples: - application/json: - zoneStatusSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - numberOfUsersZoneThreshold: '500' - operationStatus: Serviceable - put: - tags: - - subscriptions - operationId: zoneStatusPutById - description: This operation is used for updating an individual subscription to zone status change notification. - produces: - - application/json - parameters: - - $ref: '#/parameters/Body.ZoneStatusSubscription' - responses: - '200': - description: Response to update individual zone status subscription - schema: - properties: - zoneStatusSubscription: - $ref: '#/definitions/ZoneStatusSubscription' - examples: - application/json: - zoneStatusSubscription: - clientCorrelator: '0123' - resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123' - callbackReference: - notifyURL: 'http://clientApp.example.com/location_notifications/123456' - zoneId: zone01 - numberOfUsersZoneThreshold: '500' - operationStatus: Serviceable - delete: - tags: - - subscriptions - operationId: zoneStatusDelById - description: This operation is used for cancelling a subscription and stopping corresponding notifications. - produces: - - application/json - responses: - '204': - description: No content -definitions: - AccessPointId: - description: 'Identifier of access point, (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element' - type: string - example: '001010000000000000000000000000001' - AccessPointInfo: - description: A type containing access point information. - type: object - required: - - accessPointId - - connectionType - - operationStatus - - numberOfUsers - - resourceURL - properties: - accessPointId: - $ref: '#/definitions/AccessPointId' - locationInfo: - $ref: '#/definitions/LocationInfo' - connectionType: - $ref: '#/definitions/ConnectionType' - operationStatus: - $ref: '#/definitions/OperationStatus' - numberOfUsers: - $ref: '#/definitions/NumberOfUsers' - timezone: - $ref: '#/definitions/Timezone' - interestRealm: - $ref: '#/definitions/InterestRealm' - resourceURL: - $ref: '#/definitions/ResourceURL' - AccessPointList: - description: A type containing list of access points. - type: object - required: - - zoneId - - resourceURL - properties: - zoneId: - $ref: '#/definitions/ZoneId' - accessPoint: - description: Collection of the access point information list. - type: array - items: - $ref: '#/definitions/AccessPointInfo' - resourceURL: - $ref: '#/definitions/ResourceURL' - Address: - description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).' - type: string - format: uri - example: 'acr:192.0.2.1' - AncillaryInfo: - description: Reserved for future use. - type: string - CallbackData: - description: 'CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common].' - type: string - example: '1234' - CallbackReference: - description: Notification callback definition. - type: object - required: - - notifyURL - properties: - notifyURL: - $ref: '#/definitions/NotifyURL' - ClientCorrelator: - description: 'Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.' - type: string - example: '0123' - ConnectionType: - description: The connection type for the access point - type: string - enum: - - Femto - - LTE-femto - - Smallcell - - LTE-smallcell - - Wifi - - Pico - - Micro - - Macro - - Wimax - - Unknown - example: Macro - ContextLocationInfo: - description: 'Contextual information of a user location (e.g., aisle, floor, room number, etc.)' - type: string - example: GroundFloor - CurrentAccessPointId: - description: Zone ID - type: string - example: zone01 - Duration: - description: 'Period (in seconds) of time notifications are provided for. If set to "0" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.' - type: string - example: '0' - InterestRealm: - description: 'Interest realm of access point (e.g. geographical area, a type of industry etc.).' - type: string - example: LA - Link: - description: Link to other resources - type: object - required: - - rel - - href - properties: - rel: - description: Describes the relationship between the URI and the resource. - type: object - format: string - href: - description: URI - type: object - format: anyURI - LocationInfo: - description: 'A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.' - type: object - required: - - latitude - - longitude - - accuracy - properties: - latitude: - type: number - format: float - example: '80.123' - longitude: - type: number - format: float - example: '70.123' - altitude: - type: number - format: float - example: '10.0' - accuracy: - type: integer - format: int32 - example: '10' - NotifyURL: - description: The URL of your own listener application. - type: string - format: url - example: 'http://clientApp.example.com/location_notifications/123456' - NumberOfAccessPoints: - description: The number of access points within the zone - type: integer - format: uint32 - example: '10' - NumberOfUnserviceableAccessPoints: - description: Number of inoperable access points within the zone. - type: integer - format: uint32 - example: '9' - NumberOfUsers: - description: The number of users currently on the access point. - type: integer - format: uint32 - example: '7' - NumberOfUsersAPThreshold: - description: Threshold number of users in an access point which if crossed shall cause a notification. - type: integer - format: uint32 - example: '20' - NumberOfUsersInAP: - description: This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription. - type: integer - format: uint32 - example: '12' - NumberOfUsersInZone: - description: This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription. - type: integer - format: uint32 - example: '20' - NumberOfUsersZoneThreshold: - description: Threshold number of users in a zone which if crossed shall cause a notification. - type: integer - format: uint32 - example: '40' - OperationStatus: - description: The operation status of the access point - type: string - enum: - - Serviceable - - Unserviceable - - Unknown - example: Serviceable - PreviousAccessPointId: - description: Zone ID - type: string - example: zone02 - ResourceURL: - description: Self referring URL. - type: string - format: uri - example: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123' - Timestamp: - description: Indicates the time of day for zonal presence notification. - type: string - format: date-time - example: '2017-01-01T02:51:43Z' - Timezone: - description: Time zone of access point - type: string - format: date-time - example: '2017-01-01T02:51:43Z' - UserEventCriteria: - description: 'List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.' - type: array - items: - $ref: '#/definitions/UserEventType' - UserEventType: - description: User event - type: string - enum: - - Entering - - Leaving - - Transferring - example: Entering - UserInfo: - description: A type containing user information. - type: object - required: - - address - - accessPointId - - zoneId - - resourceURL - properties: - address: - $ref: '#/definitions/Address' - accessPointId: - $ref: '#/definitions/AccessPointId' - zoneId: - $ref: '#/definitions/ZoneId' - resourceURL: - $ref: '#/definitions/ResourceURL' - locationInfo: - $ref: '#/definitions/LocationInfo' - contextLocationInfo: - $ref: '#/definitions/ContextLocationInfo' - ancillaryInfo: - $ref: '#/definitions/AncillaryInfo' - UserList: - description: A type containing list of users. - type: object - required: - - resourceURL - properties: - user: - description: Collection of the zone information list. - type: array - items: - $ref: '#/definitions/UserInfo' - resourceURL: - $ref: '#/definitions/ResourceURL' - UserTrackingSubscription: - description: A type containing user tracking subscription. - type: object - required: - - callbackReference - - address - properties: - clientCorrelator: - $ref: '#/definitions/ClientCorrelator' - callbackReference: - $ref: '#/definitions/CallbackReference' - address: - $ref: '#/definitions/Address' - userEventCriteria: - $ref: '#/definitions/UserEventCriteria' - resourceURL: - $ref: '#/definitions/ResourceURL' - ZonalPresenceNotification: - description: A type containing zonal presence notification - type: object - required: - - zoneId - - address - - userEventType - - currentAccessPointId - - timestamp - properties: - callbackData: - $ref: '#/definitions/CallbackData' - zoneId: - $ref: '#/definitions/ZoneId' - address: - $ref: '#/definitions/Address' - interestRealm: - $ref: '#/definitions/InterestRealm' - userEventType: - $ref: '#/definitions/UserEventType' - currentAccessPointId: - $ref: '#/definitions/CurrentAccessPointId' - previousAccessPointId: - $ref: '#/definitions/PreviousAccessPointId' - timestamp: - $ref: '#/definitions/Timestamp' - link: - description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification. - type: array - items: - $ref: '#/definitions/Link' - example: 'rel="ZonalTrafficSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/sub123"/' - ZonalTrafficSubscription: - description: A type containing zonal traffic subscription - type: object - required: - - callbackReference - - zoneId - properties: - clientCorrelator: - $ref: '#/definitions/ClientCorrelator' - callbackReference: - $ref: '#/definitions/CallbackReference' - zoneId: - $ref: '#/definitions/ZoneId' - interestRealm: - description: 'Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).' - type: array - items: - $ref: '#/definitions/InterestRealm' - userEventCriteria: - description: 'List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.' - type: array - items: - $ref: '#/definitions/UserEventType' - duration: - $ref: '#/definitions/Duration' - resourceURL: - $ref: '#/definitions/ResourceURL' - ZoneId: - description: Identifier of zone - type: string - example: zone01 - ZoneInfo: - description: A type containing zone information. - type: object - required: - - zoneId - - numberOfAccessPoints - - numberOfUnservicableAccessPoints - - numberOfUsers - - resourceURL - properties: - zoneId: - $ref: '#/definitions/ZoneId' - numberOfAccessPoints: - $ref: '#/definitions/NumberOfAccessPoints' - numberOfUnservicableAccessPoints: - $ref: '#/definitions/NumberOfUnserviceableAccessPoints' - numberOfUsers: - $ref: '#/definitions/NumberOfUsers' - resourceURL: - $ref: '#/definitions/ResourceURL' - ZoneList: - description: Collection of the zone information list. - type: object - required: - - resourceURL - properties: - zone: - description: Collection of the zone information list. - type: array - items: - $ref: '#/definitions/ZoneInfo' - resourceURL: - $ref: '#/definitions/ResourceURL' - ZoneStatusNotification: - description: A type containing zone status notification. - type: object - required: - - zoneId - - timestamp - properties: - callbackData: - $ref: '#/definitions/CallbackData' - zoneId: - $ref: '#/definitions/ZoneId' - accessPointId: - $ref: '#/definitions/AccessPointId' - numberOfUsersInZone: - $ref: '#/definitions/NumberOfUsersInZone' - numberOfUsersInAP: - $ref: '#/definitions/NumberOfUsersInAP' - operationStatus: - $ref: '#/definitions/OperationStatus' - timestamp: - $ref: '#/definitions/Timestamp' - link: - description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification. - type: array - items: - $ref: '#/definitions/Link' - example: 'rel="ZonalStatusSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalStatus/sub123"' - ZoneStatusSubscription: - description: A type containing zone status subscription. - type: object - required: - - callbackReference - - zoneId - properties: - clientCorrelator: - $ref: '#/definitions/ClientCorrelator' - resourceURL: - $ref: '#/definitions/ResourceURL' - callbackReference: - $ref: '#/definitions/CallbackReference' - zoneId: - $ref: '#/definitions/ZoneId' - numberOfUsersZoneThreshold: - $ref: '#/definitions/NumberOfUsersZoneThreshold' - numberOfUsersAPThreshold: - $ref: '#/definitions/NumberOfUsersAPThreshold' - operationStatus: - description: List of operation status values to generate notifications for (these apply to all access points within a zone). - type: array - items: - $ref: '#/definitions/OperationStatus' +openapi: 3.0.0 +info: + title: ETSI GS MEC 013 - Location API + version: 2.1.1 + description: The ETSI MEC ISG MEC013 WLAN Access Information API described using OpenAPI. + license: + name: BSD-3-Clause + url: 'https://forge.etsi.org/legal-matters' +externalDocs: + description: ETSI MEC013 V2.1.1 Location API + url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/02.01.01_60/gs_mec013v020101p.pdf' +servers: + - url: 'https://{apiRoot}/location/v2/' +paths: + /queries/distance: + get: + tags: + - '' + summary: 'UE Distance Lookup of a specific UE' + description: 'UE Distance Lookup between terminals or a terminal and a location' + operationId: distanceGET + parameters: + - $ref: '#/components/parameters/Query.Requester' + - $ref: '#/components/parameters/Query.AddressMandatory' + - $ref: '#/components/parameters/Query.Latitude' + - $ref: '#/components/parameters/Query.Longitude' + responses: + '200': + description: 'Successful response to a distance request' + content: + application/json: + schema: + type: object + properties: + terminalDistance: + $ref: '#/components/schemas/TerminalDistance' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'queries' + /queries/users: + get: + tags: + - '' + summary: 'UE Location Lookup of a specific UE or group of UEs' + description: 'UE Location Lookup of a specific UE or group of UEs' + operationId: usersGET + parameters: + - $ref: '#/components/parameters/Query.ZoneId' + - $ref: '#/components/parameters/Query.AccessPointId' + - $ref: '#/components/parameters/Query.Address' + responses: + '200': + description: 'Successful response to users request' + content: + application/json: + schema: + type: object + properties: + userList: + $ref: '#/components/schemas/UserList' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: "queries" + /queries/zones: + get: + tags: + - '' + summary: 'Zones information Lookup' + description: 'Used to get a list of identifiers for zones authorized for use by the application.' + operationId: zonesGET + responses: + '200': + description: 'Successful response to zones request' + content: + application/json: + schema: + type: object + properties: + zoneList: + $ref: '#/components/schemas/ZoneList' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: "queries" + /queries/zones/{zoneId}: + get: + tags: + - '' + summary: 'Zones information Lookup' + description: 'Used to get the information for an authorized zone for use by the application.' + operationId: zonesGetById + parameters: + - $ref: '#/components/parameters/Path.ZoneId' + responses: + '200': + description: 'Successful response to an access point Id request' + content: + application/json: + schema: + type: object + properties: + zoneInfo: + $ref: '#/components/schemas/ZoneInfo' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'queries' + /queries/zones/{zoneId}/accessPoints: + get: + tags: + - '' + summary: 'Radio Node Location Lookup' + description: 'Radio Node Location Lookup to retrieve a list of radio nodes associated to a zone.' + operationId: apGET + parameters: + - $ref: '#/components/parameters/Path.ZoneId' + - $ref: '#/components/parameters/Query.InterestRealm' + responses: + '200': + description: 'Successful response to an access point Id request' + content: + application/json: + schema: + type: object + properties: + accessPointList: + $ref: '#/components/schemas/AccessPointList' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: "queries" + /queries/zones/{zoneId}/accessPoints/{accessPointId}: + get: + tags: + - '' + summary: 'Radio Node Location Lookup' + description: 'Radio Node Location Lookup to retrieve a radio node associated to a zone.' + operationId: apByIdGET + parameters: + - $ref: '#/components/parameters/Path.ZoneId' + - $ref: '#/components/parameters/Path.AccessPointId' + responses: + '200': + description: 'Successful response to an access point Id request' + content: + application/json: + schema: + type: object + properties: + accessPointInfo: + $ref: '#/components/schemas/AccessPointInfo' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'queries' + /subscriptions/area/circle: + get: + tags: + - '' + summary: 'Retrieves all active subscriptions to area change notifications' + description: 'This operation is used for retrieving all active subscriptions to area change notifications.' + operationId: areaCircleSubListGET + responses: + '200': + description: 'Response to retrieve area subscriptions' + content: + application/json: + schema: + type: object + required: + - notificationSubscriptionList + properties: + notificationSubscriptionList: + $ref: '#/components/schemas/NotificationSubscriptionList' + example: + notificationSubscriptionList: + circleNotificationSubscription: + - clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + checkImmediate: true + enteringLeavingCriteria: 'Entering' + frequency: 10 + latitude: -80.88 + longitude: 41.277 + radius: 500 + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle' + post: + tags: + - '' + summary: 'Creates a subscription for area change notification' + description: 'Creates a subscription to the Location Service for an area change notification.' + operationId: areaCircleSubPOST + requestBody: + description: 'Subscription to be created' + required: true + content: + application/json: + schema: + type: object + properties: + circleNotificationSubscription: + $ref: '#/components/schemas/CircleNotificationSubscription' + example: + circleNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + checkImmediate: true + enteringLeavingCriteria: 'Entering' + frequency: 10 + latitude: -80.88 + longitude: 41.277 + radius: 500 + trackingAccuracy: 10 + responses: + '201': + description: 'Successful subscription' + content: + application/json: + schema: + type: object + properties: + circleNotificationSubscription: + $ref: '#/components/schemas/CircleNotificationSubscription' + example: + circleNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + checkImmediate: true + enteringLeavingCriteria: 'Entering' + frequency: 10 + latitude: -80.88 + longitude: 41.277 + radius: 500 + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + callbacks: + notification: + '{$request.body#/circleNotificationSubscription.callbackReference.notifyURL}': + post: + requestBody: + description: 'Subscription notification' + required: true + content: + application/json: + schema: + type: object + properties: + subscriptionNotification: + $ref: '#/components/schemas/SubscriptionNotification' + example: + subscriptionNotification: + enteringLeavingCriteria: 'Entering' + isFinalNotification: false, + link: + rel: CircleNotificationSubscription + href: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle/sub123' + terminalLocation: + address: 'acr:10.0.0.1' + currentLocation: + accuracy: 100 + altitude: 1001.0 + latitude: -80.86302 + longitude: 41.277306 + timestamp: + seconds: 1483231138 + nanoSeconds": 0 + locationRetrievalStatus: 'Retrieved' + responses: + '204': + $ref: '#/components/responses/204' + x-swagger-router-controller: 'subscriptions' + /subscriptions/area/circle/{subscriptionId}: + get: + tags: + - '' + summary: 'Retrieve subscription information' + description: 'Get subscription information.' + operationId: areaCircleSubGET + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Subscription information regarding subscription notifications' + content: + application/json: + schema: + type: object + required: + - circleNotificationSubscription + properties: + circleNotificationSubscription: + $ref: '#/components/schemas/CircleNotificationSubscription' + example: + circleNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + checkImmediate: true + enteringLeavingCriteria: 'Entering' + frequency: 10 + latitude: -80.88 + longitude: 41.277 + radius: 500 + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + put: + tags: + - '' + summary: 'Updates a subscription information' + description: 'Updates a subscription.' + operationId: areaCircleSubPUT + requestBody: + description: 'Subscription to be modified' + required: true + content: + application/json: + schema: + type: object + properties: + circleNotificationSubscription: + $ref: '#/components/schemas/CircleNotificationSubscription' + example: + circleNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + checkImmediate: true + enteringLeavingCriteria: 'Entering' + frequency: 10 + latitude: -80.88 + longitude: 41.277 + radius: 500 + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123' + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Successful subscription to response to subscription notifications' + content: + application/json: + schema: + type: object + properties: + circleNotificationSubscription: + $ref: '#/components/schemas/CircleNotificationSubscription' + example: + circleNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + checkImmediate: true + enteringLeavingCriteria: 'Entering' + frequency: 10 + latitude: -80.88 + longitude: 41.277 + radius: 500 + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + delete: + tags: + - '' + summary: 'Cancel a subscription' + description: 'Method to delete a subscription.' + operationId: areaCircleSubDELETE + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '204': + $ref: '#/components/responses/204' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + /subscriptions/distance: + get: + tags: + - '' + summary: 'Retrieves all active subscriptions to distance change notifications' + description: 'This operation is used for retrieving all active subscriptions to a distance change notifications.' + operationId: distanceSubListGET + responses: + '200': + description: 'Response to retrieve area subscriptions' + content: + application/json: + schema: + type: object + required: + - notificationSubscriptionList + properties: + notificationSubscriptionList: + $ref: '#/components/schemas/NotificationSubscriptionList' + example: + notificationSubscriptionList: + distanceNotificationSubscription: + - clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + monitoredAddress: + - 'acr:10.0.0.1' + - 'acr:10.0.0.2' + checkImmediate: true + criteria: 'AllWithinDistance' + distance: 100 + frequency: 10 + referenceAddress: 'acr:10.0.0.3' + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/distance/sub123' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/distance' + post: + tags: + - '' + summary: 'Creates a subscription for distance change notification' + description: 'Creates a subscription to the Location Service for a distance change notification.' + operationId: distanceSubPOST + requestBody: + description: 'Subscription to be created' + required: true + content: + application/json: + schema: + type: object + properties: + distanceNotificationSubscription: + $ref: '#/components/schemas/DistanceNotificationSubscription' + example: + distanceNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + monitoredAddress: + - 'acr:10.0.0.1' + - 'acr:10.0.0.2' + checkImmediate: true + criteria: 'AllWithinDistance' + distance: 100 + frequency: 10 + referenceAddress: 'acr:10.0.0.3' + trackingAccuracy: 10 + responses: + '201': + description: 'Successful subscription' + content: + application/json: + schema: + type: object + properties: + distanceNotificationSubscription: + $ref: '#/components/schemas/DistanceNotificationSubscription' + example: + distanceNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + monitoredAddress: + - 'acr:10.0.0.1' + - 'acr:10.0.0.2' + checkImmediate: true + criteria: 'AllWithinDistance' + distance: 100 + frequency: 10 + referenceAddress: 'acr:10.0.0.3' + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + callbacks: + notification: + '{$request.body#/distanceNotificationSubscription.callbackReference.notifyURL}': + post: + requestBody: + description: 'Subscription notification' + required: true + content: + application/json: + schema: + type: object + properties: + subscriptionNotification: + $ref: '#/components/schemas/SubscriptionNotification' + example: + subscriptionNotification: + distanceCriteria: 'AllWithinDistance' + isFinalNotification: false, + link: + rel: DistanceNotificationSubscription + href: 'http://meAppServer.example.com/location/v2/subscriptions/distance/sub123' + terminalLocation: + - address: 'acr:10.0.0.1' + currentLocation: + accuracy: 100 + altitude: 1001.0 + latitude: -80.86302 + longitude: 41.277306 + timestamp: + seconds: 1483231138 + nanoSeconds": 0 + locationRetrievalStatus: 'Retrieved' + - address: 'acr:10.0.0.2' + currentLocation: + accuracy: 100 + altitude: 1001.0 + latitude: -80.86301 + longitude: 41.277306 + timestamp: + seconds: 1483231138 + nanoSeconds": 0 + locationRetrievalStatus: 'Retrieved' + responses: + '204': + $ref: '#/components/responses/204' + x-swagger-router-controller: "subscriptions" + /subscriptions/distance/{subscriptionId}: + get: + tags: + - '' + summary: 'Retrieve subscription information' + description: 'Get subscription information.' + operationId: distanceSubGET + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Subscription information regarding subscription notifications' + content: + application/json: + schema: + type: object + required: + - distanceNotificationSubscription + properties: + distanceNotificationSubscription: + $ref: '#/components/schemas/DistanceNotificationSubscription' + example: + distanceNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + monitoredAddress: + - 'acr:10.0.0.1' + - 'acr:10.0.0.2' + checkImmediate: true + criteria: 'AllWithinDistance' + distance: 100 + frequency: 10 + referenceAddress: 'acr:10.0.0.3' + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + put: + tags: + - '' + summary: 'Updates a subscription information' + description: 'Updates a subscription.' + operationId: distanceSubPUT + requestBody: + description: 'Subscription to be modified' + required: true + content: + application/json: + schema: + type: object + properties: + distanceNotificationSubscription: + $ref: '#/components/schemas/DistanceNotificationSubscription' + example: + distanceNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + monitoredAddress: + - 'acr:10.0.0.1' + - 'acr:10.0.0.2' + checkImmediate: true + criteria: 'AllWithinDistance' + distance: 100 + frequency: 10 + referenceAddress: 'acr:10.0.0.3' + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123' + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Successful subscription to response to subscription notifications' + content: + application/json: + schema: + type: object + properties: + distanceNotificationSubscription: + $ref: '#/components/schemas/DistanceNotificationSubscription' + example: + distanceNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + monitoredAddress: + - 'acr:10.0.0.1' + - 'acr:10.0.0.2' + checkImmediate: true + criteria: 'AllWithinDistance' + distance: 100 + frequency: 10 + referenceAddress: 'acr:10.0.0.3' + trackingAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + delete: + tags: + - '' + summary: 'Cancel a subscription' + description: 'Method to delete a subscription.' + operationId: distanceSubDELETE + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '204': + $ref: '#/components/responses/204' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + /subscriptions/periodic: + get: + tags: + - '' + summary: 'Retrieves all active subscriptions to periodic notifications' + description: 'This operation is used for retrieving all active subscriptions to periodic notifications.' + operationId: periodicSubListGET + responses: + '200': + description: 'Response to retrieve area subscriptions' + content: + application/json: + schema: + type: object + required: + - notificationSubscriptionList + properties: + notificationSubscriptionList: + $ref: '#/components/schemas/NotificationSubscriptionList' + example: + notificationSubscriptionList: + periodicNotificationSubscription: + - clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + frequency: 10 + requestedAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/periodic' + post: + tags: + - '' + summary: 'Creates a subscription for periodic notification' + description: 'Creates a subscription to the Location Service for a periodic notification.' + operationId: periodicSubPOST + requestBody: + description: Subscription to be created + required: true + content: + application/json: + schema: + type: object + properties: + periodicNotificationSubscription: + $ref: '#/components/schemas/PeriodicNotificationSubscription' + example: + periodicNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + frequency: 10 + requestedAccuracy: 10 + responses: + '201': + description: 'Successful subscription' + content: + application/json: + schema: + type: object + properties: + periodicNotificationSubscription: + $ref: '#/components/schemas/PeriodicNotificationSubscription' + example: + periodicNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + frequency: 10 + requestedAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + callbacks: + notification: + '{$request.body#/periodicNotificationSubscription.callbackReference.notifyURL}': + post: + requestBody: + description: 'Subscription notification' + required: true + content: + application/json: + schema: + type: object + properties: + subscriptionNotification: + $ref: '#/components/schemas/SubscriptionNotification' + example: + subscriptionNotification: + isFinalNotification: false, + link: + rel: PeriodicNotificationSubscription + href: 'http://meAppServer.example.com/location/v2/subscriptions/periodic/sub123' + terminalLocation: + address: 'acr:10.0.0.1' + currentLocation: + accuracy: 100 + altitude: 1001.0 + latitude: -80.86302 + longitude: 41.277306 + timestamp: + seconds: 1483231138 + nanoSeconds": 0 + locationRetrievalStatus: 'Retrieved' + responses: + '204': + $ref: '#/components/responses/204' + x-swagger-router-controller: 'subscriptions' + /subscriptions/periodic/{subscriptionId}: + get: + tags: + - '' + summary: 'Retrieve subscription information' + description: 'Get subscription information.' + operationId: periodicSubGET + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Subscription information regarding subscription notifications' + content: + application/json: + schema: + type: object + required: + - periodicNotificationSubscription + properties: + periodicNotificationSubscription: + $ref: '#/components/schemas/PeriodicNotificationSubscription' + example: + periodicNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + frequency: 10 + requestedAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + put: + tags: + - '' + summary: 'Updates a subscription information' + description: 'Updates a subscription.' + operationId: periodicSubPUT + requestBody: + description: 'Subscription to be modified' + required: true + content: + application/json: + schema: + type: object + properties: + periodicNotificationSubscription: + $ref: '#/components/schemas/PeriodicNotificationSubscription' + example: + periodicNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + frequency: 10 + requestedAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123' + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Successful subscription to response to subscription notifications' + content: + application/json: + schema: + type: object + properties: + periodicNotificationSubscription: + $ref: '#/components/schemas/PeriodicNotificationSubscription' + example: + periodicNotificationSubscription: + clientCorrelator: '0123' + callbackReference: + callbackData: '1234' + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:10.0.0.1' + frequency: 10 + requestedAccuracy: 10 + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/periodic/subscription123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: "subscriptions" + delete: + tags: + - '' + summary: 'Cancel a subscription' + description: 'Method to delete a subscription.' + operationId: periodicSubDELETE + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '204': + $ref: '#/components/responses/204' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + /subscriptions/userTracking: + get: + tags: + - '' + summary: 'Retrieves all active subscriptions to user tracking notifications' + description: 'This operation is used for retrieving all active subscriptions to user tracking notifications.' + operationId: userTrackingSubListGET + responses: + '200': + description: "Response to retrieve user tracking subscriptions" + content: + application/json: + schema: + type: object + required: + - notificationSubscriptionList + properties: + notificationSubscriptionList: + $ref: '#/components/schemas/NotificationSubscriptionList' + example: + notificationSubscriptionList: + userTrackingSubscription: + - clientCorrelator: '0123' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking/subscription123' + callbackReference: + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:192.0.2.1' + userEventCriteria: ["Transferring"] + - clientCorrelator: '0124' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking/subscription124' + callbackReference: + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + address: 'acr:192.0.2.2' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking' + post: + tags: + - '' + summary: 'Creates a subscription for user tracking notification' + description: 'Creates a subscription to the Location Service for user tracking change notification.' + operationId: userTrackingSubPOST + requestBody: + description: 'Subscription to be created' + required: true + content: + application/json: + schema: + type: object + properties: + userTrackingSubscription: + $ref: '#/components/schemas/UserTrackingSubscription' + example: + userTrackingSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + address: 'acr:10.0.0.1' + userEventCriteria: ["Transferring"] + responses: + '201': + description: 'Successful subscription' + content: + application/json: + schema: + type: object + properties: + userTrackingSubscription: + $ref: '#/components/schemas/UserTrackingSubscription' + example: + userTrackingSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + address: 'acr:10.0.0.1' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + callbacks: + notification: + '{$request.body#/userTrackingSubscription.callbackReference.notifyURL}': + post: + requestBody: + description: 'Subscription notification' + required: true + content: + application/json: + schema: + type: object + properties: + zonalPresenceNotification: + $ref: '#/components/schemas/ZonalPresenceNotification' + example: + zonalPresenceNotification: + clientCorrelator: '0123' + zoneId: 'zone01' + address: 'acr:10.0.0.1' + userEventType: 'Transferring' + currentAccessPointId: 'ap2' + previousAccessPointId: 'ap1' + timestamp: + seconds: 1483231138 + nanoseconds: 0 + link: + rel: UserTrackingSubscription + href: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123' + responses: + '204': + $ref: '#/components/responses/204' + x-swagger-router-controller: 'subscriptions' + /subscriptions/userTracking/{subscriptionId}: + get: + tags: + - '' + summary: 'Retrieve subscription information' + description: 'Get subscription information.' + operationId: userTrackingSubGET + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Subscription information regarding subscription notifications' + content: + application/json: + schema: + type: object + required: + - userTrackingSubscription + properties: + userTrackingSubscription: + $ref: '#/components/schemas/UserTrackingSubscription' + example: + userTrackingSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + address: 'acr:10.0.0.1' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + put: + tags: + - '' + summary: 'Updates a subscription information' + description: 'Updates a subscription.' + operationId: userTrackingSubPUT + requestBody: + description: 'Subscription to be modified' + required: true + content: + application/json: + schema: + type: object + properties: + userTrackingSubscription: + $ref: '#/components/schemas/UserTrackingSubscription' + example: + userTrackingSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + address: 'acr:10.0.0.1' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123' + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Successful subscription to response to subscription notifications' + content: + application/json: + schema: + type: object + properties: + userTrackingSubscription: + $ref: '#/components/schemas/UserTrackingSubscription' + example: + userTrackingSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + address: 'acr:10.0.0.1' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + delete: + tags: + - '' + summary: 'Cancel a subscription' + description: 'Method to delete a subscription.' + operationId: userTrackingSubDELETE + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '204': + $ref: '#/components/responses/204' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + /subscriptions/zonalTraffic: + get: + tags: + - '' + summary: 'Retrieves all active subscriptions to zonal traffic notifications' + description: 'This operation is used for retrieving all active subscriptions to zonal traffic change notifications.' + operationId: zonalTrafficSubListGET + responses: + '200': + description: 'Response to retrieve zonal traffic subscriptions' + content: + application/json: + schema: + type: object + required: + - notificationSubscriptionList + properties: + notificationSubscriptionList: + $ref: '#/components/schemas/NotificationSubscriptionList' + example: + notificationSubscriptionList: + zonalTrafficSubscription: + - clientCorrelator: '0123' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/subscription123' + callbackReference: + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + zoneId: 'zone01' + userEventCriteria: ["Transferring"] + - clientCorrelator: '0124' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/subscription124' + callbackReference: + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + zoneId: 'zone02' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic' + post: + tags: + - '' + summary: 'Creates a subscription for zonal traffic notification' + description: 'Creates a subscription to the Location Service for zonal traffic change notification.' + operationId: zonalTrafficSubPOST + requestBody: + description: 'Subscription to be created' + required: true + content: + application/json: + schema: + type: object + properties: + zonalTrafficSubscription: + $ref: '#/components/schemas/ZonalTrafficSubscription' + example: + zonalTrafficSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + userEventCriteria: ["Transferring"] + responses: + '201': + description: 'Successful subscription' + content: + application/json: + schema: + type: object + properties: + zonalTrafficSubscription: + $ref: '#/components/schemas/ZonalTrafficSubscription' + example: + zonalTrafficSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + callbacks: + notification: + '{$request.body#/zonalTrafficSubscription.callbackReference.notifyURL}': + post: + requestBody: + description: 'Subscription notification' + required: true + content: + application/json: + schema: + type: object + properties: + zonalPresenceNotification: + $ref: '#/components/schemas/ZonalPresenceNotification' + example: + zonalPresenceNotification: + clientCorrelator: '0123' + zoneId: 'zone01' + address: 'acr:10.0.0.1' + userEventType: 'Transferring' + currentAccessPointId: 'ap2' + previousAccessPointId: 'ap1' + timestamp: + seconds: 1483231138 + nanoseconds: 0 + link: + rel: ZonalTrafficSubscription + href: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123' + responses: + '204': + $ref: '#/components/responses/204' + x-swagger-router-controller: 'subscriptions' + /subscriptions/zonalTraffic/{subscriptionId}: + get: + tags: + - '' + summary: 'Retrieve subscription information' + description: 'Get subscription information.' + operationId: ZonalTrafficSubGET + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Subscription information regarding subscription notifications' + content: + application/json: + schema: + type: object + required: + - zonalTrafficSubscription + properties: + zonalTrafficSubscription: + $ref: '#/components/schemas/ZonalTrafficSubscription' + example: + zonalTrafficSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: "subscriptions" + put: + tags: + - '' + summary: 'Updates a subscription information' + description: 'Updates a subscription.' + operationId: zonalTrafficSubPUT + requestBody: + description: 'Subscription to be modified' + required: true + content: + application/json: + schema: + type: object + properties: + zonalTrafficSubscription: + $ref: '#/components/schemas/ZonalTrafficSubscription' + example: + zonalTrafiicSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123' + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Successful subscription to response to subscription notifications' + content: + application/json: + schema: + type: object + properties: + zonalTrafficSubscription: + $ref: '#/components/schemas/ZonalTrafficSubscription' + example: + zonalTrafficSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + userEventCriteria: ["Transferring"] + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + delete: + tags: + - '' + summary: 'Cancel a subscription' + description: 'Method to delete a subscription.' + operationId: zonalTrafficSubDELETE + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '204': + $ref: '#/components/responses/204' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + /subscriptions/zoneStatus: + get: + tags: + - '' + summary: 'Retrieves all active subscriptions to zone status notifications' + description: 'This operation is used for retrieving all active subscriptions to zone status change notifications.' + operationId: zoneStatusSubListGET + responses: + '200': + description: 'Response to retrieve zone status subscriptions' + content: + application/json: + schema: + type: object + required: + - notificationSubscriptionList + properties: + notificationSubscriptionList: + $ref: '#/components/schemas/NotificationSubscriptionList' + example: + notificationSubscriptionList: + zoneStatusSubscription: + - clientCorrelator: '0123' + resourceURL: 'http://example.com/exampleAPI/location/v2/subscriptions/zoneStatus/subscription123' + callbackReference: + notifyURL: 'http://clientApp.example.com/location_notifications/123456' + zoneId: 'zone01' + numberOfUsersZoneThreshold: 500 + operationStatus: 'Serviceable' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus' + post: + tags: + - '' + summary: 'Creates a subscription for zone status notification' + description: 'Creates a subscription to the Location Service for zone status change notification.' + operationId: zoneStatusSubPOST + requestBody: + description: 'Subscription to be created' + required: true + content: + application/json: + schema: + type: object + properties: + zoneStatusSubscription: + $ref: '#/components/schemas/ZoneStatusSubscription' + example: + zoneStatusSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + numberOfUsersZoneThreshold: 500 + operationStatus: 'Serviceable' + responses: + '201': + description: 'Successful subscription' + content: + application/json: + schema: + type: object + properties: + zoneStatusSubscription: + $ref: '#/components/schemas/ZoneStatusSubscription' + example: + zoneStatusSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + numberOfUsersZoneThreshold: 500 + operationStatus: 'Serviceable' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + callbacks: + notification: + '{$request.body#/zoneStatusSubscription.callbackReference.notifyURL}': + post: + requestBody: + description: 'Subscription notification' + required: true + content: + application/json: + schema: + type: object + properties: + zoneStatusNotification: + $ref: '#/components/schemas/ZoneStatusNotification' + example: + zoneStatusNotification: + clientCorrelator: '0123' + zoneId: 'zone01' + accessPointId: 'poa1' + operationStatus: 'Serviceable' + numberOfUsersInZone: '20' + numberOfUsersInAP: '12' + timestamp: + seconds: 1483231138 + nanoseconds: 0 + link: + rel: ZoneStatusSubscription + href: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' + responses: + '204': + $ref: '#/components/responses/204' + x-swagger-router-controller: 'subscriptions' + /subscriptions/zoneStatus/{subscriptionId}: + get: + tags: + - '' + summary: 'Retrieve subscription information' + description: 'Get subscription information.' + operationId: zoneStatusSubGET + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Subscription information regarding subscription notifications' + content: + application/json: + schema: + type: object + required: + - zoneStatusSubscription + properties: + zoneStatusSubscription: + $ref: '#/components/schemas/ZoneStatusSubscription' + example: + zoneStatusSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + numberOfUsersZoneThreshold: 500 + operationStatus: 'Serviceable' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: "subscriptions" + put: + tags: + - '' + summary: 'Updates a subscription information' + description: 'Updates a subscription.' + operationId: zoneStatusSubPUT + requestBody: + description: 'Subscription to be modified' + required: true + content: + application/json: + schema: + type: object + properties: + zoneStatusSubscription: + $ref: '#/components/schemas/ZoneStatusSubscription' + example: + zoneStatusSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + numberOfUsersZoneThreshold: 500 + operationStatus: 'Serviceable' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '200': + description: 'Successful subscription to response to subscription notifications' + content: + application/json: + schema: + type: object + properties: + zoneStatusSubscription: + $ref: '#/components/schemas/ZoneStatusSubscription' + example: + zoneStatusSubscription: + clientCorrelator: '0123' + callbackReference: + notifyURL: 'http://my.callback.com/location_notifications/some-id' + zoneId: 'zone01' + numberOfUsersZoneThreshold: 500 + operationStatus: 'Serviceable' + resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' + '400': + $ref: '#/components/responses/400' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '406': + $ref: '#/components/responses/406' + '412': + $ref: '#/components/responses/412' + '422': + $ref: '#/components/responses/422' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' + delete: + tags: + - '' + summary: 'Cancel a subscription' + description: 'Method to delete a subscription.' + operationId: zoneStatusSubDELETE + parameters: + - $ref: '#/components/parameters/Path.SubscrId' + responses: + '204': + $ref: '#/components/responses/204' + '401': + $ref: '#/components/responses/401' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + x-swagger-router-controller: 'subscriptions' +components: + responses: + 200: + description: 'OK' + 204: + description: 'No Content' + 400: + description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 401: + description: 'Unauthorized : used when the client did not submit credentials.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 403: + description: 'Forbidden : operation is not allowed given the current status of the resource.' + content: + application/json: + schema: + type: object + required: + - problemDetails + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 404: + description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 406: + description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 412: + description: 'Precondition failed : used when a condition has failed during conditional requests, e.g. when + using ETags to avoid write conflicts when using PUT' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 414: + description: 'URI Too Long : used to indicate that the server is refusing to process the request because the request URI is + longer than the server is willing or able to process.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 415: + description: 'Unsupported Media Type : used to indicate that the server or the client does not support the content type of the entity body.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + 422: + description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the + syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an + JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This + error condition can also occur if the capabilities required by the request are not supported.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + example: + application/problem+json: + ProblemDetails: + type: 'https://meAppServer.example.com/rni/v2/probs/too-many targets' + title: Too many targets + status: '422' + detail: The target area for the request is considered too large + instance: /meAppClient.example.com/77777/msgs/abc + 429: + description: 'Too Many Requests : used when a rate limiter has triggered.' + content: + application/json: + schema: + type: object + properties: + problemDetails: + $ref: '#/components/schemas/ProblemDetails' + parameters: + Path.AccessPointId: + name: accessPointId + in: path + description: 'Identifier of access Point' + required: true + schema: + type: string + x-exportParamName: AccessPointId + Path.SubscrId: + name: subscriptionId + in: path + description: 'Subscription Identifier, specifically the "self" returned in the subscription request' + required: true + schema: + type: string + format: uri + x-exportParamName: SubscriptionId + Path.ZoneId: + name: zoneId + in: path + description: 'Indentifier of zone' + required: true + schema: + type: string + x-exportParamName: ZoneId + Query.AccessPointId: + name: accessPointId + in: query + description: Identifier of access point + required: false + schema: + type: array + items: + type: string + x-exportParamName: AccessPointId + Query.Address: + name: address + in: query + description: 'address of users (e.g. "sip" URI, "tel" URI, "acr" URI)' + required: false + schema: + type: array + items: + type: string + x-exportParamName: Address + Query.AddressMandatory: + name: address + in: query + description: 'address of users (e.g. "sip" URI, "tel" URI, "acr" URI)' + required: true + schema: + type: array + items: + type: string + x-exportParamName: AddressMandatory + Query.InterestRealm: + name: interestRealm + in: query + description: 'Interest realm of access point (e.g. geographical area, a type of industry etc.).' + required: false + schema: + type: string + x-exportParamName: InterestRealm + Query.Latitude: + name: latitude + in: query + description: Latitude geo position + required: false + schema: + type: number + format: float + x-exportParamName: Latitude + Query.Longitude: + name: longitude + in: query + description: Longitude geo position + required: false + schema: + type: number + format: float + x-exportParamName: Longitude + Query.Requester: + name: requester + in: query + description: Entity that is requesting the information + required: false + schema: + type: string + x-exportParamName: Requester + Query.ZoneId: + name: zoneId + in: query + description: Identifier of zone + required: false + schema: + type: array + items: + type: string + x-exportParamName: ZoneId + schemas: + AccessPointInfo: + description: A type containing access point information. + properties: + accessPointId: + description: Identifier of access point. + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + connectionType: + allOf: + - $ref: '#/components/schemas/ConnectionType' + description: Connection type of access point. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: ConnectionType + interestRealm: + description: Interest realm of access point. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + locationInfo: + allOf: + - $ref: '#/components/schemas/LocationInfo' + description: The coordinates of the access point. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: LocationInfo + numberOfUsers: + description: Number of users currently on the access point. + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: integer + operationStatus: + allOf: + - $ref: '#/components/schemas/OperationStatus' + description: Operation status of access point. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: OperationStatus + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + timezone: + description: Time zone of access point. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: dateTimeStamp + required: + - accessPointId + - connectionType + - operationStatus + - numberOfUsers + - resourceURL + type: object + AccessPointList: + description: A type containing list of access points. + properties: + accessPoint: + description: Collection of the access point information list. + items: + $ref: '#/components/schemas/AccessPointInfo' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: AccessPointInfo + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + zoneId: + description: Identifier of zone + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + required: + - zoneId + - resourceURL + type: object + CallbackReference: + properties: + callbackData: + description: Data the application can register with the server when subscribing + to notifications, and that are passed back unchanged in each of the related + notifications. These data can be used by the application in the processing + of the notification, e.g. for correlation purposes. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + notificationFormat: + allOf: + - $ref: '#/components/schemas/NotificationFormat' + description: Application can specify format of the resource representation + in notifications that are related to this subscription. The choice is + between {XML, JSON} + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + notifyURL: + description: Notify Callback URL + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: anyURI + required: + - notifyURL + type: object + CircleNotificationSubscription: + description: A type containing data for notifications, when the area is defined + as a circle. + properties: + address: + description: Address of terminals to monitor (e.g. "sip" URI, "tel" URI, + "acr" URI) + items: + type: string + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: anyURI + callbackReference: + allOf: + - $ref: '#/components/schemas/CallbackReference' + description: Notification callback definition + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + checkImmediate: + description: Check location immediately after establishing notification. + type: boolean + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: boolean + clientCorrelator: + description: A correlator that the client can use to tag this particular + resource representation during a request to create a resource on the server. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + count: + description: Maximum number of notifications per individual address. For + no maximum, either do not include this element or specify a value of zero. + Default value is 0. + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: int + duration: + description: "Period of time (in seconds) notifications are provided for.\ + \ If set to \u201C0\u201D (zero), a default duration time, which is specified\ + \ by the service policy, will be used. If the parameter is omitted, the\ + \ notifications will continue until the maximum duration time, which is\ + \ specified by the service policy, unless the notifications are stopped\ + \ by deletion of subscription for notifications." + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: int + enteringLeavingCriteria: + allOf: + - $ref: '#/components/schemas/EnteringLeavingCriteria' + description: Indicates whether the notification should occur when the + terminal enters or leaves the target area. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: EnteringLeavingCriteria + frequency: + description: Maximum frequency (in seconds) of notifications per subscription + (can also be considered minimum time between notifications). + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: int + latitude: + description: Latitude of center point. + format: float + type: number + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: float + link: + description: Link to other resources that are in relationship with the resource. + items: + $ref: '#/components/schemas/Link' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Link + longitude: + description: Longitude of center point. + format: float + type: number + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: float + radius: + description: Radius circle around center point in meters. + format: float + type: number + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: float + requester: + description: Identifies the entity that is requesting the information (e.g. + "sip" URI, "tel" URI, "acr" URI) + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + trackingAccuracy: + description: Number of meters of acceptable error in tracking distance. + format: float + type: number + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: float + required: + - callbackReference + - address + - latitude + - longitude + - radius + - trackingAccuracy + - enteringLeavingCriteria + - checkImmediate + - frequency + type: object + ConnectionType: + description: The connection type for the access point + enum: + - Femto + - LTE-femto + - Smallcell + - LTE-smallcell + - Wifi + - Pico + - Micro + - Macro + - Wimax + - Unknown + type: string + DistanceCriteria: + enum: + - AllWithinDistance + - AnyWithinDistance + - AllBeyondDistance + - AnyBeyondDistance + type: string + DistanceNotificationSubscription: + description: A type containing data for distance subscription, with reference + to other devices. + properties: + callbackReference: + allOf: + - $ref: '#/components/schemas/CallbackReference' + description: Notification callback definition + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + checkImmediate: + description: Check location immediately after establishing notification. + type: boolean + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: boolean + clientCorrelator: + description: A correlator that the client can use to tag this particular + resource representation during a request to create a resource on the server. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + count: + description: Maximum number of notifications per individual address. For + no maximum, either do not include this element or specify a value of zero. + Default value is 0. + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: int + criteria: + allOf: + - $ref: '#/components/schemas/DistanceCriteria' + description: Indicates whether the notification should occur when the + geographical relationship between monitored and referenced devices changes. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: DistanceCriteria + distance: + description: Distance between devices that shall be monitored. + format: float + type: number + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: float + duration: + description: "Period of time (in seconds) notifications are provided for.\ + \ If set to \u201C0\u201D (zero), a default duration time, which is specified\ + \ by the service policy, will be used. If the parameter is omitted, the\ + \ notifications will continue until the maximum duration time, which is\ + \ specified by the service policy, unless the notifications are stopped\ + \ by deletion of subscription for notifications." + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: int + frequency: + description: Maximum frequency (in seconds) of notifications per subscription + (can also be considered minimum time between notifications). + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: int + link: + description: Link to other resources that are in relationship with the resource. + items: + $ref: '#/components/schemas/Link' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Link + monitoredAddress: + description: Contains addresses of devices to monitor (e.g., 'sip' URI, + 'tel' URI, 'acr' URI) + items: + type: string + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: anyURI + referenceAddress: + description: Indicates address of each device that will be used as reference + devices from which the distances towards monitored devices indicated in + the Addresses will be monitored (e.g., 'sip' URI, 'tel' URI, 'acr' URI) + items: + type: string + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: anyURI + requester: + description: Identifies the entity that is requesting the information (e.g. + "sip" URI, "tel" URI, "acr" URI) + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + trackingAccuracy: + description: Number of meters of acceptable error in tracking distance. + format: float + type: number + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: float + required: + - callbackReference + - monitoredAddress + - distance + - trackingAccuracy + - criteria + - checkImmediate + - frequency + type: object + EnteringLeavingCriteria: + enum: + - Entering + - Leaving + type: string + Link: + description: Link to other resources + properties: + href: + description: URI + format: anyURI + type: string + rel: + description: Describes the relationship between the URI and the resource. + type: string + required: + - rel + - href + type: object + LocationInfo: + properties: + accuracy: + description: Horizontal accuracy / (semi-major) uncertainty of location + provided in meters, as defined in [14]. Present only if "shape" equals + 4, 5 or 6 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + accuracyAltitude: + description: Altitude accuracy / uncertainty of location provided in meters, + as defined in [14]. Present only if "shape" equals 3 or 4 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + accuracySemiMinor: + description: Horizontal accuracy / (semi-major) uncertainty of location + provided in meters, as defined in [14]. Present only if "shape" equals + 4, 5 or 6 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + altitude: + description: Location altitude relative to the WGS84 ellipsoid surface. + format: float + type: number + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Float + confidence: + description: Confidence by which the position of a target entity is known + to be within the shape description, expressed as a percentage and defined + in [14]. Present only if "shape" equals 1, 4 or 6 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + includedAngle: + description: Present only if "shape" equals 6 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + innerRadius: + description: Present only if "shape" equals 6 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + latitude: + description: "Location latitude, expressed in the range -90\xB0 to +90\xB0\ + . Cardinality greater than one only if \"shape\" equals 7." + items: + format: float + type: number + minItems: 1 + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: Float + longitude: + description: "Location longitude, expressed in the range -180\xB0 to +180\xB0\ + . Cardinality greater than one only if \"shape\" equals 7." + items: + format: float + type: number + minItems: 1 + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: Float + offsetAngle: + description: Present only if "shape" equals 6 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + orientationMajorAxis: + description: "Angle of orientation of the major axis, expressed in the range\ + \ 0\xB0 to 180\xB0, as defined in [14]. Present only if \"shape\" equals\ + \ 4 or 6" + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + shape: + description: 'Shape information, as detailed in [14], associated with the + reported location coordinate: + + 1 = ELLIPSOID_ARC + + 2 = ELLIPSOID_POINT + + 3 = ELLIPSOID_POINT_ALTITUDE + + 4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID + + 5 = ELLIPSOID_POINT_UNCERT_CIRCLE + + 6 = ELLIPSOID_POINT_UNCERT_ELLIPSE + + 7 = POLYGON' + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Enum_inlined + timestamp: + allOf: + - $ref: '#/components/schemas/TimeStamp' + description: Date and time that location was collected. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: TimeStamp + uncertaintyRadius: + description: Present only if "shape" equals 6 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + velocity: + description: "Structure with attributes relating to the target entity\u2019\ + s velocity, as defined in [14]." + properties: + bearing: + description: "Bearing, expressed in the range 0\xB0 to 360\xB0, as defined\ + \ in [14]." + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: UnsignedInt + horizontalSpeed: + description: Horizontal speed, expressed in km/h and defined in [14]. + type: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: UnsignedInt + uncertainty: + description: Horizontal uncertainty, as defined in [14]. Present only + if "velocityType" equals 3 or 4 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + velocityType: + description: 'Velocity information, as detailed in [14], associated + with the reported location coordinate: + + 1 = HORIZONTAL + + 2 = HORIZONTAL_VERTICAL + + 3 = HORIZONTAL_UNCERT + + 4 = HORIZONTAL_VERTICAL_UNCERT' + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Enum_inlined + verticalSpeed: + description: Vertical speed, expressed in km/h and defined in [14]. + Present only if "velocityType" equals 2 or 4 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Int + verticalUncertainty: + description: Vertical uncertainty, as defined in [14]. Present only + if "velocityType" equals 4 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: UnsignedInt + required: + - velocityType + - bearing + - horizontalSpeed + type: object + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Structure (inlined) + required: + - latitude + - longitude + - shape + - timestamp + type: object + x-etsi-ref: 6.5.3 + NotificationFormat: + enum: + - XML + - JSON + type: string + NotificationSubscriptionList: + properties: + circleNotificationSubscription: + description: Collection of CircleNotificationSubscription elements, see + note 2. + items: + $ref: '#/components/schemas/CircleNotificationSubscription' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0.. N + x-etsi-mec-origin-type: CircleNotificationSubscription + distanceNotificationSubscription: + description: Collection of DistanceNotificationSubscription elements, see + note 2. + items: + $ref: '#/components/schemas/DistanceNotificationSubscription' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0.. N + x-etsi-mec-origin-type: DistanceNotificationSubscription + periodicNotificationSubscription: + description: Collection of PeriodicNotificationSubscription elements, see + note 2. + items: + $ref: '#/components/schemas/PeriodicNotificationSubscription' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0.. N + x-etsi-mec-origin-type: PeriodicNotificationSubscription + resourceURL: + description: Self-referring URL, see note 1. + format: uri + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: AnyURI + userTrackingSubscription: + description: Collection of UserTrackingSubscription elements, see note 1. + items: + $ref: '#/components/schemas/UserTrackingSubscription' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0.. N + x-etsi-mec-origin-type: UserTrackingSubscription + zonalTrafficSubscription: + description: Collection of ZonalTrafficSubscription elements, see note 1. + items: + $ref: '#/components/schemas/ZonalTrafficSubscription' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0.. N + x-etsi-mec-origin-type: ZonalTrafficSubscription + zoneStatusSubscription: + description: Collection of ZoneStatusSubscription elements, see note 1. + items: + $ref: '#/components/schemas/ZoneStatusSubscription' + minItems: 0 + type: array + x-etsi-mec-cardinality: 0.. N + x-etsi-mec-origin-type: ZoneStatusSubscription + required: + - resourceURL + type: object + x-etsi-notes: "NOTE 1:\tAs specified in [5], clause 5.2.2.8.\nNOTE 2: \tAs specified\ + \ in [6], clause 5.2.2.7." + x-etsi-ref: 6.3.3 + OperationStatus: + enum: + - Serviceable + - Unserviceable + - Unknown + type: string + PeriodicNotificationSubscription: + description: A type containing data for periodic subscription. + properties: + address: + description: Address of terminals to monitor (e.g. "sip" URI, "tel" URI, + "acr" URI) + items: + type: string + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: anyURI + callbackReference: + allOf: + - $ref: '#/components/schemas/CallbackReference' + description: Notification callback definition + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + clientCorrelator: + description: A correlator that the client can use to tag this particular + resource representation during a request to create a resource on the server. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + duration: + description: "Period of time (in seconds) notifications are provided for.\ + \ If set to \u201C0\u201D (zero), a default duration time, which is specified\ + \ by the service policy, will be used. If the parameter is omitted, the\ + \ notifications will continue until the maximum duration time, which is\ + \ specified by the service policy, unless the notifications are stopped\ + \ by deletion of subscription for notifications." + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: int + frequency: + description: Maximum frequency (in seconds) of notifications (can also be + considered minimum time between notifications) per subscription. + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: int + link: + description: Link to other resources that are in relationship with the resource. + items: + $ref: '#/components/schemas/Link' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Link + requestedAccuracy: + description: Accuracy of the provided distance in meters. + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: int + requester: + description: Identifies the entity that is requesting the information (e.g. + "sip" URI, "tel" URI, "acr" URI) + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + required: + - callbackReference + - address + - requestedAccuracy + - frequency + type: object + ProblemDetails: + properties: + detail: + description: A human-readable explanation specific to this occurrence of + the problem + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: String + instance: + description: A URI reference that identifies the specific occurrence of + the problem + format: uri + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: URI + status: + description: The HTTP status code for this occurrence of the problem + format: uint32 + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: Uint32 + title: + description: A short, human-readable summary of the problem type + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: String + type: + description: A URI reference according to IETF RFC 3986 that identifies + the problem type + format: uri + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: URI + type: object + RetrievalStatus: + enum: + - Retrieved + - NotRetrieved + - Error + type: string + SerializerTypes: + type: string + ServiceError: + description: used to indicate a notification termination or cancellation. + properties: + messageId: + description: Message identifier, either with prefix SVC or with prefix POL + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + text: + description: Message text, with replacement variables marked with %n, where + n is an index into the list of elements, starting at 1 + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + variables: + description: Variables to substitute into text string + items: + type: string + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: string + required: + - messageId + - text + type: object + SubscriptionCancellationNotification: + description: A type containing the subscription cancellation notification. + properties: + address: + description: Address of terminal if the error applies to an individual terminal. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + callbackData: + description: CallbackData if passed by the application in the receiptRequest + element during the associated subscription operation + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + link: + description: Link to other resources that are in relationship with the resource. + items: + $ref: '#/components/schemas/Link' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Link + reason: + allOf: + - $ref: '#/components/schemas/ServiceError' + description: Reason notification is being discontinued. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: ServiceError + required: + - terminalLocation + type: object + SubscriptionNotification: + description: A type containing the notification subscription. + properties: + callbackData: + description: CallbackData if passed by the application in the receiptRequest + element during the associated subscription operation + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + distanceCriteria: + allOf: + - $ref: '#/components/schemas/DistanceCriteria' + description: Indicates which distance criteria that caused the notification. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: DistanceCriteria + enteringLeavingCriteria: + allOf: + - $ref: '#/components/schemas/EnteringLeavingCriteria' + description: Indicates whether the notification was caused by the terminal + entering or leaving the target area. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: EnteringLeavingCriteria + isFinalNotification: + description: Set to true if it is a final notification about location change. + type: boolean + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: boolean + link: + description: Link to other resources that are in relationship with the resource. + items: + $ref: '#/components/schemas/Link' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Link + terminalLocation: + description: Collection of the terminal locations. + items: + $ref: '#/components/schemas/TerminalLocation' + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: TerminalLocation + required: + - terminalLocation + type: object + TerminalDistance: + description: A type containing information about the distance from a terminal + to a location or between two terminals, in addition the accuracy and a timestamp + of the information are provided. + properties: + accuracy: + description: Accuracy of the provided distance in meters + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: integer + distance: + description: Distance from terminal to a location or between two terminals + specified in meters + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: integer + timestamp: + allOf: + - $ref: '#/components/schemas/TimeStamp' + description: Date and time that location from which distance is calculated + was collected. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: TimeStamp + required: + - distance + type: object + TerminalLocation: + description: A type containing device address, retrieval status and location + information. + properties: + address: + description: Address of the terminal to which the location information applies + (e.g., 'sip' URI, 'tel' URI, 'acr' URI). + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + currentLocation: + allOf: + - $ref: '#/components/schemas/LocationInfo' + description: Location of terminal. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: LocationInfo + errorInformation: + allOf: + - $ref: '#/components/schemas/ServiceError' + description: This is the reason for error. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: ServiceError + locationRetrievalStatus: + allOf: + - $ref: '#/components/schemas/RetrievalStatus' + description: Status of retrieval for this terminal address. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: RetrievalStatus + required: + - address + - locationRetrievalStatus + type: object + TerminalLocationList: + description: Collection of the terminal locations. + items: + $ref: '#/components/schemas/TerminalLocation' + type: array + x-etsi-mec-cardinality: 1..N + x-etsi-mec-origin-type: TerminalLocation + TimeStamp: + properties: + nanoSeconds: + type: integer + format: uint32 + description: 'The nanoseconds part of the time. Time is defined as + Unix-time since January 1, 1970, 00:00:00 UTC.' + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint32 + seconds: + type: integer + format: uint32 + description: 'The seconds part of the time. Time is defined as + Unix-time since January 1, 1970, 00:00:00 UTC.' + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Uint32 + required: + - seconds + - nanoSeconds + type: object + x-etsi-ref: 6.5.2 + UserEventType: + enum: + - Entering + - Leaving + - Transferring + type: string + UserInfo: + properties: + accessPointId: + description: The identity of the access point the user is currently on, + see note 1. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + address: + description: Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently + on the access point, see note 1. + format: uri + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: AnyURI + ancillaryInfo: + description: Reserved for future use. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: String + contextLocationInfo: + description: Contextual information of a user location (e.g. aisle, floor, + room number, etc.). + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: String + locationInfo: + allOf: + - $ref: '#/components/schemas/LocationInfo' + description: The geographical coordinates where the user is, see note 2. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: LocationInfo + resourceURL: + description: Self-referring URL, see note 1. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + timestamp: + allOf: + - $ref: '#/components/schemas/TimeStamp' + description: Date and time that location was collected. + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: TimeStamp + zoneId: + description: The identity of the zone the user is currently within, see + note 1. + type: string + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: String + required: + - address + - accessPointId + - zoneId + - resourceURL + - timeStamp + type: object + x-etsi-notes: "NOTE 1:\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified\ + \ in [5], clause 5.2.2.5." + x-etsi-ref: 6.2.2 + UserList: + description: A type containing list of users. + properties: + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + user: + description: Collection of the zone information list. + items: + $ref: '#/components/schemas/UserInfo' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: UserInfo + required: + - resourceURL + type: object + UserTrackingSubscription: + description: A type containing user tracking subscription. + properties: + address: + description: Address of user (e.g. "sip" URI, "tel" URI, "acr" URI) to monitor + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + callbackReference: + allOf: + - $ref: '#/components/schemas/CallbackReference' + description: Notification callback definition + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: CallbackReference + clientCorrelator: + description: A correlator that the client can use to tag this particular + resource representation during a request to create a resource on the server. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + userEventCriteria: + description: List of user event values to generate notifications for (these + apply to address specified). If this element is missing, a notification + is requested to be generated for any change in user event. + items: + $ref: '#/components/schemas/UserEventType' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: UserEventType + required: + - callbackReference + - address + type: object + VirtualNetworkInterfaceRequirements: + type: string + ZonalPresenceNotification: + description: A type containing zonal presence notification + properties: + address: + description: Address of user (e.g. "sip" URI, "tel" URI, "acr" URI) to monitor + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + callbackData: + description: CallBackData if passed by the application during the associated + ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common]. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + currentAccessPointId: + description: Identifier of access point. + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + interestRealm: + description: Interest realm of access point (e.g. geographical area, a type + of industry etc.). + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + link: + description: Link to other resources that are in relationship with this + notification. The server SHOULD include a link to the related subscription. + No other links are required or suggested by this specification + items: + $ref: '#/components/schemas/Link' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Link + previousAccessPointId: + description: Identifier of access point. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + timestamp: + allOf: + - $ref: '#/components/schemas/TimeStamp' + description: Indicates the time of the day for zonal presence notification. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: TimeStamp + userEventType: + allOf: + - $ref: '#/components/schemas/UserEventType' + description: User Event. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: UserEventType + zoneId: + description: Identifier of zone + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + required: + - zoneId + - address + - userEventType + - currentAccessPointId + - timestamp + type: object + ZonalTrafficSubscription: + description: A type containing zonal traffic subscription + properties: + callbackReference: + allOf: + - $ref: '#/components/schemas/CallbackReference' + description: Notification callback definition + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: CallbackReference + clientCorrelator: + description: A correlator that the client can use to tag this particular + resource representation during a request to create a resource on the server. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + duration: + description: Period (in seconds) of time notifications are provided for. + If set to "0" (zero), a default duration time, which is specified by the + service policy, will be used. If the parameter is omitted, the notifications + will continue until the maximum duration time, which is specified by the + service policy, unless the notifications are stopped by deletion of subscription + for notifications. This element MAY be given by the client during resource + creation in order to signal the desired lifetime of the subscription. + The server MUST return in this element the period of time for which + the subscription will still be valid. + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: unsignedInt + interestRealm: + description: Interest realm of access point (e.g. geographical area, a type + of industry etc.). + items: + type: string + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: string + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + userEventCriteria: + allOf: + - $ref: '#/components/schemas/UserEventType' + description: List of user event values to generate notifications for (these + apply to address specified). If this element is missing, a notification + is requested to be generated for any change in user event. + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: UserEventType + zoneId: + description: Identifier of zone + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + required: + - callbackReference + - zoneId + type: object + ZoneInfo: + description: A type containing zone information. + properties: + numberOfAccessPoints: + description: The number of access points within the zone + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: unsignedInt + numberOfUnserviceableAccessPoints: + description: Number of inoperable access points within the zone. + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: unsignedInt + numberOfUsers: + description: The number of users currently on the access point. + type: integer + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: unsignedInt + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + zoneId: + description: Identifier of zone + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + required: + - zoneId + - numberOfAccessPoints + - numberOfUnserviceableAccessPoints + - numberOfUsers + - resourceURL + type: object + ZoneList: + description: A type containing a list of zones. + properties: + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: anyURI + zone: + description: Collection of the zone information list. + items: + $ref: '#/components/schemas/ZoneInfo' + type: array + required: + - resourceURL + type: object + ZoneStatusNotification: + description: A type containing zone status notification. + properties: + accessPointId: + description: Identifier of an access point. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + callbackData: + description: CallBackData if passed by the application during the associated + ZoneStatusSubscription operation. See [REST_NetAPI_Common]. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + link: + description: Link to other resources that are in relationship with this + notification. The server SHOULD include a link to the related subscription. + No other links are required or suggested by this specification + items: + $ref: '#/components/schemas/Link' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: Link + numberOfUsersInAP: + description: This element shall be present when ZoneStatusSubscription includes + numberOfUsersAPThreshold element and the number of users in an access + point exceeds the threshold defined in the subscription. + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: unsignedInt + numberOfUsersInZone: + description: This element shall be present when ZoneStatusSubscription includes + numberOfUsersZoneThreshold element and the number of users in a zone exceeds + the threshold defined in this subscription. + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: unsignedInt + operationStatus: + allOf: + - $ref: '#/components/schemas/OperationStatus' + description: This element shall be present when ZoneStatusSubscription + includes operationStatus element and the operation status value of an + access point meets Serviceable or Unserviceable or Unknown defined in + the subscription. + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: OperationStatus + timestamp: + allOf: + - $ref: '#/components/schemas/TimeStamp' + description: Indicates the timeof day for zone status notification. + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: TimeStamp + zoneId: + description: Identifier of zone + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + required: + - zoneId + - timestamp + type: object + ZoneStatusSubscription: + description: A type containing zone status subscription. + properties: + callbackReference: + allOf: + - $ref: '#/components/schemas/CallbackReference' + description: Notification callback definition + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + clientCorrelator: + description: A correlator that the client can use to tag this particular + resource representation during a request to create a resource on the server. + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: string + numberOfUsersAPThreshold: + description: Threshold number of users in an access point which if crossed + shall cause a notification + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: unsignedInt + numberOfUsersZoneThreshold: + description: Threshold number of users in a zone which if crossed shall + cause a notification + type: integer + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: unsignedInt + operationStatus: + description: List of operation status values to generate notifications for + (these apply to all access points within a zone). + items: + $ref: '#/components/schemas/OperationStatus' + type: array + x-etsi-mec-cardinality: 0..N + x-etsi-mec-origin-type: OperationStatus + resourceURL: + description: Self referring URL + type: string + x-etsi-mec-cardinality: 0..1 + x-etsi-mec-origin-type: anyURI + zoneId: + description: Identifier of zone + type: string + x-etsi-mec-cardinality: 1 + x-etsi-mec-origin-type: string + required: + - callbackReference + - zoneId + type: object + diff --git a/README.md b/README.md index fd9184a..979b635 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,10 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ## Online resources -* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf) -* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs013-location-api/raw/master/LocationAPI.yaml). -* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs013-location-api/raw/master/LocationAPI.yaml). +* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs013-location-api/raw/stf593/LocationAPI.yaml). +* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs013-location-api/raw/stf593/LocationAPI.yaml). ## License Unless specified otherwise, the content of this repository and the files contained are released under the BSD-3-Clause license. -See the attached LICENSE file or visit https://forge.etsi.org/legal-matters. \ No newline at end of file +See the attached LICENSE file or visit https://forge.etsi.org/legal-matters. diff --git a/definitions/AccessPointId.yaml b/definitions/AccessPointId.yaml deleted file mode 100644 index f905377..0000000 --- a/definitions/AccessPointId.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Identifier of access point, (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element -type: string -example: "001010000000000000000000000000001" \ No newline at end of file diff --git a/definitions/AccessPointInfo.yaml b/definitions/AccessPointInfo.yaml deleted file mode 100644 index 9a4c4f9..0000000 --- a/definitions/AccessPointInfo.yaml +++ /dev/null @@ -1,25 +0,0 @@ -description: A type containing access point information. -type: object -required: -- accessPointId -- connectionType -- operationStatus -- numberOfUsers -- resourceURL -properties: - accessPointId: - $ref: '#/definitions/AccessPointId' - locationInfo: - $ref: '#/definitions/LocationInfo' - connectionType: - $ref: '#/definitions/ConnectionType' - operationStatus: - $ref: '#/definitions/OperationStatus' - numberOfUsers: - $ref: '#/definitions/NumberOfUsers' - timezone: - $ref: '#/definitions/Timezone' - interestRealm: - $ref: '#/definitions/InterestRealm' - resourceURL: - $ref: '#/definitions/ResourceURL' \ No newline at end of file diff --git a/definitions/AccessPointList.yaml b/definitions/AccessPointList.yaml deleted file mode 100644 index d864e17..0000000 --- a/definitions/AccessPointList.yaml +++ /dev/null @@ -1,15 +0,0 @@ -description: A type containing list of access points. -type: object -required: -- zoneId -- resourceURL -properties: - zoneId: - $ref: '#/definitions/ZoneId' - accessPoint: - description: Collection of the access point information list. - type: array - items: - $ref: '#/definitions/AccessPointInfo' - resourceURL: - $ref: '#/definitions/ResourceURL' \ No newline at end of file diff --git a/definitions/Address.yaml b/definitions/Address.yaml deleted file mode 100644 index 2610e1f..0000000 --- a/definitions/Address.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Address of user (e.g. "sip" URI, "tel" URI, "acr" URI). -type: string -format: uri -example: "acr:192.0.2.1" \ No newline at end of file diff --git a/definitions/AncillaryInfo.yaml b/definitions/AncillaryInfo.yaml deleted file mode 100644 index 686294c..0000000 --- a/definitions/AncillaryInfo.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: Reserved for future use. -type: string \ No newline at end of file diff --git a/definitions/CallbackData.yaml b/definitions/CallbackData.yaml deleted file mode 100644 index e2e5f40..0000000 --- a/definitions/CallbackData.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common]. -type: string -example: "1234" \ No newline at end of file diff --git a/definitions/CallbackReference.yaml b/definitions/CallbackReference.yaml deleted file mode 100644 index 305a899..0000000 --- a/definitions/CallbackReference.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: Notification callback definition. -type: object -required: -- notifyURL -properties: - notifyURL: - $ref: '#/definitions/NotifyURL' \ No newline at end of file diff --git a/definitions/ClientCorrelator.yaml b/definitions/ClientCorrelator.yaml deleted file mode 100644 index 17d15a7..0000000 --- a/definitions/ClientCorrelator.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription. -type: string -example: "0123" \ No newline at end of file diff --git a/definitions/ConnectionType.yaml b/definitions/ConnectionType.yaml deleted file mode 100644 index 0a999f2..0000000 --- a/definitions/ConnectionType.yaml +++ /dev/null @@ -1,14 +0,0 @@ -description: The connection type for the access point -type: string -enum: - - Femto - - LTE-femto - - Smallcell - - LTE-smallcell - - Wifi - - Pico - - Micro - - Macro - - Wimax - - Unknown -example: "Macro" \ No newline at end of file diff --git a/definitions/ContextLocationInfo.yaml b/definitions/ContextLocationInfo.yaml deleted file mode 100644 index 569a725..0000000 --- a/definitions/ContextLocationInfo.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Contextual information of a user location (e.g., aisle, floor, room number, etc.) -type: string -example: "GroundFloor" \ No newline at end of file diff --git a/definitions/CurrentAccessPointId.yaml b/definitions/CurrentAccessPointId.yaml deleted file mode 100644 index 9f454cf..0000000 --- a/definitions/CurrentAccessPointId.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Zone ID -type: string -example: "zone01" \ No newline at end of file diff --git a/definitions/Duration.yaml b/definitions/Duration.yaml deleted file mode 100644 index 318a0b6..0000000 --- a/definitions/Duration.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Period (in seconds) of time notifications are provided for. If set to "0" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid. -type: string -example: "0" \ No newline at end of file diff --git a/definitions/InterestRealm.yaml b/definitions/InterestRealm.yaml deleted file mode 100644 index 9fc7809..0000000 --- a/definitions/InterestRealm.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Interest realm of access point (e.g. geographical area, a type of industry etc.). -type: string -example: "LA" \ No newline at end of file diff --git a/definitions/Link.yaml b/definitions/Link.yaml deleted file mode 100644 index bc8680e..0000000 --- a/definitions/Link.yaml +++ /dev/null @@ -1,14 +0,0 @@ -description: Link to other resources -type: object -required: -- rel -- href -properties: - rel: - description: Describes the relationship between the URI and the resource. - type: object - format: string - href: - description: URI - type: object - format: anyURI diff --git a/definitions/LocationInfo.yaml b/definitions/LocationInfo.yaml deleted file mode 100644 index f74e791..0000000 --- a/definitions/LocationInfo.yaml +++ /dev/null @@ -1,23 +0,0 @@ -description: A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided. -type: object -required: -- latitude -- longitude -- accuracy -properties: - latitude: - type: number - format: float - example: "80.123" - longitude: - type: number - format: float - example: "70.123" - altitude: - type: number - format: float - example: "10.0" - accuracy: - type: integer - format: int32 - example: "10" \ No newline at end of file diff --git a/definitions/NotifyURL.yaml b/definitions/NotifyURL.yaml deleted file mode 100644 index 87b0555..0000000 --- a/definitions/NotifyURL.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: The URL of your own listener application. -type: string -format: url -example: "http://clientApp.example.com/location_notifications/123456" \ No newline at end of file diff --git a/definitions/NumberOfAccessPoints.yaml b/definitions/NumberOfAccessPoints.yaml deleted file mode 100644 index 4792bf3..0000000 --- a/definitions/NumberOfAccessPoints.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: The number of access points within the zone -type: integer -format: uint32 -example: "10" \ No newline at end of file diff --git a/definitions/NumberOfUnserviceableAccessPoints.yaml b/definitions/NumberOfUnserviceableAccessPoints.yaml deleted file mode 100644 index 0817f18..0000000 --- a/definitions/NumberOfUnserviceableAccessPoints.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Number of inoperable access points within the zone. -type: integer -format: uint32 -example: "9" \ No newline at end of file diff --git a/definitions/NumberOfUsers.yaml b/definitions/NumberOfUsers.yaml deleted file mode 100644 index c1f672a..0000000 --- a/definitions/NumberOfUsers.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: The number of users currently on the access point. -type: integer -format: uint32 -example: "7" \ No newline at end of file diff --git a/definitions/NumberOfUsersAPThreshold.yaml b/definitions/NumberOfUsersAPThreshold.yaml deleted file mode 100644 index 55dc370..0000000 --- a/definitions/NumberOfUsersAPThreshold.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Threshold number of users in an access point which if crossed shall cause a notification. -type: integer -format: uint32 -example: "20" \ No newline at end of file diff --git a/definitions/NumberOfUsersInAP.yaml b/definitions/NumberOfUsersInAP.yaml deleted file mode 100644 index 0cbd5d8..0000000 --- a/definitions/NumberOfUsersInAP.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription. -type: integer -format: uint32 -example: "12" \ No newline at end of file diff --git a/definitions/NumberOfUsersInZone.yaml b/definitions/NumberOfUsersInZone.yaml deleted file mode 100644 index 24012a2..0000000 --- a/definitions/NumberOfUsersInZone.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription. -type: integer -format: uint32 -example: "20" \ No newline at end of file diff --git a/definitions/NumberOfUsersZoneThreshold.yaml b/definitions/NumberOfUsersZoneThreshold.yaml deleted file mode 100644 index 097fe6f..0000000 --- a/definitions/NumberOfUsersZoneThreshold.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Threshold number of users in a zone which if crossed shall cause a notification. -type: integer -format: uint32 -example: "40" \ No newline at end of file diff --git a/definitions/OperationStatus.yaml b/definitions/OperationStatus.yaml deleted file mode 100644 index 53f2ec7..0000000 --- a/definitions/OperationStatus.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: The operation status of the access point -type: string -enum: - - Serviceable - - Unserviceable - - Unknown -example: "Serviceable" \ No newline at end of file diff --git a/definitions/PreviousAccessPointId.yaml b/definitions/PreviousAccessPointId.yaml deleted file mode 100644 index b909c75..0000000 --- a/definitions/PreviousAccessPointId.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Zone ID -type: string -example: "zone02" \ No newline at end of file diff --git a/definitions/ResourceURL.yaml b/definitions/ResourceURL.yaml deleted file mode 100644 index 426a17f..0000000 --- a/definitions/ResourceURL.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Self referring URL. -type: string -format: uri -example: "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" \ No newline at end of file diff --git a/definitions/Timestamp.yaml b/definitions/Timestamp.yaml deleted file mode 100644 index 46724f0..0000000 --- a/definitions/Timestamp.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Indicates the time of day for zonal presence notification. -type: string -format: date-time -example: "2017-01-01T02:51:43Z" \ No newline at end of file diff --git a/definitions/Timezone.yaml b/definitions/Timezone.yaml deleted file mode 100644 index 7846b71..0000000 --- a/definitions/Timezone.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: Time zone of access point -type: string -format: date-time -example: "2017-01-01T02:51:43Z" \ No newline at end of file diff --git a/definitions/UserEventCriteria.yaml b/definitions/UserEventCriteria.yaml deleted file mode 100644 index bb02d36..0000000 --- a/definitions/UserEventCriteria.yaml +++ /dev/null @@ -1,4 +0,0 @@ -description: List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event. -type: array -items: - $ref: '#/definitions/UserEventType' \ No newline at end of file diff --git a/definitions/UserEventType.yaml b/definitions/UserEventType.yaml deleted file mode 100644 index 3d60773..0000000 --- a/definitions/UserEventType.yaml +++ /dev/null @@ -1,7 +0,0 @@ -description: User event -type: string -enum: - - Entering - - Leaving - - Transferring -example: "Entering" \ No newline at end of file diff --git a/definitions/UserInfo.yaml b/definitions/UserInfo.yaml deleted file mode 100644 index 160bca1..0000000 --- a/definitions/UserInfo.yaml +++ /dev/null @@ -1,22 +0,0 @@ -description: A type containing user information. -type: object -required: -- address -- accessPointId -- zoneId -- resourceURL -properties: - address: - $ref: '#/definitions/Address' - accessPointId: - $ref: '#/definitions/AccessPointId' - zoneId: - $ref: '#/definitions/ZoneId' - resourceURL: - $ref: '#/definitions/ResourceURL' - locationInfo: - $ref: '#/definitions/LocationInfo' - contextLocationInfo: - $ref: '#/definitions/ContextLocationInfo' - ancillaryInfo: - $ref: '#/definitions/AncillaryInfo' \ No newline at end of file diff --git a/definitions/UserList.yaml b/definitions/UserList.yaml deleted file mode 100644 index 9de3640..0000000 --- a/definitions/UserList.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: A type containing list of users. -type: object -required: -- resourceURL -properties: - user: - description: Collection of the zone information list. - type: array - items: - $ref: '#/definitions/UserInfo' - resourceURL: - $ref: '#/definitions/ResourceURL' \ No newline at end of file diff --git a/definitions/UserTrackingSubscription.yaml b/definitions/UserTrackingSubscription.yaml deleted file mode 100644 index eeabe11..0000000 --- a/definitions/UserTrackingSubscription.yaml +++ /dev/null @@ -1,16 +0,0 @@ -description: A type containing user tracking subscription. -type: object -required: -- callbackReference -- address -properties: - clientCorrelator: - $ref: '#/definitions/ClientCorrelator' - callbackReference: - $ref: '#/definitions/CallbackReference' - address: - $ref: '#/definitions/Address' - userEventCriteria: - $ref: '#/definitions/UserEventCriteria' - resourceURL: - $ref: '#/definitions/ResourceURL' \ No newline at end of file diff --git a/definitions/ZonalPresenceNotification.yaml b/definitions/ZonalPresenceNotification.yaml deleted file mode 100644 index 2e1bb68..0000000 --- a/definitions/ZonalPresenceNotification.yaml +++ /dev/null @@ -1,31 +0,0 @@ -description: A type containing zonal presence notification -type: object -required: -- zoneId -- address -- userEventType -- currentAccessPointId -- timestamp -properties: - callbackData: - $ref: '#/definitions/CallbackData' - zoneId: - $ref: '#/definitions/ZoneId' - address: - $ref: '#/definitions/Address' - interestRealm: - $ref: '#/definitions/InterestRealm' - userEventType: - $ref: '#/definitions/UserEventType' - currentAccessPointId: - $ref: '#/definitions/CurrentAccessPointId' - previousAccessPointId: - $ref: '#/definitions/PreviousAccessPointId' - timestamp: - $ref: '#/definitions/Timestamp' - link: - description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification. - type: array - items: - $ref: '#/definitions/Link' - example: rel="ZonalTrafficSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/sub123"/ diff --git a/definitions/ZonalTrafficSubscription.yaml b/definitions/ZonalTrafficSubscription.yaml deleted file mode 100644 index d101919..0000000 --- a/definitions/ZonalTrafficSubscription.yaml +++ /dev/null @@ -1,26 +0,0 @@ -description: A type containing zonal traffic subscription -type: object -required: -- callbackReference -- zoneId -properties: - clientCorrelator: - $ref: '#/definitions/ClientCorrelator' - callbackReference: - $ref: '#/definitions/CallbackReference' - zoneId: - $ref: '#/definitions/ZoneId' - interestRealm: - description: Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.). - type: array - items: - $ref: '#/definitions/InterestRealm' - userEventCriteria: - description: List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event. - type: array - items: - $ref: '#/definitions/UserEventType' - duration: - $ref: '#/definitions/Duration' - resourceURL: - $ref: '#/definitions/ResourceURL' \ No newline at end of file diff --git a/definitions/ZoneId.yaml b/definitions/ZoneId.yaml deleted file mode 100644 index 9ccb59f..0000000 --- a/definitions/ZoneId.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Identifier of zone -type: string -example: "zone01" \ No newline at end of file diff --git a/definitions/ZoneInfo.yaml b/definitions/ZoneInfo.yaml deleted file mode 100644 index 4351320..0000000 --- a/definitions/ZoneInfo.yaml +++ /dev/null @@ -1,19 +0,0 @@ -description: A type containing zone information. -type: object -required: -- zoneId -- numberOfAccessPoints -- numberOfUnservicableAccessPoints -- numberOfUsers -- resourceURL -properties: - zoneId: - $ref: '#/definitions/ZoneId' - numberOfAccessPoints: - $ref: '#/definitions/NumberOfAccessPoints' - numberOfUnservicableAccessPoints: - $ref: '#/definitions/NumberOfUnserviceableAccessPoints' - numberOfUsers: - $ref: '#/definitions/NumberOfUsers' - resourceURL: - $ref: '#/definitions/ResourceURL' \ No newline at end of file diff --git a/definitions/ZoneList.yaml b/definitions/ZoneList.yaml deleted file mode 100644 index 63168e7..0000000 --- a/definitions/ZoneList.yaml +++ /dev/null @@ -1,12 +0,0 @@ -description: Collection of the zone information list. -type: object -required: -- resourceURL -properties: - zone: - description: Collection of the zone information list. - type: array - items: - $ref: '#/definitions/ZoneInfo' - resourceURL: - $ref: '#/definitions/ResourceURL' diff --git a/definitions/ZoneStatusNotification.yaml b/definitions/ZoneStatusNotification.yaml deleted file mode 100644 index 6c439a6..0000000 --- a/definitions/ZoneStatusNotification.yaml +++ /dev/null @@ -1,26 +0,0 @@ -description: A type containing zone status notification. -type: object -required: -- zoneId -- timestamp -properties: - callbackData: - $ref: '#/definitions/CallbackData' - zoneId: - $ref: '#/definitions/ZoneId' - accessPointId: - $ref: '#/definitions/AccessPointId' - numberOfUsersInZone: - $ref: '#/definitions/NumberOfUsersInZone' - numberOfUsersInAP: - $ref: '#/definitions/NumberOfUsersInAP' - operationStatus: - $ref: '#/definitions/OperationStatus' - timestamp: - $ref: '#/definitions/Timestamp' - link: - description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification. - type: array - items: - $ref: '#/definitions/Link' - example: rel="ZonalStatusSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalStatus/sub123" diff --git a/definitions/ZoneStatusSubscription.yaml b/definitions/ZoneStatusSubscription.yaml deleted file mode 100644 index 3e0790e..0000000 --- a/definitions/ZoneStatusSubscription.yaml +++ /dev/null @@ -1,23 +0,0 @@ -description: A type containing zone status subscription. -type: object -required: -- callbackReference -- zoneId -properties: - clientCorrelator: - $ref: '#/definitions/ClientCorrelator' - resourceURL: - $ref: '#/definitions/ResourceURL' - callbackReference: - $ref: '#/definitions/CallbackReference' - zoneId: - $ref: '#/definitions/ZoneId' - numberOfUsersZoneThreshold: - $ref: '#/definitions/NumberOfUsersZoneThreshold' - numberOfUsersAPThreshold: - $ref: '#/definitions/NumberOfUsersAPThreshold' - operationStatus: - description: List of operation status values to generate notifications for (these apply to all access points within a zone). - type: array - items: - $ref: '#/definitions/OperationStatus' \ No newline at end of file diff --git a/definitions/index.yaml b/definitions/index.yaml deleted file mode 100644 index db997a1..0000000 --- a/definitions/index.yaml +++ /dev/null @@ -1,80 +0,0 @@ -AccessPointId: - $ref: ./AccessPointId.yaml -AccessPointInfo: - $ref: ./AccessPointInfo.yaml -AccessPointList: - $ref: ./AccessPointList.yaml -Address: - $ref: ./Address.yaml -AncillaryInfo: - $ref: ./AncillaryInfo.yaml -CallbackData: - $ref: ./CallbackData.yaml -CallbackReference: - $ref: ./CallbackReference.yaml -ClientCorrelator: - $ref: ./ClientCorrelator.yaml -ConnectionType: - $ref: ./ConnectionType.yaml -ContextLocationInfo: - $ref: ./ContextLocationInfo.yaml -CurrentAccessPointId: - $ref: ./CurrentAccessPointId.yaml -Duration: - $ref: ./Duration.yaml -InterestRealm: - $ref: ./InterestRealm.yaml -Link: - $ref: ./Link.yaml -LocationInfo: - $ref: ./LocationInfo.yaml -NotifyURL: - $ref: ./NotifyURL.yaml -NumberOfAccessPoints: - $ref: ./NumberOfAccessPoints.yaml -NumberOfUnserviceableAccessPoints: - $ref: ./NumberOfUnserviceableAccessPoints.yaml -NumberOfUsers: - $ref: ./NumberOfUsers.yaml -NumberOfUsersAPThreshold: - $ref: ./NumberOfUsersAPThreshold.yaml -NumberOfUsersInAP: - $ref: ./NumberOfUsersInAP.yaml -NumberOfUsersInZone: - $ref: ./NumberOfUsersInZone.yaml -NumberOfUsersZoneThreshold: - $ref: ./NumberOfUsersZoneThreshold.yaml -OperationStatus: - $ref: ./OperationStatus.yaml -PreviousAccessPointId: - $ref: ./PreviousAccessPointId.yaml -ResourceURL: - $ref: ./ResourceURL.yaml -Timestamp: - $ref: ./Timestamp.yaml -Timezone: - $ref: ./Timezone.yaml -UserEventCriteria: - $ref: ./UserEventCriteria.yaml -UserEventType: - $ref: ./UserEventType.yaml -UserInfo: - $ref: ./UserInfo.yaml -UserList: - $ref: ./UserList.yaml -UserTrackingSubscription: - $ref: ./UserTrackingSubscription.yaml -ZonalPresenceNotification: - $ref: ./ZonalPresenceNotification.yaml -ZonalTrafficSubscription: - $ref: ./ZonalTrafficSubscription.yaml -ZoneId: - $ref: ./ZoneId.yaml -ZoneInfo: - $ref: ./ZoneInfo.yaml -ZoneList: - $ref: ./ZoneList.yaml -ZoneStatusNotification: - $ref: ./ZoneStatusNotification.yaml -ZoneStatusSubscription: - $ref: ./ZoneStatusSubscription.yaml \ No newline at end of file diff --git a/examples/AccessPointInfo.json b/examples/AccessPointInfo.json deleted file mode 100644 index d648cd5..0000000 --- a/examples/AccessPointInfo.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "accessPointInfo": { - "accessPointId": "001010000000000000000000000000001", - "locationInfo": { - "latitude": "90.123", - "longitude": "80.123", - "altitude": "10.0", - "accuracy": "0" - }, - "connectionType": "Macro", - "operationStatus": "Serviceable", - "numberOfUsers": "5", - "interestRealm": "LA", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001" - } -} \ No newline at end of file diff --git a/examples/AccessPointList.json b/examples/AccessPointList.json deleted file mode 100644 index 7ef28bc..0000000 --- a/examples/AccessPointList.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "accessPointList": { - "zoneId": "zone01", - "accessPoint": [{ - "accessPointId": "001010000000000000000000000000001", - "locationInfo": { - "latitude": "90.123", - "longitude": "80.123", - "altitude": "10.0", - "accuracy": "0" - }, - "connectionType": "Macro", - "operationStatus": "Serviceable", - "numberOfUsers": "5", - "interestRealm": "LA", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001" - }, { - "accessPointId": "001010000000000000000000000000010", - "locationInfo": { - "latitude": "91.123", - "longitude": "81.123", - "altitude": "12.0", - "accuracy": "1" - }, - "connectionType": "Macro", - "operationStatus": "Unserviceable", - "numberOfUsers": "0", - "interestRealm": "DC", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002" - }, { - "accessPointId": "001010000000000000000000000000011", - "locationInfo": { - "latitude": "93.123", - "longitude": "83.123", - "altitude": "16.0", - "accuracy": "3" - }, - "connectionType": "Macro", - "operationStatus": "Serviceable", - "numberOfUsers": "5", - "interestRealm": "NJ", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints" - } -} \ No newline at end of file diff --git a/examples/NotiSubsListUserTrac.json b/examples/NotiSubsListUserTrac.json deleted file mode 100644 index f945e76..0000000 --- a/examples/NotiSubsListUserTrac.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "notificationSubscriptionList": { - "userTrackingSubscription": - [{ - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.1", - "userEventCriteria": "Transferring" - }, { - "clientCorrelator": "0124", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription124", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.2", - "userEventCriteria": "Transferring" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking" - } -} \ No newline at end of file diff --git a/examples/NotiSubsListZonaTraf.json b/examples/NotiSubsListZonaTraf.json deleted file mode 100644 index c80456b..0000000 --- a/examples/NotiSubsListZonaTraf.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "notificationSubscriptionList": { - "zonalTrafficSubscription": - [{ - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - }, { - "clientCorrelator": "0124", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription124", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123457" - }, - "zoneId": "zone02", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/zonalTraffic" - } -} \ No newline at end of file diff --git a/examples/NotiSubsListZoneStat.json b/examples/NotiSubsListZoneStat.json deleted file mode 100644 index 4d9904d..0000000 --- a/examples/NotiSubsListZoneStat.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "notificationSubscriptionList": { - "zoneStatusSubscription": - [{ - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "numberOfUsersZoneThreshold": "500", - "operationStatus": "Serviceable" - }, { - "clientCorrelator": "0124", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription124", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123457" - }, - "zoneId": "zone02", - "numberOfUsersAPThreshold": "50", - "operationStatus": "Serviceable" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus" - } -} \ No newline at end of file diff --git a/examples/UserInfo.json b/examples/UserInfo.json deleted file mode 100644 index 4e0d8ce..0000000 --- a/examples/UserInfo.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "userInfo": { - "address": "acr:192.0.2.1", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1", - "locationInfo": { - "latitude": "90.123", - "longitude": "80.123", - "altitude": "10.0", - "accuracy": "0" - }, - "contextLocationInfo": "GroundFloor" - } -} \ No newline at end of file diff --git a/examples/UserList.json b/examples/UserList.json deleted file mode 100644 index db06083..0000000 --- a/examples/UserList.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "userList": { - "user": [{ - "address": "acr:192.0.2.1", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1" - }, { - "address": "acr:192.0.2.2", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.2" - }, { - "address": "acr:192.0.2.3", - "accessPointId": "001010000000000000000000000000010", - "zoneId": "zone01", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.3" - }, { - "address": "acr:192.0.2.4", - "accessPointId": "001010000000000000000000000000001", - "zoneId": "zone02", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.4" - }, { - "address": "acr:192.0.2.5", - "accessPointId": "001010000000000000000000000000010", - "zoneId": "zone02", - "resourceURL": "http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.5" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/users" - } -} \ No newline at end of file diff --git a/examples/UserTrackingSubscription.json b/examples/UserTrackingSubscription.json deleted file mode 100644 index 2c7d292..0000000 --- a/examples/UserTrackingSubscription.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "userTrackingSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "address": "acr:192.0.2.1", - "userEventCriteria": "Transferring" - } -} \ No newline at end of file diff --git a/examples/ZonalTrafficSubscription.json b/examples/ZonalTrafficSubscription.json deleted file mode 100644 index 6e474ef..0000000 --- a/examples/ZonalTrafficSubscription.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "zonalTrafficSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "interestRealm": "LA", - "userEventCriteria": "Transferring" - } -} \ No newline at end of file diff --git a/examples/ZoneInfo.json b/examples/ZoneInfo.json deleted file mode 100644 index 2930133..0000000 --- a/examples/ZoneInfo.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "zoneInfo": { - "zoneId": "zone01", - "numberOfAccessPoints": "3", - "numberOfUnserviceableAccessPoints": "1", - "numberOfUsers": "10", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01" - } -} \ No newline at end of file diff --git a/examples/ZoneList.json b/examples/ZoneList.json deleted file mode 100644 index bf33751..0000000 --- a/examples/ZoneList.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "zoneList": { - "zone": - [{ - "zoneId": "zone01", - "numberOfAccessPoints": "3", - "numberOfUnserviceableAccessPoints": "1", - "numberOfUsers": "10", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone01" - }, { - "zoneId": "zone02", - "numberOfAccessPoints": "12", - "numberOfUnserviceableAccessPoints": "0", - "numberOfUsers": "36", - "resourceURL": "http://example.com/exampleAPI/location/v1/zones/zone02" - } - ], - "resourceURL": "http://example.com/exampleAPI/location/v1/zones" - } -} \ No newline at end of file diff --git a/examples/ZoneStatusSubscription.json b/examples/ZoneStatusSubscription.json deleted file mode 100644 index 8553279..0000000 --- a/examples/ZoneStatusSubscription.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "zoneStatusSubscription": { - "clientCorrelator": "0123", - "resourceURL": "http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123", - "callbackReference": { - "notifyURL": "http://clientApp.example.com/location_notifications/123456" - }, - "zoneId": "zone01", - "numberOfUsersZoneThreshold": "500", - "operationStatus": "Serviceable" - } -} \ No newline at end of file diff --git a/externalDocs/index.yaml b/externalDocs/index.yaml deleted file mode 100644 index 20a5a1b..0000000 --- a/externalDocs/index.yaml +++ /dev/null @@ -1,2 +0,0 @@ -description: 'ETSI MEC013 V1.1.1 Location Service API' -url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf' \ No newline at end of file diff --git a/info/index.yaml b/info/index.yaml deleted file mode 100644 index 2ad1fbc..0000000 --- a/info/index.yaml +++ /dev/null @@ -1,6 +0,0 @@ -title: 'Location API' -version: '1.1.1' -description: "The ETSI MEC ISG MEC012 Location API described using OpenAPI. The API is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence" -license: - name: BSD-3-Clause - url: 'https://forge.etsi.org/legal-matters' diff --git a/parameters/Body.UserTrackingSubscription.yaml b/parameters/Body.UserTrackingSubscription.yaml deleted file mode 100644 index 62164ae..0000000 --- a/parameters/Body.UserTrackingSubscription.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: userTrackingSubscription -in: body -description: User Tracking Subscription -required: true -schema: - $ref: '#/definitions/UserTrackingSubscription' \ No newline at end of file diff --git a/parameters/Body.ZonalTrafficSubscription.yaml b/parameters/Body.ZonalTrafficSubscription.yaml deleted file mode 100644 index b33fcef..0000000 --- a/parameters/Body.ZonalTrafficSubscription.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: zonalTrafficSubscription -in: body -description: Zonal Traffic Subscription -required: true -schema: - $ref: '#/definitions/ZonalTrafficSubscription' \ No newline at end of file diff --git a/parameters/Body.ZoneStatusSubscription.yaml b/parameters/Body.ZoneStatusSubscription.yaml deleted file mode 100644 index 7dfc296..0000000 --- a/parameters/Body.ZoneStatusSubscription.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: zoneStatusSubscription -in: body -description: Zone Status Subscription -required: true -schema: - $ref: '#/definitions/ZoneStatusSubscription' \ No newline at end of file diff --git a/parameters/Path.AccessPointId.yaml b/parameters/Path.AccessPointId.yaml deleted file mode 100644 index d1f4b57..0000000 --- a/parameters/Path.AccessPointId.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: accessPointId -in: path -description: Access Point ID -required: true -type: string \ No newline at end of file diff --git a/parameters/Path.SubscriptionId.yaml b/parameters/Path.SubscriptionId.yaml deleted file mode 100644 index 9d9f9d0..0000000 --- a/parameters/Path.SubscriptionId.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: subscriptionId -in: path -description: Subscription ID -required: true -type: string \ No newline at end of file diff --git a/parameters/Path.UserId.yaml b/parameters/Path.UserId.yaml deleted file mode 100644 index 720237f..0000000 --- a/parameters/Path.UserId.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: userId -in: path -description: User ID -required: true -type: string \ No newline at end of file diff --git a/parameters/Path.ZoneId.yaml b/parameters/Path.ZoneId.yaml deleted file mode 100644 index 8d2c719..0000000 --- a/parameters/Path.ZoneId.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: zoneId -in: path -description: Zone ID -required: true -type: string \ No newline at end of file diff --git a/parameters/Query.AccessPointId.yaml b/parameters/Query.AccessPointId.yaml deleted file mode 100644 index 06c6497..0000000 --- a/parameters/Query.AccessPointId.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: accessPointId -in: query -description: >- - Identifier of access point, reference "definitions" for string format -required: false -type: string \ No newline at end of file diff --git a/parameters/Query.InterestRealm.yaml b/parameters/Query.InterestRealm.yaml deleted file mode 100644 index 72fb89c..0000000 --- a/parameters/Query.InterestRealm.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: interestRealm -in: query -description: Interest realm of access point (e.g. geographical area, a type of industry etc.). -required: false -type: string \ No newline at end of file diff --git a/parameters/Query.ZoneId.yaml b/parameters/Query.ZoneId.yaml deleted file mode 100644 index 1515905..0000000 --- a/parameters/Query.ZoneId.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: zoneId -in: query -description: Zone ID -required: true -type: string \ No newline at end of file diff --git a/parameters/index.yaml b/parameters/index.yaml deleted file mode 100644 index 79aa650..0000000 --- a/parameters/index.yaml +++ /dev/null @@ -1,20 +0,0 @@ -Body.UserTrackingSubscription: - $ref: ./Body.UserTrackingSubscription.yaml -Body.ZonalTrafficSubscription: - $ref: ./Body.ZonalTrafficSubscription.yaml -Body.ZoneStatusSubscription: - $ref: ./Body.ZoneStatusSubscription.yaml -Path.AccessPointId: - $ref: ./Path.AccessPointId.yaml -Path.SubscriptionId: - $ref: ./Path.SubscriptionId.yaml -Path.UserId: - $ref: ./Path.UserId.yaml -Path.ZoneId: - $ref: ./Path.ZoneId.yaml -Query.AccessPointId: - $ref: ./Query.AccessPointId.yaml -Query.InterestRealm: - $ref: ./Query.InterestRealm.yaml -Query.ZoneId: - $ref: ./Query.ZoneId.yaml diff --git a/paths/SubsUserTrack.yaml b/paths/SubsUserTrack.yaml deleted file mode 100644 index 45f6e4c..0000000 --- a/paths/SubsUserTrack.yaml +++ /dev/null @@ -1,5 +0,0 @@ -get: - $ref: ./SubsUserTrack_Get.yaml - -post: - $ref: ./SubsUserTrack_Post.yaml \ No newline at end of file diff --git a/paths/SubsUserTrackId.yaml b/paths/SubsUserTrackId.yaml deleted file mode 100644 index ae9c683..0000000 --- a/paths/SubsUserTrackId.yaml +++ /dev/null @@ -1,11 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.SubscriptionId' - -get: - $ref: ./SubsUserTrackId_Get.yaml - -put: - $ref: ./SubsUserTrackId_Put.yaml - -delete: - $ref: ./SubsUserTrackId_Del.yaml \ No newline at end of file diff --git a/paths/SubsUserTrackId_Del.yaml b/paths/SubsUserTrackId_Del.yaml deleted file mode 100644 index 104a98b..0000000 --- a/paths/SubsUserTrackId_Del.yaml +++ /dev/null @@ -1,10 +0,0 @@ -tags: -- subscriptions -operationId: userTrackingSubDelById -description: - This operation is used for retrieving an individual subscription to user tracking change notification. -produces: -- application/json -responses: - 204: - description: No Content \ No newline at end of file diff --git a/paths/SubsUserTrackId_Get.yaml b/paths/SubsUserTrackId_Get.yaml deleted file mode 100644 index f5c128f..0000000 --- a/paths/SubsUserTrackId_Get.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tags: -- subscriptions -operationId: userTrackingSubGetById -description: - This operation is used for retrieving an individual subscription to user tracking change notification. -produces: -- application/json -responses: - 200: - description: Response to retrieve individual user tracking subscription - schema: - properties: - userTrackingSubscription: - $ref: '#/definitions/UserTrackingSubscription' - examples: - application/json: - $ref: '../examples/UserTrackingSubscription.json' \ No newline at end of file diff --git a/paths/SubsUserTrackId_Put.yaml b/paths/SubsUserTrackId_Put.yaml deleted file mode 100644 index 798f19a..0000000 --- a/paths/SubsUserTrackId_Put.yaml +++ /dev/null @@ -1,19 +0,0 @@ -tags: -- subscriptions -operationId: userTrackingSubPutById -description: - This operation is used for updating an individual subscription to user tracking change notification. -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.UserTrackingSubscription' -responses: - 200: - description: Response to update individual user tracking subscription - schema: - properties: - userTrackingSubscription: - $ref: '#/definitions/UserTrackingSubscription' - examples: - application/json: - $ref: '../examples/UserTrackingSubscription.json' \ No newline at end of file diff --git a/paths/SubsUserTrack_Get.yaml b/paths/SubsUserTrack_Get.yaml deleted file mode 100644 index 56be5ea..0000000 --- a/paths/SubsUserTrack_Get.yaml +++ /dev/null @@ -1,25 +0,0 @@ -tags: -- subscriptions -operationId: userTrackingSubGet -description: - This operation is used for retrieving all active subscriptions to user tracking change notifications. -produces: -- application/json -responses: - 200: - description: Response to retrieve user tracking subscriptions - schema: - type: object - properties: - notificationSubscriptionList: - type: object - properties: - userTrackingSubscription: - type: array - items: - $ref: '#/definitions/UserTrackingSubscription' - resourceURL: - $ref: '#/definitions/ResourceURL' - examples: - application/json: - $ref: '../examples/NotiSubsListUserTrac.json' \ No newline at end of file diff --git a/paths/SubsUserTrack_Post.yaml b/paths/SubsUserTrack_Post.yaml deleted file mode 100644 index 5ff5669..0000000 --- a/paths/SubsUserTrack_Post.yaml +++ /dev/null @@ -1,19 +0,0 @@ -tags: -- subscriptions -operationId: userTrackingSubPost -description: - This operation is used for creating a new subscription to user tracking change notification -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.UserTrackingSubscription' -responses: - 201: - description: Response to create new user tracking subscription - schema: - properties: - userTrackingSubscription: - $ref: '#/definitions/UserTrackingSubscription' - examples: - application/json: - $ref: '../examples/UserTrackingSubscription.json' diff --git a/paths/SubsZonalTraf.yaml b/paths/SubsZonalTraf.yaml deleted file mode 100644 index 240da16..0000000 --- a/paths/SubsZonalTraf.yaml +++ /dev/null @@ -1,5 +0,0 @@ -get: - $ref: ./SubsZonalTraf_Get.yaml - -post: - $ref: ./SubsZonalTraf_Post.yaml \ No newline at end of file diff --git a/paths/SubsZonalTrafId.yaml b/paths/SubsZonalTrafId.yaml deleted file mode 100644 index af61080..0000000 --- a/paths/SubsZonalTrafId.yaml +++ /dev/null @@ -1,11 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.SubscriptionId' - -get: - $ref: ./SubsZonalTrafId_Get.yaml - -put: - $ref: ./SubsZonalTrafId_Put.yaml - -delete: - $ref: ./SubsZonalTrafId_Del.yaml \ No newline at end of file diff --git a/paths/SubsZonalTrafId_Del.yaml b/paths/SubsZonalTrafId_Del.yaml deleted file mode 100644 index d05a716..0000000 --- a/paths/SubsZonalTrafId_Del.yaml +++ /dev/null @@ -1,10 +0,0 @@ -tags: -- subscriptions -operationId: zonalTrafficSubDelById -description: - This operation is used for cancelling a subscription and stopping corresponding notifications. -produces: -- application/json -responses: - 204: - description: No content \ No newline at end of file diff --git a/paths/SubsZonalTrafId_Get.yaml b/paths/SubsZonalTrafId_Get.yaml deleted file mode 100644 index 85ffefc..0000000 --- a/paths/SubsZonalTrafId_Get.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tags: -- subscriptions -operationId: zonalTrafficSubGetById -description: - This operation is used for updating an individual subscription to zonal traffic change notification. -produces: -- application/json -responses: - 200: - description: Response to retrieve individual zonal traffic subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZonalTrafficSubscription' - examples: - application/json: - $ref: '../examples/ZonalTrafficSubscription.json' \ No newline at end of file diff --git a/paths/SubsZonalTrafId_Put.yaml b/paths/SubsZonalTrafId_Put.yaml deleted file mode 100644 index 8bd1675..0000000 --- a/paths/SubsZonalTrafId_Put.yaml +++ /dev/null @@ -1,19 +0,0 @@ -tags: -- subscriptions -operationId: zonalTrafficSubPutById -description: - This operation is used for updating an individual subscription to zonal traffic change notification. -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.ZonalTrafficSubscription' -responses: - 200: - description: Response to update individual zonal traffic subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZonalTrafficSubscription' - examples: - application/json: - $ref: '../examples/ZonalTrafficSubscription.json' \ No newline at end of file diff --git a/paths/SubsZonalTraf_Get.yaml b/paths/SubsZonalTraf_Get.yaml deleted file mode 100644 index 4a1943d..0000000 --- a/paths/SubsZonalTraf_Get.yaml +++ /dev/null @@ -1,25 +0,0 @@ -tags: -- subscriptions -operationId: zonalTrafficSubGet -description: - This operation is used for retrieving all active subscriptions to zonal traffic change notifications. -produces: -- application/json -responses: - 200: - description: Response to retrieve zonal traffic subscriptions - schema: - type: object - properties: - notificationSubscriptionList: - type: object - properties: - zonalTrafficSubscription: - type: array - items: - $ref: '#/definitions/ZonalTrafficSubscription' - resourceURL: - $ref: '#/definitions/ResourceURL' - examples: - application/json: - $ref: '../examples/NotiSubsListZonaTraf.json' \ No newline at end of file diff --git a/paths/SubsZonalTraf_Post.yaml b/paths/SubsZonalTraf_Post.yaml deleted file mode 100644 index 4a1c4f1..0000000 --- a/paths/SubsZonalTraf_Post.yaml +++ /dev/null @@ -1,19 +0,0 @@ -tags: -- subscriptions -operationId: zonalTrafficSubPost -description: - This operation is used for creating a new subscription to zonal traffic change notification. -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.ZonalTrafficSubscription' -responses: - 201: - description: Response to create new zonal traffic subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZonalTrafficSubscription' - examples: - application/json: - $ref: '../examples/ZonalTrafficSubscription.json' \ No newline at end of file diff --git a/paths/SubsZoneStat.yaml b/paths/SubsZoneStat.yaml deleted file mode 100644 index d505bb6..0000000 --- a/paths/SubsZoneStat.yaml +++ /dev/null @@ -1,5 +0,0 @@ -get: - $ref: ./SubsZoneStat_Get.yaml - -post: - $ref: ./SubsZoneStat_Post.yaml \ No newline at end of file diff --git a/paths/SubsZoneStatId.yaml b/paths/SubsZoneStatId.yaml deleted file mode 100644 index 42e57f4..0000000 --- a/paths/SubsZoneStatId.yaml +++ /dev/null @@ -1,11 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.SubscriptionId' - -get: - $ref: ./SubsZoneStatId_Get.yaml - -put: - $ref: ./SubsZoneStatId_Put.yaml - -delete: - $ref: ./SubsZoneStatId_Del.yaml \ No newline at end of file diff --git a/paths/SubsZoneStatId_Del.yaml b/paths/SubsZoneStatId_Del.yaml deleted file mode 100644 index d72dc75..0000000 --- a/paths/SubsZoneStatId_Del.yaml +++ /dev/null @@ -1,10 +0,0 @@ -tags: -- subscriptions -operationId: zoneStatusDelById -description: - This operation is used for cancelling a subscription and stopping corresponding notifications. -produces: -- application/json -responses: - 204: - description: No content \ No newline at end of file diff --git a/paths/SubsZoneStatId_Get.yaml b/paths/SubsZoneStatId_Get.yaml deleted file mode 100644 index 917bbd4..0000000 --- a/paths/SubsZoneStatId_Get.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tags: -- subscriptions -operationId: zoneStatusGetById -description: - This operation is used for retrieving an individual subscription to zone status change notification. -produces: -- application/json -responses: - 200: - description: Response to retrieve individual zone status subscription - schema: - properties: - zoneStatusSubscription: - $ref: '#/definitions/ZoneStatusSubscription' - examples: - application/json: - $ref: '../examples/ZoneStatusSubscription.json' \ No newline at end of file diff --git a/paths/SubsZoneStatId_Put.yaml b/paths/SubsZoneStatId_Put.yaml deleted file mode 100644 index 14d277b..0000000 --- a/paths/SubsZoneStatId_Put.yaml +++ /dev/null @@ -1,19 +0,0 @@ -tags: -- subscriptions -operationId: zoneStatusPutById -description: - This operation is used for updating an individual subscription to zone status change notification. -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.ZoneStatusSubscription' -responses: - 200: - description: Response to update individual zone status subscription - schema: - properties: - zoneStatusSubscription: - $ref: '#/definitions/ZoneStatusSubscription' - examples: - application/json: - $ref: '../examples/ZoneStatusSubscription.json' \ No newline at end of file diff --git a/paths/SubsZoneStat_Get.yaml b/paths/SubsZoneStat_Get.yaml deleted file mode 100644 index e246471..0000000 --- a/paths/SubsZoneStat_Get.yaml +++ /dev/null @@ -1,25 +0,0 @@ -tags: -- subscriptions -operationId: zoneStatusGet -description: - This operation is used for creating a new subscription to zone status change notification. -produces: -- application/json -responses: - 200: - description: Response to retrieve zone status subscriptions - schema: - type: object - properties: - notificationSubscriptionList: - type: object - properties: - zonalTrafficSubscription: - type: array - items: - $ref: '#/definitions/ZoneStatusSubscription' - resourceURL: - $ref: '#/definitions/ResourceURL' - examples: - application/json: - $ref: '../examples/NotiSubsListZoneStat.json' \ No newline at end of file diff --git a/paths/SubsZoneStat_Post.yaml b/paths/SubsZoneStat_Post.yaml deleted file mode 100644 index 67534c1..0000000 --- a/paths/SubsZoneStat_Post.yaml +++ /dev/null @@ -1,19 +0,0 @@ -tags: -- subscriptions -operationId: zoneStatusPost -description: - This operation is used for creating a new subscription to zone status change notification. -produces: -- application/json -parameters: -- $ref: '#/parameters/Body.ZoneStatusSubscription' -responses: - 201: - description: Response to create new zone status subscription - schema: - properties: - zonalTrafficSubscription: - $ref: '#/definitions/ZoneStatusSubscription' - examples: - application/json: - $ref: '../examples/ZoneStatusSubscription.json' \ No newline at end of file diff --git a/paths/Users.yaml b/paths/Users.yaml deleted file mode 100644 index 3bfab8f..0000000 --- a/paths/Users.yaml +++ /dev/null @@ -1,2 +0,0 @@ -get: - $ref: ./Users_Get.yaml \ No newline at end of file diff --git a/paths/UsersId.yaml b/paths/UsersId.yaml deleted file mode 100644 index c55eee5..0000000 --- a/paths/UsersId.yaml +++ /dev/null @@ -1,4 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.UserId' -get: - $ref: ./UsersId_Get.yaml \ No newline at end of file diff --git a/paths/UsersId_Get.yaml b/paths/UsersId_Get.yaml deleted file mode 100644 index f988da2..0000000 --- a/paths/UsersId_Get.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tags: -- users -operationId: usersGetById -description: - Users currently using a zone may be retrieved for sets of access points matching attribute in the request -produces: -- application/json -responses: - 200: - description: Successful response to a query users within a zone request - schema: - properties: - userInfo: - $ref: '#/definitions/UserInfo' - examples: - application/json: - $ref: '../examples/UserInfo.json' \ No newline at end of file diff --git a/paths/Users_Get.yaml b/paths/Users_Get.yaml deleted file mode 100644 index b36c837..0000000 --- a/paths/Users_Get.yaml +++ /dev/null @@ -1,20 +0,0 @@ -tags: -- users -operationId: usersGet -description: - Users currently using a zone may be retrieved for sets of access points matching attribute in the request -produces: -- application/json -parameters: -- $ref: '#/parameters/Query.ZoneId' -- $ref: '#/parameters/Query.AccessPointId' -responses: - 200: - description: Successful response to a query users within a zone request - schema: - properties: - userList: - $ref: '#/definitions/UserList' - examples: - application/json: - $ref: '../examples/UserList.json' \ No newline at end of file diff --git a/paths/Zones.yaml b/paths/Zones.yaml deleted file mode 100644 index b0012d7..0000000 --- a/paths/Zones.yaml +++ /dev/null @@ -1,2 +0,0 @@ -get: - $ref: ./Zones_Get.yaml \ No newline at end of file diff --git a/paths/ZonesId.yaml b/paths/ZonesId.yaml deleted file mode 100644 index d8d3ebb..0000000 --- a/paths/ZonesId.yaml +++ /dev/null @@ -1,4 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.ZoneId' -get: - $ref: ./ZonesId_Get.yaml \ No newline at end of file diff --git a/paths/ZonesIdAps.yaml b/paths/ZonesIdAps.yaml deleted file mode 100644 index dd01b8d..0000000 --- a/paths/ZonesIdAps.yaml +++ /dev/null @@ -1,4 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.ZoneId' -get: - $ref: ./ZonesIdAps_Get.yaml \ No newline at end of file diff --git a/paths/ZonesIdApsId.yaml b/paths/ZonesIdApsId.yaml deleted file mode 100644 index 5029deb..0000000 --- a/paths/ZonesIdApsId.yaml +++ /dev/null @@ -1,5 +0,0 @@ -parameters: -- $ref: '#/parameters/Path.ZoneId' -- $ref: '#/parameters/Path.AccessPointId' -get: - $ref: ./ZonesIdApsId_Get.yaml \ No newline at end of file diff --git a/paths/ZonesIdApsId_Get.yaml b/paths/ZonesIdApsId_Get.yaml deleted file mode 100644 index 05b3ddf..0000000 --- a/paths/ZonesIdApsId_Get.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tags: -- zones -operationId: zonesByIdGetApsById -description: - Access point status can be retrieved for sets of access points matching attribute in the request. -produces: -- application/json -responses: - 200: - description: Successful response to a query a named set of access point status request - schema: - properties: - accessPointInfo: - $ref: '#/definitions/AccessPointInfo' - examples: - application/json: - $ref: '../examples/AccessPointInfo.json' \ No newline at end of file diff --git a/paths/ZonesIdAps_Get.yaml b/paths/ZonesIdAps_Get.yaml deleted file mode 100644 index 2006d22..0000000 --- a/paths/ZonesIdAps_Get.yaml +++ /dev/null @@ -1,19 +0,0 @@ -tags: -- zones -operationId: zonesByIdGetAps -description: - Access point status can be retrieved for sets of access points matching attribute in the request. -produces: -- application/json -parameters: -- $ref: '#/parameters/Query.InterestRealm' -responses: - 200: - description: Successful response to a query a named set of access point status request - schema: - properties: - accessPointList: - $ref: '#/definitions/AccessPointList' - examples: - application/json: - $ref: '../examples/AccessPointList.json' \ No newline at end of file diff --git a/paths/ZonesId_Get.yaml b/paths/ZonesId_Get.yaml deleted file mode 100644 index e4f063d..0000000 --- a/paths/ZonesId_Get.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tags: -- zones -operationId: zonesGetById -description: - Used to get the status of a zone. -produces: -- application/json -responses: - 200: - description: Successful response to a query regarding the status of a zone - schema: - properties: - zoneInfo: - $ref: '#/definitions/ZoneInfo' - examples: - application/json: - $ref: '../examples/ZoneInfo.json' \ No newline at end of file diff --git a/paths/Zones_Get.yaml b/paths/Zones_Get.yaml deleted file mode 100644 index bd91d28..0000000 --- a/paths/Zones_Get.yaml +++ /dev/null @@ -1,16 +0,0 @@ -tags: -- zones -operationId: zonesGet -description: Used to get a list of identifiers for zones authorized for use by the application. -produces: -- application/json -responses: - 200: - description: Successful response to a query regarding the status of a zone - schema: - properties: - zoneList: - $ref: '#/definitions/ZoneList' - examples: - application/json: - $ref: '../examples/ZoneList.json' \ No newline at end of file diff --git a/paths/index.yaml b/paths/index.yaml deleted file mode 100644 index ef06924..0000000 --- a/paths/index.yaml +++ /dev/null @@ -1,35 +0,0 @@ -/zones: - $ref: ./Zones.yaml - -/zones/{zoneId}: - $ref: ./ZonesId.yaml - -/zones/{zoneId}/accessPoints: - $ref: ./ZonesIdAps.yaml - -/zones/{zoneId}/accessPoints/{accessPointId}: - $ref: ./ZonesIdApsId.yaml - -/users: - $ref: ./Users.yaml - -/users/{userId}: - $ref: ./UsersId.yaml - -/subscriptions/zonalTraffic: - $ref: ./SubsZonalTraf.yaml - -/subscriptions/zonalTraffic/{subscriptionId}: - $ref: ./SubsZonalTrafId.yaml - -/subscriptions/userTracking: - $ref: ./SubsUserTrack.yaml - -/subscriptions/userTracking/{subscriptionId}: - $ref: ./SubsUserTrackId.yaml - -/subscriptions/zonalStatus: - $ref: ./SubsZoneStat.yaml - -/subscriptions/zoneStatus/{subscriptionId}: - $ref: ./SubsZoneStatId.yaml \ No newline at end of file diff --git a/tags/index.yaml b/tags/index.yaml deleted file mode 100644 index 89f15a0..0000000 --- a/tags/index.yaml +++ /dev/null @@ -1,3 +0,0 @@ - - name: zones - - name: users - - name: subscriptions \ No newline at end of file -- GitLab From 547a1621159e6a3ff004611a7bcdb8e1f8950311 Mon Sep 17 00:00:00 2001 From: Michele Carignani Date: Mon, 26 Oct 2020 18:08:06 +0100 Subject: [PATCH 2/5] update ci for oas 3 --- .jenkins.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.jenkins.sh b/.jenkins.sh index 4b9fec3..74d0370 100644 --- a/.jenkins.sh +++ b/.jenkins.sh @@ -1,16 +1,18 @@ #!/bin/bash -specfiles=$(ls | egrep "^[^.]*API.(json|yaml)") +specfiles=$(ls | egrep "^[^.]*.(json|yaml)") fres=0 for i in $specfiles ; do - echo "-- Validating OpenAPI file $i..." - swagger-tools validate $i + echo "-- Validating and linting OpenAPI file $i..." + swagger-cli validate $i res=$? - fres=$(($fres||$res)) - echo -e "-- Validator returned $res.\n" + speccy lint "$i" + res2=$? + fres=$(($fres||$res||$res2)) + echo "--- Validator returned $res, linter returned $res2." done echo "-- Final validator returns $fres." +exit $fres -exit $fres \ No newline at end of file -- GitLab From 5a216022aa00662a8fd87cb190f43318c9ad5b98 Mon Sep 17 00:00:00 2001 From: Michel Roy Date: Fri, 6 Nov 2020 02:12:14 -0500 Subject: [PATCH 3/5] review update --- LocationAPI.json | 398 ++++++++++-------------------- LocationAPI.yaml | 612 +++++++++++++++-------------------------------- 2 files changed, 317 insertions(+), 693 deletions(-) diff --git a/LocationAPI.json b/LocationAPI.json index 6cc5742..d2e386d 100644 --- a/LocationAPI.json +++ b/LocationAPI.json @@ -1,6 +1,9 @@ { "openapi": "3.0.0", "info": { + "contact": { + "url": "https://forge.etsi.org/rep/mec/gs013-location-api" + }, "title": "ETSI GS MEC 013 - Location API", "version": "2.1.1", "description": "The ETSI MEC ISG MEC013 WLAN Access Information API described using OpenAPI.", @@ -15,14 +18,19 @@ }, "servers": [ { - "url": "https://{apiRoot}/location/v2/" + "url": "https://localhost/location/v2" + } + ], + "tags": [ + { + "name": "location" } ], "paths": { "/queries/distance": { "get": { "tags": [ - "" + "location" ], "summary": "UE Distance Lookup of a specific UE", "description": "UE Distance Lookup between terminals or a terminal and a location", @@ -82,7 +90,7 @@ "/queries/users": { "get": { "tags": [ - "" + "location" ], "summary": "UE Location Lookup of a specific UE or group of UEs", "description": "UE Location Lookup of a specific UE or group of UEs", @@ -139,7 +147,7 @@ "/queries/zones": { "get": { "tags": [ - "" + "location" ], "summary": "Zones information Lookup", "description": "Used to get a list of identifiers for zones authorized for use by the application.", @@ -185,7 +193,7 @@ "/queries/zones/{zoneId}": { "get": { "tags": [ - "" + "location" ], "summary": "Zones information Lookup", "description": "Used to get the information for an authorized zone for use by the application.", @@ -236,7 +244,7 @@ "/queries/zones/{zoneId}/accessPoints": { "get": { "tags": [ - "" + "location" ], "summary": "Radio Node Location Lookup", "description": "Radio Node Location Lookup to retrieve a list of radio nodes associated to a zone.", @@ -290,7 +298,7 @@ "/queries/zones/{zoneId}/accessPoints/{accessPointId}": { "get": { "tags": [ - "" + "location" ], "summary": "Radio Node Location Lookup", "description": "Radio Node Location Lookup to retrieve a radio node associated to a zone.", @@ -344,7 +352,7 @@ "/subscriptions/area/circle": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieves all active subscriptions to area change notifications", "description": "This operation is used for retrieving all active subscriptions to area change notifications.", @@ -395,7 +403,7 @@ }, "post": { "tags": [ - "" + "location" ], "summary": "Creates a subscription for area change notification", "description": "Creates a subscription to the Location Service for an area change notification.", @@ -490,6 +498,9 @@ "notification": { "{$request.body#/circleNotificationSubscription.callbackReference.notifyURL}": { "post": { + "summary": "Callback POST used to send a notification", + "description": "Notification from Location service, content based on subscription type", + "operationId": "circleNotificationPOST", "requestBody": { "description": "Subscription notification", "required": true, @@ -545,7 +556,7 @@ "/subscriptions/area/circle/{subscriptionId}": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieve subscription information", "description": "Get subscription information.", @@ -615,7 +626,7 @@ }, "put": { "tags": [ - "" + "location" ], "summary": "Updates a subscription information", "description": "Updates a subscription.", @@ -722,7 +733,7 @@ }, "delete": { "tags": [ - "" + "location" ], "summary": "Cancel a subscription", "description": "Method to delete a subscription.", @@ -755,7 +766,7 @@ "/subscriptions/distance": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieves all active subscriptions to distance change notifications", "description": "This operation is used for retrieving all active subscriptions to a distance change notifications.", @@ -808,7 +819,7 @@ }, "post": { "tags": [ - "" + "location" ], "summary": "Creates a subscription for distance change notification", "description": "Creates a subscription to the Location Service for a distance change notification.", @@ -907,6 +918,9 @@ "notification": { "{$request.body#/distanceNotificationSubscription.callbackReference.notifyURL}": { "post": { + "summary": "Callback POST used to send a notification", + "description": "Notification from Location service, content based on subscription type", + "operationId": "distanceNotificationPOST", "requestBody": { "description": "Subscription notification", "required": true, @@ -978,7 +992,7 @@ "/subscriptions/distance/{subscriptionId}": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieve subscription information", "description": "Get subscription information.", @@ -1050,7 +1064,7 @@ }, "put": { "tags": [ - "" + "location" ], "summary": "Updates a subscription information", "description": "Updates a subscription.", @@ -1161,7 +1175,7 @@ }, "delete": { "tags": [ - "" + "location" ], "summary": "Cancel a subscription", "description": "Method to delete a subscription.", @@ -1194,7 +1208,7 @@ "/subscriptions/periodic": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieves all active subscriptions to periodic notifications", "description": "This operation is used for retrieving all active subscriptions to periodic notifications.", @@ -1240,7 +1254,7 @@ }, "post": { "tags": [ - "" + "location" ], "summary": "Creates a subscription for periodic notification", "description": "Creates a subscription to the Location Service for a periodic notification.", @@ -1325,6 +1339,9 @@ "notification": { "{$request.body#/periodicNotificationSubscription.callbackReference.notifyURL}": { "post": { + "summary": "Callback POST used to send a notification", + "description": "Notification from Location service, content based on subscription type", + "operationId": "periodicNotificationPOST", "requestBody": { "description": "Subscription notification", "required": true, @@ -1379,7 +1396,7 @@ "/subscriptions/periodic/{subscriptionId}": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieve subscription information", "description": "Get subscription information.", @@ -1444,7 +1461,7 @@ }, "put": { "tags": [ - "" + "location" ], "summary": "Updates a subscription information", "description": "Updates a subscription.", @@ -1541,7 +1558,7 @@ }, "delete": { "tags": [ - "" + "location" ], "summary": "Cancel a subscription", "description": "Method to delete a subscription.", @@ -1574,7 +1591,7 @@ "/subscriptions/userTracking": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieves all active subscriptions to user tracking notifications", "description": "This operation is used for retrieving all active subscriptions to user tracking notifications.", @@ -1631,7 +1648,7 @@ }, "post": { "tags": [ - "" + "location" ], "summary": "Creates a subscription for user tracking notification", "description": "Creates a subscription to the Location Service for user tracking change notification.", @@ -1716,6 +1733,9 @@ "notification": { "{$request.body#/userTrackingSubscription.callbackReference.notifyURL}": { "post": { + "summary": "Callback POST used to send a notification", + "description": "Notification from Location service, content based on subscription type", + "operationId": "userTrackingNotificationPOST", "requestBody": { "description": "Subscription notification", "required": true, @@ -1765,7 +1785,7 @@ "/subscriptions/userTracking/{subscriptionId}": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieve subscription information", "description": "Get subscription information.", @@ -1830,7 +1850,7 @@ }, "put": { "tags": [ - "" + "location" ], "summary": "Updates a subscription information", "description": "Updates a subscription.", @@ -1927,7 +1947,7 @@ }, "delete": { "tags": [ - "" + "location" ], "summary": "Cancel a subscription", "description": "Method to delete a subscription.", @@ -1960,7 +1980,7 @@ "/subscriptions/zonalTraffic": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieves all active subscriptions to zonal traffic notifications", "description": "This operation is used for retrieving all active subscriptions to zonal traffic change notifications.", @@ -2017,7 +2037,7 @@ }, "post": { "tags": [ - "" + "location" ], "summary": "Creates a subscription for zonal traffic notification", "description": "Creates a subscription to the Location Service for zonal traffic change notification.", @@ -2102,6 +2122,9 @@ "notification": { "{$request.body#/zonalTrafficSubscription.callbackReference.notifyURL}": { "post": { + "summary": "Callback POST used to send a notification", + "description": "Notification from Location service, content based on subscription type", + "operationId": "zonalTrafficNotificationPOST", "requestBody": { "description": "Subscription notification", "required": true, @@ -2151,11 +2174,11 @@ "/subscriptions/zonalTraffic/{subscriptionId}": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieve subscription information", "description": "Get subscription information.", - "operationId": "ZonalTrafficSubGET", + "operationId": "zonalTrafficSubGET", "parameters": [ { "$ref": "#/components/parameters/Path.SubscrId" @@ -2216,7 +2239,7 @@ }, "put": { "tags": [ - "" + "location" ], "summary": "Updates a subscription information", "description": "Updates a subscription.", @@ -2313,7 +2336,7 @@ }, "delete": { "tags": [ - "" + "location" ], "summary": "Cancel a subscription", "description": "Method to delete a subscription.", @@ -2346,7 +2369,7 @@ "/subscriptions/zoneStatus": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieves all active subscriptions to zone status notifications", "description": "This operation is used for retrieving all active subscriptions to zone status change notifications.", @@ -2377,7 +2400,9 @@ }, "zoneId": "zone01", "numberOfUsersZoneThreshold": 500, - "operationStatus": "Serviceable" + "operationStatus": [ + "Serviceable" + ] } ], "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus" @@ -2391,7 +2416,7 @@ }, "post": { "tags": [ - "" + "location" ], "summary": "Creates a subscription for zone status notification", "description": "Creates a subscription to the Location Service for zone status change notification.", @@ -2416,7 +2441,9 @@ }, "zoneId": "zone01", "numberOfUsersZoneThreshold": 500, - "operationStatus": "Serviceable" + "operationStatus": [ + "Serviceable" + ] } } } @@ -2443,7 +2470,9 @@ }, "zoneId": "zone01", "numberOfUsersZoneThreshold": 500, - "operationStatus": "Serviceable", + "operationStatus": [ + "Serviceable" + ], "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" } } @@ -2474,6 +2503,9 @@ "notification": { "{$request.body#/zoneStatusSubscription.callbackReference.notifyURL}": { "post": { + "summary": "Callback POST used to send a notification", + "description": "Notification from Location service, content based on subscription type", + "operationId": "zoneStatusNotificationPOST", "requestBody": { "description": "Subscription notification", "required": true, @@ -2523,7 +2555,7 @@ "/subscriptions/zoneStatus/{subscriptionId}": { "get": { "tags": [ - "" + "location" ], "summary": "Retrieve subscription information", "description": "Get subscription information.", @@ -2556,7 +2588,9 @@ }, "zoneId": "zone01", "numberOfUsersZoneThreshold": 500, - "operationStatus": "Serviceable", + "operationStatus": [ + "Serviceable" + ], "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" } } @@ -2587,7 +2621,7 @@ }, "put": { "tags": [ - "" + "location" ], "summary": "Updates a subscription information", "description": "Updates a subscription.", @@ -2612,7 +2646,9 @@ }, "zoneId": "zone01", "numberOfUsersZoneThreshold": 500, - "operationStatus": "Serviceable", + "operationStatus": [ + "Serviceable" + ], "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" } } @@ -2646,7 +2682,9 @@ }, "zoneId": "zone01", "numberOfUsersZoneThreshold": 500, - "operationStatus": "Serviceable", + "operationStatus": [ + "Serviceable" + ], "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123" } } @@ -2682,7 +2720,7 @@ }, "delete": { "tags": [ - "" + "location" ], "summary": "Cancel a subscription", "description": "Method to delete a subscription.", @@ -3024,14 +3062,7 @@ "x-etsi-mec-origin-type": "string" }, "connectionType": { - "allOf": [ - { - "$ref": "#/components/schemas/ConnectionType" - } - ], - "description": "Connection type of access point.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "ConnectionType" + "$ref": "#/components/schemas/ConnectionType" }, "interestRealm": { "description": "Interest realm of access point.", @@ -3040,14 +3071,7 @@ "x-etsi-mec-origin-type": "string" }, "locationInfo": { - "allOf": [ - { - "$ref": "#/components/schemas/LocationInfo" - } - ], - "description": "The coordinates of the access point.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "LocationInfo" + "$ref": "#/components/schemas/LocationInfo" }, "numberOfUsers": { "description": "Number of users currently on the access point.", @@ -3056,14 +3080,7 @@ "x-etsi-mec-origin-type": "integer" }, "operationStatus": { - "allOf": [ - { - "$ref": "#/components/schemas/OperationStatus" - } - ], - "description": "Operation status of access point.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "OperationStatus" + "$ref": "#/components/schemas/OperationStatus" }, "resourceURL": { "description": "Self referring URL", @@ -3127,14 +3144,7 @@ "x-etsi-mec-origin-type": "string" }, "notificationFormat": { - "allOf": [ - { - "$ref": "#/components/schemas/NotificationFormat" - } - ], - "description": "Application can specify format of the resource representation in notifications that are related to this subscription. The choice is between {XML, JSON}", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "string" + "$ref": "#/components/schemas/NotificationFormat" }, "notifyURL": { "description": "Notify Callback URL", @@ -3161,14 +3171,7 @@ "x-etsi-mec-origin-type": "anyURI" }, "callbackReference": { - "allOf": [ - { - "$ref": "#/components/schemas/CallbackReference" - } - ], - "description": "Notification callback definition", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "string" + "$ref": "#/components/schemas/CallbackReference" }, "checkImmediate": { "description": "Check location immediately after establishing notification.", @@ -3195,14 +3198,7 @@ "x-etsi-mec-origin-type": "int" }, "enteringLeavingCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/EnteringLeavingCriteria" - } - ], - "description": "Indicates whether the notification should occur when the terminal enters or leaves the target area.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "EnteringLeavingCriteria" + "$ref": "#/components/schemas/EnteringLeavingCriteria" }, "frequency": { "description": "Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications).", @@ -3302,14 +3298,7 @@ "description": "A type containing data for distance subscription, with reference to other devices.", "properties": { "callbackReference": { - "allOf": [ - { - "$ref": "#/components/schemas/CallbackReference" - } - ], - "description": "Notification callback definition", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "string" + "$ref": "#/components/schemas/CallbackReference" }, "checkImmediate": { "description": "Check location immediately after establishing notification.", @@ -3330,14 +3319,7 @@ "x-etsi-mec-origin-type": "int" }, "criteria": { - "allOf": [ - { - "$ref": "#/components/schemas/DistanceCriteria" - } - ], - "description": "Indicates whether the notification should occur when the geographical relationship between monitored and referenced devices changes.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "DistanceCriteria" + "$ref": "#/components/schemas/DistanceCriteria" }, "distance": { "description": "Distance between devices that shall be monitored.", @@ -3522,20 +3504,13 @@ "x-etsi-mec-origin-type": "UnsignedInt" }, "shape": { - "description": "Shape information, as detailed in [14], associated with the reported location coordinate:\n1 = ELLIPSOID_ARC\n2 = ELLIPSOID_POINT\n3 = ELLIPSOID_POINT_ALTITUDE\n4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID\n5 = ELLIPSOID_POINT_UNCERT_CIRCLE\n6 = ELLIPSOID_POINT_UNCERT_ELLIPSE\n7 = POLYGON", - "type": "string", + "description": "Shape information, as detailed in [14], associated with the reported location coordinate:

1 = ELLIPSOID_ARC

2 = ELLIPSOID_POINT

3 = ELLIPSOID_POINT_ALTITUDE

4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID

5 = ELLIPSOID_POINT_UNCERT_CIRCLE

6 = ELLIPSOID_POINT_UNCERT_ELLIPSE

7 = POLYGON", + "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Enum_inlined" }, "timestamp": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStamp" - } - ], - "description": "Date and time that location was collected.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "TimeStamp" + "$ref": "#/components/schemas/TimeStamp" }, "uncertaintyRadius": { "description": "Present only if \"shape\" equals 6", @@ -3565,8 +3540,8 @@ "x-etsi-mec-origin-type": "UnsignedInt" }, "velocityType": { - "description": "Velocity information, as detailed in [14], associated with the reported location coordinate:\n1 = HORIZONTAL\n2 = HORIZONTAL_VERTICAL\n3 = HORIZONTAL_UNCERT\n4 = HORIZONTAL_VERTICAL_UNCERT", - "type": "string", + "description": "Velocity information, as detailed in [14], associated with the reported location coordinate:

1 = HORIZONTAL

2 = HORIZONTAL_VERTICAL

3 = HORIZONTAL_UNCERT

4 = HORIZONTAL_VERTICAL_UNCERT", + "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Enum_inlined" }, @@ -3596,8 +3571,7 @@ "required": [ "latitude", "longitude", - "shape", - "timestamp" + "shape" ], "type": "object", "x-etsi-ref": "6.5.3" @@ -3707,14 +3681,7 @@ "x-etsi-mec-origin-type": "anyURI" }, "callbackReference": { - "allOf": [ - { - "$ref": "#/components/schemas/CallbackReference" - } - ], - "description": "Notification callback definition", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "string" + "$ref": "#/components/schemas/CallbackReference" }, "clientCorrelator": { "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", @@ -3816,9 +3783,6 @@ ], "type": "string" }, - "SerializerTypes": { - "type": "string" - }, "ServiceError": { "description": "used to indicate a notification termination or cancellation.", "properties": { @@ -3875,14 +3839,7 @@ "x-etsi-mec-origin-type": "Link" }, "reason": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceError" - } - ], - "description": "Reason notification is being discontinued.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "ServiceError" + "$ref": "#/components/schemas/ServiceError" } }, "required": [ @@ -3900,24 +3857,10 @@ "x-etsi-mec-origin-type": "string" }, "distanceCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/DistanceCriteria" - } - ], - "description": "Indicates which distance criteria that caused the notification.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "DistanceCriteria" + "$ref": "#/components/schemas/DistanceCriteria" }, "enteringLeavingCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/EnteringLeavingCriteria" - } - ], - "description": "Indicates whether the notification was caused by the terminal entering or leaving the target area.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "EnteringLeavingCriteria" + "$ref": "#/components/schemas/EnteringLeavingCriteria" }, "isFinalNotification": { "description": "Set to true if it is a final notification about location change.", @@ -3965,14 +3908,7 @@ "x-etsi-mec-origin-type": "integer" }, "timestamp": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStamp" - } - ], - "description": "Date and time that location from which distance is calculated was collected.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "TimeStamp" + "$ref": "#/components/schemas/TimeStamp" } }, "required": [ @@ -3990,34 +3926,13 @@ "x-etsi-mec-origin-type": "anyURI" }, "currentLocation": { - "allOf": [ - { - "$ref": "#/components/schemas/LocationInfo" - } - ], - "description": "Location of terminal.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "LocationInfo" + "$ref": "#/components/schemas/LocationInfo" }, "errorInformation": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceError" - } - ], - "description": "This is the reason for error.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "ServiceError" + "$ref": "#/components/schemas/ServiceError" }, "locationRetrievalStatus": { - "allOf": [ - { - "$ref": "#/components/schemas/RetrievalStatus" - } - ], - "description": "Status of retrieval for this terminal address.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "RetrievalStatus" + "$ref": "#/components/schemas/RetrievalStatus" } }, "required": [ @@ -4038,16 +3953,16 @@ "TimeStamp": { "properties": { "nanoSeconds": { - "type": "integer", - "format": "uint32", "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "int32", + "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" }, "seconds": { - "type": "integer", - "format": "uint32", "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.", + "format": "int32", + "type": "integer", "x-etsi-mec-cardinality": "1", "x-etsi-mec-origin-type": "Uint32" } @@ -4095,14 +4010,7 @@ "x-etsi-mec-origin-type": "String" }, "locationInfo": { - "allOf": [ - { - "$ref": "#/components/schemas/LocationInfo" - } - ], - "description": "The geographical coordinates where the user is, see note 2.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "LocationInfo" + "$ref": "#/components/schemas/LocationInfo" }, "resourceURL": { "description": "Self-referring URL, see note 1.", @@ -4111,14 +4019,7 @@ "x-etsi-mec-origin-type": "String" }, "timestamp": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStamp" - } - ], - "description": "Date and time that location was collected.", - "x-etsi-mec-cardinality": "1", - "x-etsi-mec-origin-type": "TimeStamp" + "$ref": "#/components/schemas/TimeStamp" }, "zoneId": { "description": "The identity of the zone the user is currently within, see note 1.", @@ -4132,7 +4033,7 @@ "accessPointId", "zoneId", "resourceURL", - "timeStamp" + "timestamp" ], "type": "object", "x-etsi-notes": "NOTE 1:\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5.", @@ -4172,14 +4073,7 @@ "x-etsi-mec-origin-type": "anyURI" }, "callbackReference": { - "allOf": [ - { - "$ref": "#/components/schemas/CallbackReference" - } - ], - "description": "Notification callback definition", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "CallbackReference" + "$ref": "#/components/schemas/CallbackReference" }, "clientCorrelator": { "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", @@ -4209,9 +4103,6 @@ ], "type": "object" }, - "VirtualNetworkInterfaceRequirements": { - "type": "string" - }, "ZonalPresenceNotification": { "description": "A type containing zonal presence notification", "properties": { @@ -4255,24 +4146,10 @@ "x-etsi-mec-origin-type": "string" }, "timestamp": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStamp" - } - ], - "description": "Indicates the time of the day for zonal presence notification.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "TimeStamp" + "$ref": "#/components/schemas/TimeStamp" }, "userEventType": { - "allOf": [ - { - "$ref": "#/components/schemas/UserEventType" - } - ], - "description": "User Event.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "UserEventType" + "$ref": "#/components/schemas/UserEventType" }, "zoneId": { "description": "Identifier of zone", @@ -4294,14 +4171,7 @@ "description": "A type containing zonal traffic subscription", "properties": { "callbackReference": { - "allOf": [ - { - "$ref": "#/components/schemas/CallbackReference" - } - ], - "description": "Notification callback definition", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "CallbackReference" + "$ref": "#/components/schemas/CallbackReference" }, "clientCorrelator": { "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", @@ -4331,12 +4201,11 @@ "x-etsi-mec-origin-type": "anyURI" }, "userEventCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/UserEventType" - } - ], - "description": "List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.", + "description": "List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.", + "items": { + "$ref": "#/components/schemas/UserEventType" + }, + "type": "array", "x-etsi-mec-cardinality": "0..N", "x-etsi-mec-origin-type": "UserEventType" }, @@ -4455,24 +4324,10 @@ "x-etsi-mec-origin-type": "unsignedInt" }, "operationStatus": { - "allOf": [ - { - "$ref": "#/components/schemas/OperationStatus" - } - ], - "description": "This element shall be present when ZoneStatusSubscription includes operationStatus element and the operation status value of an access point meets Serviceable or Unserviceable or Unknown defined in the subscription.", - "x-etsi-mec-cardinality": "0..1", - "x-etsi-mec-origin-type": "OperationStatus" + "$ref": "#/components/schemas/OperationStatus" }, "timestamp": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStamp" - } - ], - "description": "Indicates the timeof day for zone status notification.", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "TimeStamp" + "$ref": "#/components/schemas/TimeStamp" }, "zoneId": { "description": "Identifier of zone", @@ -4491,14 +4346,7 @@ "description": "A type containing zone status subscription.", "properties": { "callbackReference": { - "allOf": [ - { - "$ref": "#/components/schemas/CallbackReference" - } - ], - "description": "Notification callback definition", - "x-etsi-mec-cardinality": 1, - "x-etsi-mec-origin-type": "string" + "$ref": "#/components/schemas/CallbackReference" }, "clientCorrelator": { "description": "A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server.", diff --git a/LocationAPI.yaml b/LocationAPI.yaml index 4df87d1..51d8ec5 100644 --- a/LocationAPI.yaml +++ b/LocationAPI.yaml @@ -1,5 +1,7 @@ openapi: 3.0.0 info: + contact: + url: https://forge.etsi.org/rep/mec/gs013-location-api title: ETSI GS MEC 013 - Location API version: 2.1.1 description: The ETSI MEC ISG MEC013 WLAN Access Information API described using OpenAPI. @@ -10,12 +12,14 @@ externalDocs: description: ETSI MEC013 V2.1.1 Location API url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/02.01.01_60/gs_mec013v020101p.pdf' servers: - - url: 'https://{apiRoot}/location/v2/' + - url: 'https://localhost/location/v2' +tags: +- name: 'location' paths: /queries/distance: get: tags: - - '' + - 'location' summary: 'UE Distance Lookup of a specific UE' description: 'UE Distance Lookup between terminals or a terminal and a location' operationId: distanceGET @@ -49,8 +53,8 @@ paths: x-swagger-router-controller: 'queries' /queries/users: get: - tags: - - '' + tags: + - 'location' summary: 'UE Location Lookup of a specific UE or group of UEs' description: 'UE Location Lookup of a specific UE or group of UEs' operationId: usersGET @@ -84,7 +88,7 @@ paths: /queries/zones: get: tags: - - '' + - 'location' summary: 'Zones information Lookup' description: 'Used to get a list of identifiers for zones authorized for use by the application.' operationId: zonesGET @@ -114,7 +118,7 @@ paths: /queries/zones/{zoneId}: get: tags: - - '' + - 'location' summary: 'Zones information Lookup' description: 'Used to get the information for an authorized zone for use by the application.' operationId: zonesGetById @@ -146,7 +150,7 @@ paths: /queries/zones/{zoneId}/accessPoints: get: tags: - - '' + - 'location' summary: 'Radio Node Location Lookup' description: 'Radio Node Location Lookup to retrieve a list of radio nodes associated to a zone.' operationId: apGET @@ -179,7 +183,7 @@ paths: /queries/zones/{zoneId}/accessPoints/{accessPointId}: get: tags: - - '' + - 'location' summary: 'Radio Node Location Lookup' description: 'Radio Node Location Lookup to retrieve a radio node associated to a zone.' operationId: apByIdGET @@ -212,7 +216,7 @@ paths: /subscriptions/area/circle: get: tags: - - '' + - 'location' summary: 'Retrieves all active subscriptions to area change notifications' description: 'This operation is used for retrieving all active subscriptions to area change notifications.' operationId: areaCircleSubListGET @@ -247,7 +251,7 @@ paths: resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle' post: tags: - - '' + - 'location' summary: 'Creates a subscription for area change notification' description: 'Creates a subscription to the Location Service for an area change notification.' operationId: areaCircleSubPOST @@ -316,7 +320,10 @@ paths: notification: '{$request.body#/circleNotificationSubscription.callbackReference.notifyURL}': post: - requestBody: + summary: 'Callback POST used to send a notification' + description: 'Notification from Location service, content based on subscription type' + operationId: circleNotificationPOST + requestBody: description: 'Subscription notification' required: true content: @@ -330,7 +337,7 @@ paths: subscriptionNotification: enteringLeavingCriteria: 'Entering' isFinalNotification: false, - link: + link: rel: CircleNotificationSubscription href: 'http://meAppServer.example.com/location/v2/subscriptions/area/circle/sub123' terminalLocation: @@ -351,7 +358,7 @@ paths: /subscriptions/area/circle/{subscriptionId}: get: tags: - - '' + - 'location' summary: 'Retrieve subscription information' description: 'Get subscription information.' operationId: areaCircleSubGET @@ -399,7 +406,7 @@ paths: x-swagger-router-controller: 'subscriptions' put: tags: - - '' + - 'location' summary: 'Updates a subscription information' description: 'Updates a subscription.' operationId: areaCircleSubPUT @@ -474,7 +481,7 @@ paths: x-swagger-router-controller: 'subscriptions' delete: tags: - - '' + - 'location' summary: 'Cancel a subscription' description: 'Method to delete a subscription.' operationId: areaCircleSubDELETE @@ -495,7 +502,7 @@ paths: /subscriptions/distance: get: tags: - - '' + - 'location' summary: 'Retrieves all active subscriptions to distance change notifications' description: 'This operation is used for retrieving all active subscriptions to a distance change notifications.' operationId: distanceSubListGET @@ -518,7 +525,7 @@ paths: callbackReference: callbackData: '1234' notifyURL: 'http://clientApp.example.com/location_notifications/123456' - monitoredAddress: + monitoredAddress: - 'acr:10.0.0.1' - 'acr:10.0.0.2' checkImmediate: true @@ -531,7 +538,7 @@ paths: resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/distance' post: tags: - - '' + - 'location' summary: 'Creates a subscription for distance change notification' description: 'Creates a subscription to the Location Service for a distance change notification.' operationId: distanceSubPOST @@ -551,7 +558,7 @@ paths: callbackReference: callbackData: '1234' notifyURL: 'http://clientApp.example.com/location_notifications/123456' - monitoredAddress: + monitoredAddress: - 'acr:10.0.0.1' - 'acr:10.0.0.2' checkImmediate: true @@ -576,7 +583,7 @@ paths: callbackReference: callbackData: '1234' notifyURL: 'http://clientApp.example.com/location_notifications/123456' - monitoredAddress: + monitoredAddress: - 'acr:10.0.0.1' - 'acr:10.0.0.2' checkImmediate: true @@ -602,7 +609,10 @@ paths: notification: '{$request.body#/distanceNotificationSubscription.callbackReference.notifyURL}': post: - requestBody: + summary: 'Callback POST used to send a notification' + description: 'Notification from Location service, content based on subscription type' + operationId: distanceNotificationPOST + requestBody: description: 'Subscription notification' required: true content: @@ -616,7 +626,7 @@ paths: subscriptionNotification: distanceCriteria: 'AllWithinDistance' isFinalNotification: false, - link: + link: rel: DistanceNotificationSubscription href: 'http://meAppServer.example.com/location/v2/subscriptions/distance/sub123' terminalLocation: @@ -647,7 +657,7 @@ paths: /subscriptions/distance/{subscriptionId}: get: tags: - - '' + - 'location' summary: 'Retrieve subscription information' description: 'Get subscription information.' operationId: distanceSubGET @@ -671,7 +681,7 @@ paths: callbackReference: callbackData: '1234' notifyURL: 'http://clientApp.example.com/location_notifications/123456' - monitoredAddress: + monitoredAddress: - 'acr:10.0.0.1' - 'acr:10.0.0.2' checkImmediate: true @@ -696,7 +706,7 @@ paths: x-swagger-router-controller: 'subscriptions' put: tags: - - '' + - 'location' summary: 'Updates a subscription information' description: 'Updates a subscription.' operationId: distanceSubPUT @@ -716,7 +726,7 @@ paths: callbackReference: callbackData: '1234' notifyURL: 'http://clientApp.example.com/location_notifications/123456' - monitoredAddress: + monitoredAddress: - 'acr:10.0.0.1' - 'acr:10.0.0.2' checkImmediate: true @@ -744,7 +754,7 @@ paths: callbackReference: callbackData: '1234' notifyURL: 'http://clientApp.example.com/location_notifications/123456' - monitoredAddress: + monitoredAddress: - 'acr:10.0.0.1' - 'acr:10.0.0.2' checkImmediate: true @@ -773,7 +783,7 @@ paths: x-swagger-router-controller: 'subscriptions' delete: tags: - - '' + - 'location' summary: 'Cancel a subscription' description: 'Method to delete a subscription.' operationId: distanceSubDELETE @@ -794,7 +804,7 @@ paths: /subscriptions/periodic: get: tags: - - '' + - 'location' summary: 'Retrieves all active subscriptions to periodic notifications' description: 'This operation is used for retrieving all active subscriptions to periodic notifications.' operationId: periodicSubListGET @@ -824,7 +834,7 @@ paths: resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/periodic' post: tags: - - '' + - 'location' summary: 'Creates a subscription for periodic notification' description: 'Creates a subscription to the Location Service for a periodic notification.' operationId: periodicSubPOST @@ -883,7 +893,10 @@ paths: notification: '{$request.body#/periodicNotificationSubscription.callbackReference.notifyURL}': post: - requestBody: + summary: 'Callback POST used to send a notification' + description: 'Notification from Location service, content based on subscription type' + operationId: periodicNotificationPOST + requestBody: description: 'Subscription notification' required: true content: @@ -896,7 +909,7 @@ paths: example: subscriptionNotification: isFinalNotification: false, - link: + link: rel: PeriodicNotificationSubscription href: 'http://meAppServer.example.com/location/v2/subscriptions/periodic/sub123' terminalLocation: @@ -917,7 +930,7 @@ paths: /subscriptions/periodic/{subscriptionId}: get: tags: - - '' + - 'location' summary: 'Retrieve subscription information' description: 'Get subscription information.' operationId: periodicSubGET @@ -960,7 +973,7 @@ paths: x-swagger-router-controller: 'subscriptions' put: tags: - - '' + - 'location' summary: 'Updates a subscription information' description: 'Updates a subscription.' operationId: periodicSubPUT @@ -1025,7 +1038,7 @@ paths: x-swagger-router-controller: "subscriptions" delete: tags: - - '' + - 'location' summary: 'Cancel a subscription' description: 'Method to delete a subscription.' operationId: periodicSubDELETE @@ -1046,7 +1059,7 @@ paths: /subscriptions/userTracking: get: tags: - - '' + - 'location' summary: 'Retrieves all active subscriptions to user tracking notifications' description: 'This operation is used for retrieving all active subscriptions to user tracking notifications.' operationId: userTrackingSubListGET @@ -1080,7 +1093,7 @@ paths: resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/userTracking' post: tags: - - '' + - 'location' summary: 'Creates a subscription for user tracking notification' description: 'Creates a subscription to the Location Service for user tracking change notification.' operationId: userTrackingSubPOST @@ -1135,7 +1148,10 @@ paths: notification: '{$request.body#/userTrackingSubscription.callbackReference.notifyURL}': post: - requestBody: + summary: 'Callback POST used to send a notification' + description: 'Notification from Location service, content based on subscription type' + operationId: userTrackingNotificationPOST + requestBody: description: 'Subscription notification' required: true content: @@ -1153,7 +1169,7 @@ paths: userEventType: 'Transferring' currentAccessPointId: 'ap2' previousAccessPointId: 'ap1' - timestamp: + timestamp: seconds: 1483231138 nanoseconds: 0 link: @@ -1166,7 +1182,7 @@ paths: /subscriptions/userTracking/{subscriptionId}: get: tags: - - '' + - 'location' summary: 'Retrieve subscription information' description: 'Get subscription information.' operationId: userTrackingSubGET @@ -1207,7 +1223,7 @@ paths: x-swagger-router-controller: 'subscriptions' put: tags: - - '' + - 'location' summary: 'Updates a subscription information' description: 'Updates a subscription.' operationId: userTrackingSubPUT @@ -1268,7 +1284,7 @@ paths: x-swagger-router-controller: 'subscriptions' delete: tags: - - '' + - 'location' summary: 'Cancel a subscription' description: 'Method to delete a subscription.' operationId: userTrackingSubDELETE @@ -1289,7 +1305,7 @@ paths: /subscriptions/zonalTraffic: get: tags: - - '' + - 'location' summary: 'Retrieves all active subscriptions to zonal traffic notifications' description: 'This operation is used for retrieving all active subscriptions to zonal traffic change notifications.' operationId: zonalTrafficSubListGET @@ -1323,7 +1339,7 @@ paths: resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zonalTraffic' post: tags: - - '' + - 'location' summary: 'Creates a subscription for zonal traffic notification' description: 'Creates a subscription to the Location Service for zonal traffic change notification.' operationId: zonalTrafficSubPOST @@ -1378,7 +1394,10 @@ paths: notification: '{$request.body#/zonalTrafficSubscription.callbackReference.notifyURL}': post: - requestBody: + summary: 'Callback POST used to send a notification' + description: 'Notification from Location service, content based on subscription type' + operationId: zonalTrafficNotificationPOST + requestBody: description: 'Subscription notification' required: true content: @@ -1396,7 +1415,7 @@ paths: userEventType: 'Transferring' currentAccessPointId: 'ap2' previousAccessPointId: 'ap1' - timestamp: + timestamp: seconds: 1483231138 nanoseconds: 0 link: @@ -1409,10 +1428,10 @@ paths: /subscriptions/zonalTraffic/{subscriptionId}: get: tags: - - '' + - 'location' summary: 'Retrieve subscription information' description: 'Get subscription information.' - operationId: ZonalTrafficSubGET + operationId: zonalTrafficSubGET parameters: - $ref: '#/components/parameters/Path.SubscrId' responses: @@ -1450,7 +1469,7 @@ paths: x-swagger-router-controller: "subscriptions" put: tags: - - '' + - 'location' summary: 'Updates a subscription information' description: 'Updates a subscription.' operationId: zonalTrafficSubPUT @@ -1511,7 +1530,7 @@ paths: x-swagger-router-controller: 'subscriptions' delete: tags: - - '' + - 'location' summary: 'Cancel a subscription' description: 'Method to delete a subscription.' operationId: zonalTrafficSubDELETE @@ -1532,7 +1551,7 @@ paths: /subscriptions/zoneStatus: get: tags: - - '' + - 'location' summary: 'Retrieves all active subscriptions to zone status notifications' description: 'This operation is used for retrieving all active subscriptions to zone status change notifications.' operationId: zoneStatusSubListGET @@ -1557,11 +1576,11 @@ paths: notifyURL: 'http://clientApp.example.com/location_notifications/123456' zoneId: 'zone01' numberOfUsersZoneThreshold: 500 - operationStatus: 'Serviceable' + operationStatus: ['Serviceable'] resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus' post: tags: - - '' + - 'location' summary: 'Creates a subscription for zone status notification' description: 'Creates a subscription to the Location Service for zone status change notification.' operationId: zoneStatusSubPOST @@ -1582,7 +1601,7 @@ paths: notifyURL: 'http://my.callback.com/location_notifications/some-id' zoneId: 'zone01' numberOfUsersZoneThreshold: 500 - operationStatus: 'Serviceable' + operationStatus: ['Serviceable'] responses: '201': description: 'Successful subscription' @@ -1600,7 +1619,7 @@ paths: notifyURL: 'http://my.callback.com/location_notifications/some-id' zoneId: 'zone01' numberOfUsersZoneThreshold: 500 - operationStatus: 'Serviceable' + operationStatus: ['Serviceable'] resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' '400': $ref: '#/components/responses/400' @@ -1618,7 +1637,10 @@ paths: notification: '{$request.body#/zoneStatusSubscription.callbackReference.notifyURL}': post: - requestBody: + summary: 'Callback POST used to send a notification' + description: 'Notification from Location service, content based on subscription type' + operationId: zoneStatusNotificationPOST + requestBody: description: 'Subscription notification' required: true content: @@ -1636,7 +1658,7 @@ paths: operationStatus: 'Serviceable' numberOfUsersInZone: '20' numberOfUsersInAP: '12' - timestamp: + timestamp: seconds: 1483231138 nanoseconds: 0 link: @@ -1649,7 +1671,7 @@ paths: /subscriptions/zoneStatus/{subscriptionId}: get: tags: - - '' + - 'location' summary: 'Retrieve subscription information' description: 'Get subscription information.' operationId: zoneStatusSubGET @@ -1674,7 +1696,7 @@ paths: notifyURL: 'http://my.callback.com/location_notifications/some-id' zoneId: 'zone01' numberOfUsersZoneThreshold: 500 - operationStatus: 'Serviceable' + operationStatus: ['Serviceable'] resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' '400': $ref: '#/components/responses/400' @@ -1691,7 +1713,7 @@ paths: x-swagger-router-controller: "subscriptions" put: tags: - - '' + - 'location' summary: 'Updates a subscription information' description: 'Updates a subscription.' operationId: zoneStatusSubPUT @@ -1712,7 +1734,7 @@ paths: notifyURL: 'http://my.callback.com/location_notifications/some-id' zoneId: 'zone01' numberOfUsersZoneThreshold: 500 - operationStatus: 'Serviceable' + operationStatus: ['Serviceable'] resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' parameters: - $ref: '#/components/parameters/Path.SubscrId' @@ -1733,7 +1755,7 @@ paths: notifyURL: 'http://my.callback.com/location_notifications/some-id' zoneId: 'zone01' numberOfUsersZoneThreshold: 500 - operationStatus: 'Serviceable' + operationStatus: ['Serviceable'] resourceURL: 'http://meAppServer.example.com/location/v2/subscriptions/zoneStatus/sub123' '400': $ref: '#/components/responses/400' @@ -1754,7 +1776,7 @@ paths: x-swagger-router-controller: 'subscriptions' delete: tags: - - '' + - 'location' summary: 'Cancel a subscription' description: 'Method to delete a subscription.' operationId: zoneStatusSubDELETE @@ -1786,7 +1808,7 @@ components: type: object properties: problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 401: description: 'Unauthorized : used when the client did not submit credentials.' content: @@ -1796,7 +1818,7 @@ components: properties: problemDetails: $ref: '#/components/schemas/ProblemDetails' - 403: + 403: description: 'Forbidden : operation is not allowed given the current status of the resource.' content: application/json: @@ -1993,33 +2015,21 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: string connectionType: - allOf: - - $ref: '#/components/schemas/ConnectionType' - description: Connection type of access point. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: ConnectionType + $ref: '#/components/schemas/ConnectionType' interestRealm: description: Interest realm of access point. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string locationInfo: - allOf: - - $ref: '#/components/schemas/LocationInfo' - description: The coordinates of the access point. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: LocationInfo + $ref: '#/components/schemas/LocationInfo' numberOfUsers: description: Number of users currently on the access point. type: integer x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: integer operationStatus: - allOf: - - $ref: '#/components/schemas/OperationStatus' - description: Operation status of access point. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: OperationStatus + $ref: '#/components/schemas/OperationStatus' resourceURL: description: Self referring URL type: string @@ -2064,21 +2074,12 @@ components: CallbackReference: properties: callbackData: - description: Data the application can register with the server when subscribing - to notifications, and that are passed back unchanged in each of the related - notifications. These data can be used by the application in the processing - of the notification, e.g. for correlation purposes. + description: Data the application can register with the server when subscribing to notifications, and that are passed back unchanged in each of the related notifications. These data can be used by the application in the processing of the notification, e.g. for correlation purposes. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string notificationFormat: - allOf: - - $ref: '#/components/schemas/NotificationFormat' - description: Application can specify format of the resource representation - in notifications that are related to this subscription. The choice is - between {XML, JSON} - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: string + $ref: '#/components/schemas/NotificationFormat' notifyURL: description: Notify Callback URL type: string @@ -2088,61 +2089,41 @@ components: - notifyURL type: object CircleNotificationSubscription: - description: A type containing data for notifications, when the area is defined - as a circle. + description: A type containing data for notifications, when the area is defined as a circle. properties: address: - description: Address of terminals to monitor (e.g. "sip" URI, "tel" URI, - "acr" URI) + description: Address of terminals to monitor (e.g. "sip" URI, "tel" URI, "acr" URI) items: type: string type: array x-etsi-mec-cardinality: 1..N x-etsi-mec-origin-type: anyURI callbackReference: - allOf: - - $ref: '#/components/schemas/CallbackReference' - description: Notification callback definition - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: string + $ref: '#/components/schemas/CallbackReference' checkImmediate: description: Check location immediately after establishing notification. type: boolean x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: boolean clientCorrelator: - description: A correlator that the client can use to tag this particular - resource representation during a request to create a resource on the server. + description: A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string count: - description: Maximum number of notifications per individual address. For - no maximum, either do not include this element or specify a value of zero. - Default value is 0. + description: Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0. type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: int duration: - description: "Period of time (in seconds) notifications are provided for.\ - \ If set to \u201C0\u201D (zero), a default duration time, which is specified\ - \ by the service policy, will be used. If the parameter is omitted, the\ - \ notifications will continue until the maximum duration time, which is\ - \ specified by the service policy, unless the notifications are stopped\ - \ by deletion of subscription for notifications." + description: "Period of time (in seconds) notifications are provided for. If set to \u201C0\u201D (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications." type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: int enteringLeavingCriteria: - allOf: - - $ref: '#/components/schemas/EnteringLeavingCriteria' - description: Indicates whether the notification should occur when the - terminal enters or leaves the target area. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: EnteringLeavingCriteria + $ref: '#/components/schemas/EnteringLeavingCriteria' frequency: - description: Maximum frequency (in seconds) of notifications per subscription - (can also be considered minimum time between notifications). + description: Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications). type: integer x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: int @@ -2172,8 +2153,7 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: float requester: - description: Identifies the entity that is requesting the information (e.g. - "sip" URI, "tel" URI, "acr" URI) + description: Identifies the entity that is requesting the information (e.g. "sip" URI, "tel" URI, "acr" URI) type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: anyURI @@ -2221,40 +2201,27 @@ components: - AnyBeyondDistance type: string DistanceNotificationSubscription: - description: A type containing data for distance subscription, with reference - to other devices. + description: A type containing data for distance subscription, with reference to other devices. properties: callbackReference: - allOf: - - $ref: '#/components/schemas/CallbackReference' - description: Notification callback definition - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: string + $ref: '#/components/schemas/CallbackReference' checkImmediate: description: Check location immediately after establishing notification. type: boolean x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: boolean clientCorrelator: - description: A correlator that the client can use to tag this particular - resource representation during a request to create a resource on the server. + description: A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string count: - description: Maximum number of notifications per individual address. For - no maximum, either do not include this element or specify a value of zero. - Default value is 0. + description: Maximum number of notifications per individual address. For no maximum, either do not include this element or specify a value of zero. Default value is 0. type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: int criteria: - allOf: - - $ref: '#/components/schemas/DistanceCriteria' - description: Indicates whether the notification should occur when the - geographical relationship between monitored and referenced devices changes. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: DistanceCriteria + $ref: '#/components/schemas/DistanceCriteria' distance: description: Distance between devices that shall be monitored. format: float @@ -2262,18 +2229,12 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: float duration: - description: "Period of time (in seconds) notifications are provided for.\ - \ If set to \u201C0\u201D (zero), a default duration time, which is specified\ - \ by the service policy, will be used. If the parameter is omitted, the\ - \ notifications will continue until the maximum duration time, which is\ - \ specified by the service policy, unless the notifications are stopped\ - \ by deletion of subscription for notifications." + description: "Period of time (in seconds) notifications are provided for. If set to \u201C0\u201D (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications." type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: int frequency: - description: Maximum frequency (in seconds) of notifications per subscription - (can also be considered minimum time between notifications). + description: Maximum frequency (in seconds) of notifications per subscription (can also be considered minimum time between notifications). type: integer x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: int @@ -2285,25 +2246,21 @@ components: x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: Link monitoredAddress: - description: Contains addresses of devices to monitor (e.g., 'sip' URI, - 'tel' URI, 'acr' URI) + description: Contains addresses of devices to monitor (e.g., 'sip' URI, 'tel' URI, 'acr' URI) items: type: string type: array x-etsi-mec-cardinality: 1..N x-etsi-mec-origin-type: anyURI referenceAddress: - description: Indicates address of each device that will be used as reference - devices from which the distances towards monitored devices indicated in - the Addresses will be monitored (e.g., 'sip' URI, 'tel' URI, 'acr' URI) + description: Indicates address of each device that will be used as reference devices from which the distances towards monitored devices indicated in the Addresses will be monitored (e.g., 'sip' URI, 'tel' URI, 'acr' URI) items: type: string type: array x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: anyURI requester: - description: Identifies the entity that is requesting the information (e.g. - "sip" URI, "tel" URI, "acr" URI) + description: Identifies the entity that is requesting the information (e.g. "sip" URI, "tel" URI, "acr" URI) type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: anyURI @@ -2349,22 +2306,17 @@ components: LocationInfo: properties: accuracy: - description: Horizontal accuracy / (semi-major) uncertainty of location - provided in meters, as defined in [14]. Present only if "shape" equals - 4, 5 or 6 + description: Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if "shape" equals 4, 5 or 6 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt accuracyAltitude: - description: Altitude accuracy / uncertainty of location provided in meters, - as defined in [14]. Present only if "shape" equals 3 or 4 + description: Altitude accuracy / uncertainty of location provided in meters, as defined in [14]. Present only if "shape" equals 3 or 4 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt accuracySemiMinor: - description: Horizontal accuracy / (semi-major) uncertainty of location - provided in meters, as defined in [14]. Present only if "shape" equals - 4, 5 or 6 + description: Horizontal accuracy / (semi-major) uncertainty of location provided in meters, as defined in [14]. Present only if "shape" equals 4, 5 or 6 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt @@ -2375,9 +2327,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Float confidence: - description: Confidence by which the position of a target entity is known - to be within the shape description, expressed as a percentage and defined - in [14]. Present only if "shape" equals 1, 4 or 6 + description: Confidence by which the position of a target entity is known to be within the shape description, expressed as a percentage and defined in [14]. Present only if "shape" equals 1, 4 or 6 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt @@ -2392,8 +2342,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt latitude: - description: "Location latitude, expressed in the range -90\xB0 to +90\xB0\ - . Cardinality greater than one only if \"shape\" equals 7." + description: "Location latitude, expressed in the range -90\xB0 to +90\xB0. Cardinality greater than one only if \"shape\" equals 7." items: format: float type: number @@ -2402,8 +2351,7 @@ components: x-etsi-mec-cardinality: 1..N x-etsi-mec-origin-type: Float longitude: - description: "Location longitude, expressed in the range -180\xB0 to +180\xB0\ - . Cardinality greater than one only if \"shape\" equals 7." + description: "Location longitude, expressed in the range -180\xB0 to +180\xB0. Cardinality greater than one only if \"shape\" equals 7." items: format: float type: number @@ -2417,50 +2365,27 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt orientationMajorAxis: - description: "Angle of orientation of the major axis, expressed in the range\ - \ 0\xB0 to 180\xB0, as defined in [14]. Present only if \"shape\" equals\ - \ 4 or 6" + description: "Angle of orientation of the major axis, expressed in the range 0\xB0 to 180\xB0, as defined in [14]. Present only if \"shape\" equals 4 or 6" type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt shape: - description: 'Shape information, as detailed in [14], associated with the - reported location coordinate: - - 1 = ELLIPSOID_ARC - - 2 = ELLIPSOID_POINT - - 3 = ELLIPSOID_POINT_ALTITUDE - - 4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID - - 5 = ELLIPSOID_POINT_UNCERT_CIRCLE - - 6 = ELLIPSOID_POINT_UNCERT_ELLIPSE - - 7 = POLYGON' - type: string + description: 'Shape information, as detailed in [14], associated with the reported location coordinate:

1 = ELLIPSOID_ARC

2 = ELLIPSOID_POINT

3 = ELLIPSOID_POINT_ALTITUDE

4 = ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID

5 = ELLIPSOID_POINT_UNCERT_CIRCLE

6 = ELLIPSOID_POINT_UNCERT_ELLIPSE

7 = POLYGON' + type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Enum_inlined timestamp: - allOf: - - $ref: '#/components/schemas/TimeStamp' - description: Date and time that location was collected. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: TimeStamp + $ref: '#/components/schemas/TimeStamp' uncertaintyRadius: description: Present only if "shape" equals 6 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt velocity: - description: "Structure with attributes relating to the target entity\u2019\ - s velocity, as defined in [14]." + description: "Structure with attributes relating to the target entity\u2019s velocity, as defined in [14]." properties: bearing: - description: "Bearing, expressed in the range 0\xB0 to 360\xB0, as defined\ - \ in [14]." + description: "Bearing, expressed in the range 0\xB0 to 360\xB0, as defined in [14]." type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UnsignedInt @@ -2470,34 +2395,22 @@ components: x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: UnsignedInt uncertainty: - description: Horizontal uncertainty, as defined in [14]. Present only - if "velocityType" equals 3 or 4 + description: Horizontal uncertainty, as defined in [14]. Present only if "velocityType" equals 3 or 4 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt velocityType: - description: 'Velocity information, as detailed in [14], associated - with the reported location coordinate: - - 1 = HORIZONTAL - - 2 = HORIZONTAL_VERTICAL - - 3 = HORIZONTAL_UNCERT - - 4 = HORIZONTAL_VERTICAL_UNCERT' - type: string + description: 'Velocity information, as detailed in [14], associated with the reported location coordinate:

1 = HORIZONTAL

2 = HORIZONTAL_VERTICAL

3 = HORIZONTAL_UNCERT

4 = HORIZONTAL_VERTICAL_UNCERT' + type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Enum_inlined verticalSpeed: - description: Vertical speed, expressed in km/h and defined in [14]. - Present only if "velocityType" equals 2 or 4 + description: Vertical speed, expressed in km/h and defined in [14]. Present only if "velocityType" equals 2 or 4 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: Int verticalUncertainty: - description: Vertical uncertainty, as defined in [14]. Present only - if "velocityType" equals 4 + description: Vertical uncertainty, as defined in [14]. Present only if "velocityType" equals 4 type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: UnsignedInt @@ -2512,7 +2425,6 @@ components: - latitude - longitude - shape - - timestamp type: object x-etsi-ref: 6.5.3 NotificationFormat: @@ -2523,8 +2435,7 @@ components: NotificationSubscriptionList: properties: circleNotificationSubscription: - description: Collection of CircleNotificationSubscription elements, see - note 2. + description: Collection of CircleNotificationSubscription elements, see note 2. items: $ref: '#/components/schemas/CircleNotificationSubscription' minItems: 0 @@ -2532,8 +2443,7 @@ components: x-etsi-mec-cardinality: 0.. N x-etsi-mec-origin-type: CircleNotificationSubscription distanceNotificationSubscription: - description: Collection of DistanceNotificationSubscription elements, see - note 2. + description: Collection of DistanceNotificationSubscription elements, see note 2. items: $ref: '#/components/schemas/DistanceNotificationSubscription' minItems: 0 @@ -2541,8 +2451,7 @@ components: x-etsi-mec-cardinality: 0.. N x-etsi-mec-origin-type: DistanceNotificationSubscription periodicNotificationSubscription: - description: Collection of PeriodicNotificationSubscription elements, see - note 2. + description: Collection of PeriodicNotificationSubscription elements, see note 2. items: $ref: '#/components/schemas/PeriodicNotificationSubscription' minItems: 0 @@ -2582,8 +2491,7 @@ components: required: - resourceURL type: object - x-etsi-notes: "NOTE 1:\tAs specified in [5], clause 5.2.2.8.\nNOTE 2: \tAs specified\ - \ in [6], clause 5.2.2.7." + x-etsi-notes: "NOTE 1:\tAs specified in [5], clause 5.2.2.8.\nNOTE 2: \tAs specified in [6], clause 5.2.2.7." x-etsi-ref: 6.3.3 OperationStatus: enum: @@ -2595,38 +2503,26 @@ components: description: A type containing data for periodic subscription. properties: address: - description: Address of terminals to monitor (e.g. "sip" URI, "tel" URI, - "acr" URI) + description: Address of terminals to monitor (e.g. "sip" URI, "tel" URI, "acr" URI) items: type: string type: array x-etsi-mec-cardinality: 1..N x-etsi-mec-origin-type: anyURI callbackReference: - allOf: - - $ref: '#/components/schemas/CallbackReference' - description: Notification callback definition - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: string + $ref: '#/components/schemas/CallbackReference' clientCorrelator: - description: A correlator that the client can use to tag this particular - resource representation during a request to create a resource on the server. + description: A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string duration: - description: "Period of time (in seconds) notifications are provided for.\ - \ If set to \u201C0\u201D (zero), a default duration time, which is specified\ - \ by the service policy, will be used. If the parameter is omitted, the\ - \ notifications will continue until the maximum duration time, which is\ - \ specified by the service policy, unless the notifications are stopped\ - \ by deletion of subscription for notifications." + description: "Period of time (in seconds) notifications are provided for. If set to \u201C0\u201D (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications." type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: int frequency: - description: Maximum frequency (in seconds) of notifications (can also be - considered minimum time between notifications) per subscription. + description: Maximum frequency (in seconds) of notifications (can also be considered minimum time between notifications) per subscription. type: integer x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: int @@ -2643,8 +2539,7 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: int requester: - description: Identifies the entity that is requesting the information (e.g. - "sip" URI, "tel" URI, "acr" URI) + description: Identifies the entity that is requesting the information (e.g. "sip" URI, "tel" URI, "acr" URI) type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: anyURI @@ -2662,14 +2557,12 @@ components: ProblemDetails: properties: detail: - description: A human-readable explanation specific to this occurrence of - the problem + description: A human-readable explanation specific to this occurrence of the problem type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String instance: - description: A URI reference that identifies the specific occurrence of - the problem + description: A URI reference that identifies the specific occurrence of the problem format: uri type: string x-etsi-mec-cardinality: 0..1 @@ -2686,8 +2579,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String type: - description: A URI reference according to IETF RFC 3986 that identifies - the problem type + description: A URI reference according to IETF RFC 3986 that identifies the problem type format: uri type: string x-etsi-mec-cardinality: 0..1 @@ -2699,8 +2591,6 @@ components: - NotRetrieved - Error type: string - SerializerTypes: - type: string ServiceError: description: used to indicate a notification termination or cancellation. properties: @@ -2710,8 +2600,7 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: string text: - description: Message text, with replacement variables marked with %n, where - n is an index into the list of elements, starting at 1 + description: Message text, with replacement variables marked with %n, where n is an index into the list of elements, starting at 1 type: string x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: string @@ -2735,8 +2624,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: anyURI callbackData: - description: CallbackData if passed by the application in the receiptRequest - element during the associated subscription operation + description: CallbackData if passed by the application in the receiptRequest element during the associated subscription operation type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string @@ -2748,11 +2636,7 @@ components: x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: Link reason: - allOf: - - $ref: '#/components/schemas/ServiceError' - description: Reason notification is being discontinued. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: ServiceError + $ref: '#/components/schemas/ServiceError' required: - terminalLocation type: object @@ -2760,24 +2644,14 @@ components: description: A type containing the notification subscription. properties: callbackData: - description: CallbackData if passed by the application in the receiptRequest - element during the associated subscription operation + description: CallbackData if passed by the application in the receiptRequest element during the associated subscription operation type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string distanceCriteria: - allOf: - - $ref: '#/components/schemas/DistanceCriteria' - description: Indicates which distance criteria that caused the notification. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: DistanceCriteria + $ref: '#/components/schemas/DistanceCriteria' enteringLeavingCriteria: - allOf: - - $ref: '#/components/schemas/EnteringLeavingCriteria' - description: Indicates whether the notification was caused by the terminal - entering or leaving the target area. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: EnteringLeavingCriteria + $ref: '#/components/schemas/EnteringLeavingCriteria' isFinalNotification: description: Set to true if it is a final notification about location change. type: boolean @@ -2801,9 +2675,7 @@ components: - terminalLocation type: object TerminalDistance: - description: A type containing information about the distance from a terminal - to a location or between two terminals, in addition the accuracy and a timestamp - of the information are provided. + description: A type containing information about the distance from a terminal to a location or between two terminals, in addition the accuracy and a timestamp of the information are provided. properties: accuracy: description: Accuracy of the provided distance in meters @@ -2811,49 +2683,29 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: integer distance: - description: Distance from terminal to a location or between two terminals - specified in meters + description: Distance from terminal to a location or between two terminals specified in meters type: integer x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: integer timestamp: - allOf: - - $ref: '#/components/schemas/TimeStamp' - description: Date and time that location from which distance is calculated - was collected. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: TimeStamp + $ref: '#/components/schemas/TimeStamp' required: - distance type: object TerminalLocation: - description: A type containing device address, retrieval status and location - information. + description: A type containing device address, retrieval status and location information. properties: address: - description: Address of the terminal to which the location information applies - (e.g., 'sip' URI, 'tel' URI, 'acr' URI). + description: Address of the terminal to which the location information applies (e.g., 'sip' URI, 'tel' URI, 'acr' URI). type: string x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: anyURI currentLocation: - allOf: - - $ref: '#/components/schemas/LocationInfo' - description: Location of terminal. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: LocationInfo + $ref: '#/components/schemas/LocationInfo' errorInformation: - allOf: - - $ref: '#/components/schemas/ServiceError' - description: This is the reason for error. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: ServiceError + $ref: '#/components/schemas/ServiceError' locationRetrievalStatus: - allOf: - - $ref: '#/components/schemas/RetrievalStatus' - description: Status of retrieval for this terminal address. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: RetrievalStatus + $ref: '#/components/schemas/RetrievalStatus' required: - address - locationRetrievalStatus @@ -2868,17 +2720,17 @@ components: TimeStamp: properties: nanoSeconds: - type: integer - format: uint32 description: 'The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.' + format: int32 + type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 seconds: - type: integer - format: uint32 description: 'The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC.' + format: int32 + type: integer x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: Uint32 required: @@ -2895,14 +2747,12 @@ components: UserInfo: properties: accessPointId: - description: The identity of the access point the user is currently on, - see note 1. + description: The identity of the access point the user is currently on, see note 1. type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String address: - description: Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently - on the access point, see note 1. + description: Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1. format: uri type: string x-etsi-mec-cardinality: '1' @@ -2913,31 +2763,21 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String contextLocationInfo: - description: Contextual information of a user location (e.g. aisle, floor, - room number, etc.). + description: Contextual information of a user location (e.g. aisle, floor, room number, etc.). type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: String locationInfo: - allOf: - - $ref: '#/components/schemas/LocationInfo' - description: The geographical coordinates where the user is, see note 2. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: LocationInfo + $ref: '#/components/schemas/LocationInfo' resourceURL: description: Self-referring URL, see note 1. type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String timestamp: - allOf: - - $ref: '#/components/schemas/TimeStamp' - description: Date and time that location was collected. - x-etsi-mec-cardinality: '1' - x-etsi-mec-origin-type: TimeStamp + $ref: '#/components/schemas/TimeStamp' zoneId: - description: The identity of the zone the user is currently within, see - note 1. + description: The identity of the zone the user is currently within, see note 1. type: string x-etsi-mec-cardinality: '1' x-etsi-mec-origin-type: String @@ -2946,10 +2786,9 @@ components: - accessPointId - zoneId - resourceURL - - timeStamp + - timestamp type: object - x-etsi-notes: "NOTE 1:\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified\ - \ in [5], clause 5.2.2.5." + x-etsi-notes: "NOTE 1:\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5." x-etsi-ref: 6.2.2 UserList: description: A type containing list of users. @@ -2978,14 +2817,9 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: anyURI callbackReference: - allOf: - - $ref: '#/components/schemas/CallbackReference' - description: Notification callback definition - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: CallbackReference + $ref: '#/components/schemas/CallbackReference' clientCorrelator: - description: A correlator that the client can use to tag this particular - resource representation during a request to create a resource on the server. + description: A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string @@ -2995,9 +2829,7 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: anyURI userEventCriteria: - description: List of user event values to generate notifications for (these - apply to address specified). If this element is missing, a notification - is requested to be generated for any change in user event. + description: List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event. items: $ref: '#/components/schemas/UserEventType' type: array @@ -3007,8 +2839,6 @@ components: - callbackReference - address type: object - VirtualNetworkInterfaceRequirements: - type: string ZonalPresenceNotification: description: A type containing zonal presence notification properties: @@ -3018,8 +2848,7 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: anyURI callbackData: - description: CallBackData if passed by the application during the associated - ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common]. + description: CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common]. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string @@ -3029,15 +2858,12 @@ components: x-etsi-mec-cardinality: 1 x-etsi-mec-origin-type: string interestRealm: - description: Interest realm of access point (e.g. geographical area, a type - of industry etc.). + description: Interest realm of access point (e.g. geographical area, a type of industry etc.). type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string link: - description: Link to other resources that are in relationship with this - notification. The server SHOULD include a link to the related subscription. - No other links are required or suggested by this specification + description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification items: $ref: '#/components/schemas/Link' type: array @@ -3049,17 +2875,9 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string timestamp: - allOf: - - $ref: '#/components/schemas/TimeStamp' - description: Indicates the time of the day for zonal presence notification. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: TimeStamp + $ref: '#/components/schemas/TimeStamp' userEventType: - allOf: - - $ref: '#/components/schemas/UserEventType' - description: User Event. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: UserEventType + $ref: '#/components/schemas/UserEventType' zoneId: description: Identifier of zone type: string @@ -3076,33 +2894,19 @@ components: description: A type containing zonal traffic subscription properties: callbackReference: - allOf: - - $ref: '#/components/schemas/CallbackReference' - description: Notification callback definition - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: CallbackReference + $ref: '#/components/schemas/CallbackReference' clientCorrelator: - description: A correlator that the client can use to tag this particular - resource representation during a request to create a resource on the server. + description: A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string duration: - description: Period (in seconds) of time notifications are provided for. - If set to "0" (zero), a default duration time, which is specified by the - service policy, will be used. If the parameter is omitted, the notifications - will continue until the maximum duration time, which is specified by the - service policy, unless the notifications are stopped by deletion of subscription - for notifications. This element MAY be given by the client during resource - creation in order to signal the desired lifetime of the subscription. - The server MUST return in this element the period of time for which - the subscription will still be valid. + description: Period (in seconds) of time notifications are provided for. If set to "0" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid. type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: unsignedInt interestRealm: - description: Interest realm of access point (e.g. geographical area, a type - of industry etc.). + description: Interest realm of access point (e.g. geographical area, a type of industry etc.). items: type: string type: array @@ -3114,11 +2918,10 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: anyURI userEventCriteria: - allOf: - - $ref: '#/components/schemas/UserEventType' - description: List of user event values to generate notifications for (these - apply to address specified). If this element is missing, a notification - is requested to be generated for any change in user event. + description: List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event. + items: + $ref: '#/components/schemas/UserEventType' + type: array x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: UserEventType zoneId: @@ -3190,49 +2993,31 @@ components: x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string callbackData: - description: CallBackData if passed by the application during the associated - ZoneStatusSubscription operation. See [REST_NetAPI_Common]. + description: CallBackData if passed by the application during the associated ZoneStatusSubscription operation. See [REST_NetAPI_Common]. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string link: - description: Link to other resources that are in relationship with this - notification. The server SHOULD include a link to the related subscription. - No other links are required or suggested by this specification + description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification items: $ref: '#/components/schemas/Link' type: array x-etsi-mec-cardinality: 0..N x-etsi-mec-origin-type: Link numberOfUsersInAP: - description: This element shall be present when ZoneStatusSubscription includes - numberOfUsersAPThreshold element and the number of users in an access - point exceeds the threshold defined in the subscription. + description: This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription. type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: unsignedInt numberOfUsersInZone: - description: This element shall be present when ZoneStatusSubscription includes - numberOfUsersZoneThreshold element and the number of users in a zone exceeds - the threshold defined in this subscription. + description: This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription. type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: unsignedInt operationStatus: - allOf: - - $ref: '#/components/schemas/OperationStatus' - description: This element shall be present when ZoneStatusSubscription - includes operationStatus element and the operation status value of an - access point meets Serviceable or Unserviceable or Unknown defined in - the subscription. - x-etsi-mec-cardinality: 0..1 - x-etsi-mec-origin-type: OperationStatus + $ref: '#/components/schemas/OperationStatus' timestamp: - allOf: - - $ref: '#/components/schemas/TimeStamp' - description: Indicates the timeof day for zone status notification. - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: TimeStamp + $ref: '#/components/schemas/TimeStamp' zoneId: description: Identifier of zone type: string @@ -3246,32 +3031,24 @@ components: description: A type containing zone status subscription. properties: callbackReference: - allOf: - - $ref: '#/components/schemas/CallbackReference' - description: Notification callback definition - x-etsi-mec-cardinality: 1 - x-etsi-mec-origin-type: string + $ref: '#/components/schemas/CallbackReference' clientCorrelator: - description: A correlator that the client can use to tag this particular - resource representation during a request to create a resource on the server. + description: A correlator that the client can use to tag this particular resource representation during a request to create a resource on the server. type: string x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: string numberOfUsersAPThreshold: - description: Threshold number of users in an access point which if crossed - shall cause a notification + description: Threshold number of users in an access point which if crossed shall cause a notification type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: unsignedInt numberOfUsersZoneThreshold: - description: Threshold number of users in a zone which if crossed shall - cause a notification + description: Threshold number of users in a zone which if crossed shall cause a notification type: integer x-etsi-mec-cardinality: 0..1 x-etsi-mec-origin-type: unsignedInt operationStatus: - description: List of operation status values to generate notifications for - (these apply to all access points within a zone). + description: List of operation status values to generate notifications for (these apply to all access points within a zone). items: $ref: '#/components/schemas/OperationStatus' type: array @@ -3291,4 +3068,3 @@ components: - callbackReference - zoneId type: object - -- GitLab From 23d079bcacc82861a609634e09dd699abde50192 Mon Sep 17 00:00:00 2001 From: Michel Roy Date: Thu, 12 Nov 2020 20:56:15 -0500 Subject: [PATCH 4/5] implicit naming --- LocationAPI.json | 107 ++++++++++++----------------------------------- LocationAPI.yaml | 85 ++++++++++++------------------------- 2 files changed, 52 insertions(+), 140 deletions(-) diff --git a/LocationAPI.json b/LocationAPI.json index d2e386d..1032dfd 100644 --- a/LocationAPI.json +++ b/LocationAPI.json @@ -2257,7 +2257,7 @@ } }, "example": { - "zonalTrafiicSubscription": { + "zonalTrafficSubscription": { "clientCorrelator": "0123", "callbackReference": { "notifyURL": "http://my.callback.com/location_notifications/some-id" @@ -2762,14 +2762,9 @@ "400": { "description": "Bad Request : used to indicate that incorrect parameters were passed to the request.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2777,14 +2772,9 @@ "401": { "description": "Unauthorized : used when the client did not submit credentials.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2792,17 +2782,9 @@ "403": { "description": "Forbidden : operation is not allowed given the current status of the resource.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "required": [ - "problemDetails" - ], - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2810,14 +2792,9 @@ "404": { "description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2825,14 +2802,9 @@ "406": { "description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2840,14 +2812,9 @@ "412": { "description": "Precondition failed : used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2855,14 +2822,9 @@ "414": { "description": "URI Too Long : used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2870,14 +2832,9 @@ "415": { "description": "Unsupported Media Type : used to indicate that the server or the client does not support the content type of the entity body.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } @@ -2885,24 +2842,17 @@ "422": { "description": "Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" }, "example": { "application/problem+json": { - "ProblemDetails": { - "type": "https://meAppServer.example.com/rni/v2/probs/too-many targets", - "title": "Too many targets", - "status": "422", - "detail": "The target area for the request is considered too large", - "instance": "/meAppClient.example.com/77777/msgs/abc" - } + "type": "https://meAppServer.example.com/rni/v2/probs/too-many targets", + "title": "Too many targets", + "status": "422", + "detail": "The target area for the request is considered too large", + "instance": "/meAppClient.example.com/77777/msgs/abc" } } } @@ -2911,14 +2861,9 @@ "429": { "description": "Too Many Requests : used when a rate limiter has triggered.", "content": { - "application/json": { + "application/problem+json": { "schema": { - "type": "object", - "properties": { - "problemDetails": { - "$ref": "#/components/schemas/ProblemDetails" - } - } + "$ref": "#/components/schemas/ProblemDetails" } } } diff --git a/LocationAPI.yaml b/LocationAPI.yaml index 51d8ec5..1f2136b 100644 --- a/LocationAPI.yaml +++ b/LocationAPI.yaml @@ -1484,7 +1484,7 @@ paths: zonalTrafficSubscription: $ref: '#/components/schemas/ZonalTrafficSubscription' example: - zonalTrafiicSubscription: + zonalTrafficSubscription: clientCorrelator: '0123' callbackReference: notifyURL: 'http://my.callback.com/location_notifications/some-id' @@ -1803,108 +1803,75 @@ components: 400: description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 401: description: 'Unauthorized : used when the client did not submit credentials.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 403: description: 'Forbidden : operation is not allowed given the current status of the resource.' content: - application/json: + application/problem+json: schema: - type: object - required: - - problemDetails - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 404: description: 'Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 406: description: 'Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 412: description: 'Precondition failed : used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 414: description: 'URI Too Long : used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 415: description: 'Unsupported Media Type : used to indicate that the server or the client does not support the content type of the entity body.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' 422: description: 'Unprocessable Entity : used to indicate that the server understands the content type of the request entity and that the syntax of the request entity is correct but that the server is unable to process the contained instructions. This error condition can occur if an JSON request body is syntactically correct but semantically incorrect, for example if the target area for the request is considered too large. This error condition can also occur if the capabilities required by the request are not supported.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' example: application/problem+json: - ProblemDetails: - type: 'https://meAppServer.example.com/rni/v2/probs/too-many targets' - title: Too many targets - status: '422' - detail: The target area for the request is considered too large - instance: /meAppClient.example.com/77777/msgs/abc + type: 'https://meAppServer.example.com/rni/v2/probs/too-many targets' + title: Too many targets + status: '422' + detail: The target area for the request is considered too large + instance: /meAppClient.example.com/77777/msgs/abc 429: description: 'Too Many Requests : used when a rate limiter has triggered.' content: - application/json: + application/problem+json: schema: - type: object - properties: - problemDetails: - $ref: '#/components/schemas/ProblemDetails' + $ref: '#/components/schemas/ProblemDetails' parameters: Path.AccessPointId: name: accessPointId -- GitLab From 6f63f4dee12247dfa00f4aae65e1955edd14b937 Mon Sep 17 00:00:00 2001 From: Michel Roy Date: Mon, 16 Nov 2020 14:25:21 -0500 Subject: [PATCH 5/5] Fix description --- LocationAPI.json | 4 ++-- LocationAPI.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LocationAPI.json b/LocationAPI.json index 1032dfd..db17c30 100644 --- a/LocationAPI.json +++ b/LocationAPI.json @@ -6,7 +6,7 @@ }, "title": "ETSI GS MEC 013 - Location API", "version": "2.1.1", - "description": "The ETSI MEC ISG MEC013 WLAN Access Information API described using OpenAPI.", + "description": "The ETSI MEC ISG MEC013 Location API described using OpenAPI.", "license": { "name": "BSD-3-Clause", "url": "https://forge.etsi.org/legal-matters" @@ -4341,4 +4341,4 @@ } } } -} \ No newline at end of file +} diff --git a/LocationAPI.yaml b/LocationAPI.yaml index 1f2136b..20979ad 100644 --- a/LocationAPI.yaml +++ b/LocationAPI.yaml @@ -4,7 +4,7 @@ info: url: https://forge.etsi.org/rep/mec/gs013-location-api title: ETSI GS MEC 013 - Location API version: 2.1.1 - description: The ETSI MEC ISG MEC013 WLAN Access Information API described using OpenAPI. + description: The ETSI MEC ISG MEC013 Location API described using OpenAPI. license: name: BSD-3-Clause url: 'https://forge.etsi.org/legal-matters' -- GitLab