{ "openapi": "3.1.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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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" } }, "examples": [ { "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", "examples": [ { "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