Newer
Older
"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"
}
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
}
}
}
},
"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": {
"summary": "Retrieve subscription information",
"description": "Get subscription information.",
"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"
}
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
}
}
}
},
"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": {
"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"
}
}
]
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
}
}
}
},
"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": {
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
"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": {
"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": {
"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"
}
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
}
}
}
},
"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": {
"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"
}
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
}
}
}
},
"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": {
"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"
}
}
]
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
}
}
}
},
"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": {
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
"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": {
}
}
}
},
"401": {
"description": "Unauthorized : used when the client did not submit credentials.",
"content": {
}
}
}
},
"403": {
"description": "Forbidden : operation is not allowed given the current status of the resource.",
"content": {
}
}
}
},
"404": {
"description": "Not Found : used when a client provided a URI that cannot be mapped to a valid resource URI.",
"content": {
}
}
}
},
"406": {
"description": "Not Acceptable : used to indicate that the server cannot provide the any of the content formats supported by the client.",
"content": {
}
}
}
},
"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": {
}
}
}
},
"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": {
}
}
}
},
"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": {
}
}
}
},
"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": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"429": {
"description": "Too Many Requests : used when a rate limiter has triggered.",
"content": {
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
}
}
}
}
},
"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": {
},
"interestRealm": {
"description": "Interest realm of access point.",
"type": "string",
"x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "string"
},
"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": {
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
},
"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"
}
},