diff --git a/.jenkins.sh b/.jenkins.sh index 4b9fec37da88f599769bef12c649dcedaedfb45e..74d0370875e23476bf3a058ebcb825f7494b3de7 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 diff --git a/LocationAPI.json b/LocationAPI.json index 349085e44d8ac36082ab912ffef720432c2290df..db17c3075299cac3f99946eb44a36f722259ede8 100644 --- a/LocationAPI.json +++ b/LocationAPI.json @@ -1,1641 +1,4344 @@ -{ - "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": { + "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 Location 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://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", + "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": [ + "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", + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "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", + "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": [ + "location" + ], + "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": { + "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": { + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "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", + "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": [ + "location" + ], + "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": { + "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": { + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": { + "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": { + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "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", + "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": [ + "location" + ], + "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": { + "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": { + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "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", + "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": [ + "location" + ], + "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": { + "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": { + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": { + "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" + } + } + } + } + } + }, + "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": [ + "location" + ], + "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": [ + "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", + "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": [ + "location" + ], + "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": { + "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": { + "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": [ + "location" + ], + "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": [ + "location" + ], + "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": [ + "location" + ], + "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/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized : used when the client did not submit credentials.", + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden : operation is not allowed given the current status of the resource.", + "content": { + "application/problem+json": { + "schema": { + "$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/problem+json": { + "schema": { + "$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/problem+json": { + "schema": { + "$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/problem+json": { + "schema": { + "$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/problem+json": { + "schema": { + "$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/problem+json": { + "schema": { + "$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/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "example": { + "application/problem+json": { + "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/problem+json": { + "schema": { + "$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": { + "$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": { + "$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": { + "$ref": "#/components/schemas/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": { + "$ref": "#/components/schemas/NotificationFormat" + }, + "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": { + "$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.", + "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": { + "$ref": "#/components/schemas/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": { + "$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.", + "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": { + "$ref": "#/components/schemas/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:

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": { + "$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’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:

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", + "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" + ], + "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": { + "$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.", + "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" + }, + "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": { + "$ref": "#/components/schemas/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": { + "$ref": "#/components/schemas/DistanceCriteria" + }, + "enteringLeavingCriteria": { + "$ref": "#/components/schemas/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": { + "$ref": "#/components/schemas/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": { + "$ref": "#/components/schemas/LocationInfo" + }, + "errorInformation": { + "$ref": "#/components/schemas/ServiceError" + }, + "locationRetrievalStatus": { + "$ref": "#/components/schemas/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": { + "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": { + "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": [ + "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": { + "$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": { + "$ref": "#/components/schemas/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": { + "$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.", + "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" + }, + "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": { + "$ref": "#/components/schemas/TimeStamp" + }, + "userEventType": { + "$ref": "#/components/schemas/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": { + "$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.", + "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": { + "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": { + "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": { + "$ref": "#/components/schemas/OperationStatus" + }, + "timestamp": { + "$ref": "#/components/schemas/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": { + "$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.", + "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/LocationAPI.split.yaml b/LocationAPI.split.yaml deleted file mode 100644 index 900b662c9035307808a4f45975c9e4475a4094bd..0000000000000000000000000000000000000000 --- 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 b77c785a65b3edb29201c53d5bab24e07c0b062e..20979adfb72777a7334959f1de692414e79331e3 100644 --- a/LocationAPI.yaml +++ b/LocationAPI.yaml @@ -1,1116 +1,3037 @@ -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: + 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 Location 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://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 + 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: + - '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 + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + - '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 + 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: + - 'location' + 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: + 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: + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + - '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 + 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: + - 'location' + 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: + 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: + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + 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: + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + - '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 + 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: + - 'location' + 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: + 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: + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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: + - '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 + 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: + - 'location' + 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: + 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: + 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: + - 'location' + 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: + - 'location' + 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: + 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' + 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: + - 'location' + 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: + - '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 + 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: + - 'location' + 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: + 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: + 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: + - 'location' + 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: + - 'location' + 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: + - 'location' + 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/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + 401: + description: 'Unauthorized : used when the client did not submit credentials.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + 403: + description: 'Forbidden : operation is not allowed given the current status of the resource.' + content: + application/problem+json: + schema: + $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/problem+json: + schema: + $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/problem+json: + schema: + $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/problem+json: + schema: + $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/problem+json: + schema: + $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/problem+json: + schema: + $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/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + example: + application/problem+json: + 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/problem+json: + schema: + $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: + $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: + $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: + $ref: '#/components/schemas/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: + $ref: '#/components/schemas/NotificationFormat' + 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: + $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. + 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: + $ref: '#/components/schemas/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: + $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. + 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: + $ref: '#/components/schemas/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: integer + x-etsi-mec-cardinality: '1' + x-etsi-mec-origin-type: Enum_inlined + 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\u2019s 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: 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 + 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 + 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: + $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. + 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 + 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: + $ref: '#/components/schemas/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: + $ref: '#/components/schemas/DistanceCriteria' + enteringLeavingCriteria: + $ref: '#/components/schemas/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: + $ref: '#/components/schemas/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: + $ref: '#/components/schemas/LocationInfo' + errorInformation: + $ref: '#/components/schemas/ServiceError' + locationRetrievalStatus: + $ref: '#/components/schemas/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: + 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: + 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: + - 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: + $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: + $ref: '#/components/schemas/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: + $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. + 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 + 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: + $ref: '#/components/schemas/TimeStamp' + userEventType: + $ref: '#/components/schemas/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: + $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. + 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: + 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: + 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: + $ref: '#/components/schemas/OperationStatus' + timestamp: + $ref: '#/components/schemas/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: + $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. + 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 fd9184a83c2da21dcee601f0ad25a3d633129b5b..979b635266775dd32b11594d88eb835d064efce7 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 f90537754d5a3eaf9df16b5eecbd0fd7340c633b..0000000000000000000000000000000000000000 --- 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 9a4c4f91b89d8e7b78f5a2e3900495f75ca633b7..0000000000000000000000000000000000000000 --- 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 d864e175b630f71aa3d1f9b6d2c76590195648df..0000000000000000000000000000000000000000 --- 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 2610e1f0185dc8bf48a1477b52ffae68767be03c..0000000000000000000000000000000000000000 --- 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 686294c808f4cffced9001581bae97ab1a9402af..0000000000000000000000000000000000000000 --- 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 e2e5f401e5ca7e0fe8b2980283e39d4144c0a883..0000000000000000000000000000000000000000 --- 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 305a89945ea48d38d044997063bf1ecb4c3407d4..0000000000000000000000000000000000000000 --- 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 17d15a7a06ac21d2a383f7c591042820acc6755a..0000000000000000000000000000000000000000 --- 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 0a999f220ff7b01039880a5e883a25fba3082b71..0000000000000000000000000000000000000000 --- 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 569a725475c4930a6179f43cfb9fec16eb2934a0..0000000000000000000000000000000000000000 --- 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 9f454cf1f2386a540a64e38f42954fe2808fcbab..0000000000000000000000000000000000000000 --- 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 318a0b639de934f8cb8a182c3e0d61e9bd2e35ff..0000000000000000000000000000000000000000 --- 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 9fc7809c48011b68a3d25056fb1339441e68e426..0000000000000000000000000000000000000000 --- 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 bc8680ec0edd936dc59cf2b08cc3e2d6b0d260e3..0000000000000000000000000000000000000000 --- 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 f74e7910c6a950ab4a423824019cf1aece4b8991..0000000000000000000000000000000000000000 --- 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 87b055588824b079799d40f0f97bd07bbe3dd2c8..0000000000000000000000000000000000000000 --- 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 4792bf3b71c8bcf0e123a78752d764ef44909398..0000000000000000000000000000000000000000 --- 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 0817f18ee52bdfda5ed850c19a1efb024965f232..0000000000000000000000000000000000000000 --- 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 c1f672a63acbc60c822917b460bb4a6baf40bc2e..0000000000000000000000000000000000000000 --- 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 55dc37084988af63cf7f7dd0125b338a8dffd779..0000000000000000000000000000000000000000 --- 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 0cbd5d8d0db6b8f1c7dde9a19f996fd79978f466..0000000000000000000000000000000000000000 --- 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 24012a276766ca38454e716fd4b4863f60e2a558..0000000000000000000000000000000000000000 --- 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 097fe6f4539aeed31716b10bdf06f2c1500fa8e5..0000000000000000000000000000000000000000 --- 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 53f2ec7cfd1ee591b1f0db1b85e4a4df1b39addd..0000000000000000000000000000000000000000 --- 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 b909c75fb7dc5d80961aa5dcc9df6344a8fa56db..0000000000000000000000000000000000000000 --- 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 426a17f4752d381d87859af0ce6cc275ffea5ab3..0000000000000000000000000000000000000000 --- 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 46724f030cc58ae00d61305da5efe2a3e61c2f66..0000000000000000000000000000000000000000 --- 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 7846b718c439db86898db3ef157449b4aa59d4b9..0000000000000000000000000000000000000000 --- 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 bb02d3636010d94a255456ba8ef95ea3204d804e..0000000000000000000000000000000000000000 --- 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 3d60773a0c9d8354f31af70cb56093751a3fd9fd..0000000000000000000000000000000000000000 --- 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 160bca104b244b3a9f5cf206f30d8e4aea4ce168..0000000000000000000000000000000000000000 --- 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 9de36406f71a0ad366702b89d8ebadfbcf5c7b48..0000000000000000000000000000000000000000 --- 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 eeabe119fe2cf0e8616098bbbc7ce12c66059531..0000000000000000000000000000000000000000 --- 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 2e1bb68cdd9b7e60b559c1173da9db731a80b308..0000000000000000000000000000000000000000 --- 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 d101919aa3d765c55c13f2494884aeb465c1ddf6..0000000000000000000000000000000000000000 --- 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 9ccb59f9cd9468eb2d03ff2c5185588d25ce0e4c..0000000000000000000000000000000000000000 --- 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 4351320c6b6bdd5b57e6f4700d41fa0bc795501c..0000000000000000000000000000000000000000 --- 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 63168e7c8d395ccca1aa7f9b25ed41cf164dce78..0000000000000000000000000000000000000000 --- 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 6c439a6615963b91cb5f0488773e5be46eb085da..0000000000000000000000000000000000000000 --- 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 3e0790e69a1f13d4813efc9d50f442f0115e1818..0000000000000000000000000000000000000000 --- 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 db997a1776b44b79e82e8716a87e4d88a93cd3fa..0000000000000000000000000000000000000000 --- 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 d648cd5c933af79003f39417f0d24b46db185101..0000000000000000000000000000000000000000 --- 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 7ef28bcac058906a5a9e98ce3fd858796acc3ab9..0000000000000000000000000000000000000000 --- 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 f945e767d5fb0008c52c756a6c91a7f983750bc2..0000000000000000000000000000000000000000 --- 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 c80456bd827d30d84a087ef64f8137ae69aaa367..0000000000000000000000000000000000000000 --- 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 4d9904d84e66fd9f35fb1692217e17479a599c07..0000000000000000000000000000000000000000 --- 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 4e0d8ce409a1046ae53ad23fbe9217c61eaf3471..0000000000000000000000000000000000000000 --- 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 db06083100a09cfb32754bd355c23142c8d20c65..0000000000000000000000000000000000000000 --- 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 2c7d29226d0fc8f587f360e20679d4ebe7231aa1..0000000000000000000000000000000000000000 --- 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 6e474efd6bfb7ef2f1adb81f66dadf44ed921169..0000000000000000000000000000000000000000 --- 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 29301337b7ed3c1dc0d62084dd5f1c109ce32b93..0000000000000000000000000000000000000000 --- 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 bf33751690479b4997bab7e606b9208c740db542..0000000000000000000000000000000000000000 --- 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 8553279e7b275a48717cf9582497da75cea54c70..0000000000000000000000000000000000000000 --- 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 20a5a1b0a6b9d12870aaca43efe5c1e39dfe949b..0000000000000000000000000000000000000000 --- 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 2ad1fbcfc63c8ab138310104e18ffb2c45f6958b..0000000000000000000000000000000000000000 --- 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 62164ae776f11efccbde6f9cc9c127c41d2df0eb..0000000000000000000000000000000000000000 --- 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 b33fcefac87315100048d18c05cee3576a49dd5b..0000000000000000000000000000000000000000 --- 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 7dfc296d489ae283ac7bc4b6a7845e7f61f5d040..0000000000000000000000000000000000000000 --- 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 d1f4b5719863c3e1789436b2e15bed4b8754906d..0000000000000000000000000000000000000000 --- 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 9d9f9d0d972334f9519d077df9af4a2e852dd640..0000000000000000000000000000000000000000 --- 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 720237f54dfb350e21a0e6153a70f2bd34de8358..0000000000000000000000000000000000000000 --- 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 8d2c71908e30563dc4d7fe498a979f7e27104386..0000000000000000000000000000000000000000 --- 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 06c6497ec2389c3848944a41b63af3a36704092d..0000000000000000000000000000000000000000 --- 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 72fb89cd411ead87a8831f15eec562195db38b02..0000000000000000000000000000000000000000 --- 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 151590509fd2fb804b589bf005e03a78054d1a09..0000000000000000000000000000000000000000 --- 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 79aa6506d85c2814475dac64a5e89325386938c8..0000000000000000000000000000000000000000 --- 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 45f6e4c6ebf7fe60504eb0234935af89ae202f7d..0000000000000000000000000000000000000000 --- 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 ae9c6834a150d5159bc59c2b5e9ecc933fae255b..0000000000000000000000000000000000000000 --- 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 104a98b743b838fb65f8f3acedb3997e10522f90..0000000000000000000000000000000000000000 --- 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 f5c128fae24eb8cda03c8bb7391c62f719184d22..0000000000000000000000000000000000000000 --- 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 798f19ab11bac184f3df49c7609c210ffb402a1c..0000000000000000000000000000000000000000 --- 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 56be5eaea0140e6c34ba343796ae90c0ca092c3a..0000000000000000000000000000000000000000 --- 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 5ff56696f659678f65c12e5ab9439215179dc191..0000000000000000000000000000000000000000 --- 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 240da165e73a0fc02dd14fd57a7587e08cbbdf32..0000000000000000000000000000000000000000 --- 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 af610806d9e407321856af21a732b6dff64364e2..0000000000000000000000000000000000000000 --- 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 d05a7164002e9a22c9f2d3cadf679b9dc98ab8be..0000000000000000000000000000000000000000 --- 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 85ffefcd0b6eb8736dfc7520775e6a37fa427bf4..0000000000000000000000000000000000000000 --- 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 8bd167549502a5308fc1f5f99e23c9c640aa78a1..0000000000000000000000000000000000000000 --- 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 4a1943d8b2b761dbf84b4f6652ba7ad9578bb697..0000000000000000000000000000000000000000 --- 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 4a1c4f105558916b24e72a1a03a5d6bff491899a..0000000000000000000000000000000000000000 --- 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 d505bb6c7afb7ec0e61b212ec570236d13ad3d78..0000000000000000000000000000000000000000 --- 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 42e57f4368956535cddc40c7864a764d052a8539..0000000000000000000000000000000000000000 --- 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 d72dc75175cdef5c5f753b53cc8b8fffe2858f85..0000000000000000000000000000000000000000 --- 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 917bbd4081e4f7a217f589464624e0fb192b7849..0000000000000000000000000000000000000000 --- 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 14d277bc1231d92c7c6b2119c8c46242a22fcd82..0000000000000000000000000000000000000000 --- 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 e246471bd2038721b4e67bbb3c97eb2d4940fb28..0000000000000000000000000000000000000000 --- 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 67534c104b68fbc3d61a6c5b9afc9c2f1f3ab802..0000000000000000000000000000000000000000 --- 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 3bfab8f36486e1e846382afdabc24577ea73a874..0000000000000000000000000000000000000000 --- 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 c55eee568a910c0df4cfb096c0c79156f6fb2862..0000000000000000000000000000000000000000 --- 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 f988da256956a2a034f52a266bab8a7b7337ea20..0000000000000000000000000000000000000000 --- 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 b36c837ecbd155cdc1eeeb4c804018b26f328e61..0000000000000000000000000000000000000000 --- 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 b0012d7ac286179017a98f88f700f23787c43f61..0000000000000000000000000000000000000000 --- 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 d8d3ebbf4d5af2eaa6b1cb3833487097bff473c0..0000000000000000000000000000000000000000 --- 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 dd01b8d9fc39ef78cc3d01f1d9efa3a84955eda7..0000000000000000000000000000000000000000 --- 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 5029debcdca1b3faa5037ba1f353c2bf1530781a..0000000000000000000000000000000000000000 --- 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 05b3ddf85c35941fc1c3fb9029f72dacb9aff31f..0000000000000000000000000000000000000000 --- 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 2006d229e6fb1997b5b5ec7ef16e1f49a3b5decf..0000000000000000000000000000000000000000 --- 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 e4f063ddda139ad236c84cbdd76e36bc9fb8a2ed..0000000000000000000000000000000000000000 --- 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 bd91d28353832a9d5b84dd93924696ce51f5e095..0000000000000000000000000000000000000000 --- 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 ef06924e215ea1fdd5e42d26920aa0628677bb75..0000000000000000000000000000000000000000 --- 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 89f15a0a18a23eaf7c0a4d8f902c14ca225fa445..0000000000000000000000000000000000000000 --- a/tags/index.yaml +++ /dev/null @@ -1,3 +0,0 @@ - - name: zones - - name: users - - name: subscriptions \ No newline at end of file