Commit 378ceeba authored by Walter Featherstone's avatar Walter Featherstone
Browse files

Removed extra '/' from basePath. To each procedure, added tags and operationId



Change-Id: Ieaaaed75a5e25f2a19bd28f9bdca5ed4338bea5f
Signed-off-by: Walter Featherstone's avatarfeatherstone <walter.featherstone@viavisolutions.com>
parent b608c022
......@@ -3,18 +3,18 @@
"info": {
"title": "Location API",
"version": "1.1.1",
"description": "The ETSI MEC ISG MEC013 Location API described using OpenAPI. The API is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence",
"description": "The ETSI MEC ISG MEC012 Location API described using OpenAPI. The API is based on the Open Mobile Alliance's specification RESTful Network API for Zonal Presence",
"license": {
"name": "ETSI Forge copyright notice",
"url": "https://forge.etsi.org/etsi-forge-copyright-notice.txt"
}
},
"externalDocs": {
"description": "ETSI GS MEC013 Location Service API, V1.1.1",
"description": "ETSI MEC013 V1.1.1 Location Service API",
"url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf"
},
"host": "127.0.0.1:8081",
"basePath": "/exampleAPI/location/v1/",
"basePath": "/exampleAPI/location/v1",
"schemes": [
"http",
"https"
......@@ -25,6 +25,17 @@
"produces": [
"application/json"
],
"tags": [
{
"name": "zones"
},
{
"name": "users"
},
{
"name": "subscriptions"
}
],
"parameters": {
"Body.UserTrackingSubscription": {
"name": "userTrackingSubscription",
......@@ -106,6 +117,10 @@
"paths": {
"/zones": {
"get": {
"tags": [
"zones"
],
"operationId": "zonesGet",
"description": "Used to get a list of identifiers for zones authorized for use by the application.",
"produces": [
"application/json"
......@@ -148,16 +163,20 @@
}
},
"/zones/{zoneId}": {
"parameters": [
{
"$ref": "#/parameters/Path.ZoneId"
}
],
"get": {
"tags": [
"zones"
],
"operationId": "zonesGetById",
"description": "Used to get the status of a zone.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.ZoneId"
}
],
"responses": {
"200": {
"description": "Successful response to a query regarding the status of a zone",
......@@ -184,15 +203,21 @@
}
},
"/zones/{zoneId}/accessPoints": {
"parameters": [
{
"$ref": "#/parameters/Path.ZoneId"
}
],
"get": {
"tags": [
"zones"
],
"operationId": "zonesByIdGetAps",
"description": "Access point status can be retrieved for sets of access points matching attribute in the request.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.ZoneId"
},
{
"$ref": "#/parameters/Query.InterestRealm"
}
......@@ -264,19 +289,23 @@
}
},
"/zones/{zoneId}/accessPoints/{accessPointId}": {
"parameters": [
{
"$ref": "#/parameters/Path.ZoneId"
},
{
"$ref": "#/parameters/Path.AccessPointId"
}
],
"get": {
"tags": [
"zones"
],
"operationId": "zonesByIdGetApsById",
"description": "Access point status can be retrieved for sets of access points matching attribute in the request.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.ZoneId"
},
{
"$ref": "#/parameters/Path.AccessPointId"
}
],
"responses": {
"200": {
"description": "Successful response to a query a named set of access point status request",
......@@ -311,6 +340,10 @@
},
"/users": {
"get": {
"tags": [
"users"
],
"operationId": "usersGet",
"description": "Users currently using a zone may be retrieved for sets of access points matching attribute in the request",
"produces": [
"application/json"
......@@ -377,16 +410,20 @@
}
},
"/users/{userId}": {
"parameters": [
{
"$ref": "#/parameters/Path.UserId"
}
],
"get": {
"tags": [
"users"
],
"operationId": "usersGetById",
"description": "Users currently using a zone may be retrieved for sets of access points matching attribute in the request",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.UserId"
}
],
"responses": {
"200": {
"description": "Successful response to a query users within a zone request",
......@@ -420,6 +457,10 @@
},
"/subscriptions/zonalTraffic": {
"get": {
"tags": [
"subscriptions"
],
"operationId": "zonalTrafficSubGet",
"description": "This operation is used for retrieving all active subscriptions to zonal traffic change notifications.",
"produces": [
"application/json"
......@@ -479,6 +520,10 @@
}
},
"post": {
"tags": [
"subscriptions"
],
"operationId": "zonalTrafficSubPost",
"description": "This operation is used for creating a new subscription to zonal traffic change notification.",
"produces": [
"application/json"
......@@ -517,16 +562,20 @@
}
},
"/subscriptions/zonalTraffic/{subscriptionId}": {
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"get": {
"tags": [
"subscriptions"
],
"operationId": "zonalTrafficSubGetById",
"description": "This operation is used for updating an individual subscription to zonal traffic change notification.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"responses": {
"200": {
"description": "Response to retrieve individual zonal traffic subscription",
......@@ -555,14 +604,15 @@
}
},
"put": {
"tags": [
"subscriptions"
],
"operationId": "zonalTrafficSubPutById",
"description": "This operation is used for updating an individual subscription to zonal traffic change notification.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
},
{
"$ref": "#/parameters/Body.ZonalTrafficSubscription"
}
......@@ -595,15 +645,14 @@
}
},
"delete": {
"tags": [
"subscriptions"
],
"operationId": "zonalTrafficSubDelById",
"description": "This operation is used for cancelling a subscription and stopping corresponding notifications.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"responses": {
"204": {
"description": "No content"
......@@ -613,6 +662,10 @@
},
"/subscriptions/userTracking": {
"get": {
"tags": [
"subscriptions"
],
"operationId": "userTrackingSubGet",
"description": "This operation is used for retrieving all active subscriptions to user tracking change notifications.",
"produces": [
"application/json"
......@@ -670,6 +723,10 @@
}
},
"post": {
"tags": [
"subscriptions"
],
"operationId": "userTrackingSubPost",
"description": "This operation is used for creating a new subscription to user tracking change notification",
"produces": [
"application/json"
......@@ -707,16 +764,20 @@
}
},
"/subscriptions/userTracking/{subscriptionId}": {
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"get": {
"tags": [
"subscriptions"
],
"operationId": "userTrackingSubGetById",
"description": "This operation is used for retrieving an individual subscription to user tracking change notification.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"responses": {
"200": {
"description": "Response to retrieve individual user tracking subscription",
......@@ -744,14 +805,15 @@
}
},
"put": {
"tags": [
"subscriptions"
],
"operationId": "userTrackingSubPutById",
"description": "This operation is used for updating an individual subscription to user tracking change notification.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
},
{
"$ref": "#/parameters/Body.UserTrackingSubscription"
}
......@@ -783,15 +845,14 @@
}
},
"delete": {
"tags": [
"subscriptions"
],
"operationId": "userTrackingSubDelById",
"description": "This operation is used for retrieving an individual subscription to user tracking change notification.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"responses": {
"204": {
"description": "No Content"
......@@ -801,6 +862,10 @@
},
"/subscriptions/zonalStatus": {
"get": {
"tags": [
"subscriptions"
],
"operationId": "zoneStatusGet",
"description": "This operation is used for creating a new subscription to zone status change notification.",
"produces": [
"application/json"
......@@ -860,6 +925,10 @@
}
},
"post": {
"tags": [
"subscriptions"
],
"operationId": "zoneStatusPost",
"description": "This operation is used for creating a new subscription to zone status change notification.",
"produces": [
"application/json"
......@@ -898,16 +967,20 @@
}
},
"/subscriptions/zoneStatus/{subscriptionId}": {
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"get": {
"tags": [
"subscriptions"
],
"operationId": "zoneStatusGetById",
"description": "This operation is used for retrieving an individual subscription to zone status change notification.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"responses": {
"200": {
"description": "Response to retrieve individual zone status subscription",
......@@ -936,14 +1009,15 @@
}
},
"put": {
"tags": [
"subscriptions"
],
"operationId": "zoneStatusPutById",
"description": "This operation is used for updating an individual subscription to zone status change notification.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
},
{
"$ref": "#/parameters/Body.ZoneStatusSubscription"
}
......@@ -976,15 +1050,14 @@
}
},
"delete": {
"tags": [
"subscriptions"
],
"operationId": "zoneStatusDelById",
"description": "This operation is used for cancelling a subscription and stopping corresponding notifications.",
"produces": [
"application/json"
],
"parameters": [
{
"$ref": "#/parameters/Path.SubscriptionId"
}
],
"responses": {
"204": {
"description": "No content"
......
......@@ -16,7 +16,7 @@ externalDocs:
$ref: './externalDocs/index.yaml'
host: 127.0.0.1:8081
basePath: /exampleAPI/location/v1/
basePath: /exampleAPI/location/v1
schemes:
- http
- https
......@@ -25,6 +25,12 @@ consumes:
produces:
- application/json
################################################################################
# Tags #
################################################################################
tags:
$ref: './tags/index.yaml'
################################################################################
# Parameters #
################################################################################
......
swagger: '2.0'
info:
title: Location API
version: 1.1.1
description: 'The ETSI MEC ISG MEC013 Location API described using OpenAPI. The API is based on the Open Mobile Alliance''s specification RESTful Network API for Zonal Presence'
license:
name: ETSI Forge copyright notice
url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt'
externalDocs:
description: ETSI GS MEC013 Location Service API, V1.1.1
url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf'
host: '127.0.0.1:8081'
basePath: /exampleAPI/location/v1/
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
parameters:
Body.UserTrackingSubscription:
name: userTrackingSubscription
in: body
description: User Tracking Subscription
required: true
schema:
$ref: '#/definitions/UserTrackingSubscription'
Body.ZonalTrafficSubscription:
name: zonalTrafficSubscription
in: body
description: Zonal Traffic Subscription
required: true
schema:
$ref: '#/definitions/ZonalTrafficSubscription'
Body.ZoneStatusSubscription:
name: zoneStatusSubscription
in: body
description: Zone Status Subscription
required: true
schema:
$ref: '#/definitions/ZoneStatusSubscription'
Path.AccessPointId:
name: accessPointId
in: path
description: Access Point ID
required: true
type: string
Path.SubscriptionId:
name: subscriptionId
in: path
description: Subscription ID
required: true
type: string
Path.UserId:
name: userId
in: path
description: User ID
required: true
type: string
Path.ZoneId:
name: zoneId
in: path
description: Zone ID
required: true
type: string
Query.AccessPointId:
name: accessPointId
in: query
description: 'Identifier of access point, reference "definitions" for string format'
required: false
type: string
Query.InterestRealm:
name: interestRealm
in: query
description: 'Interest realm of access point (e.g. geographical area, a type of industry etc.).'
required: false
type: string
Query.ZoneId:
name: zoneId
in: query
description: Zone ID
required: true
type: string
paths:
/zones:
get:
description: Used to get a list of identifiers for zones authorized for use by the application.
produces:
- application/json
responses:
'200':
description: Successful response to a query regarding the status of a zone
schema:
properties:
zoneList:
$ref: '#/definitions/ZoneList'
examples:
application/json:
zoneList:
zone:
- zoneId: zone01
numberOfAccessPoints: '3'
numberOfUnserviceableAccessPoints: '1'
numberOfUsers: '10'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01'
- zoneId: zone02
numberOfAccessPoints: '12'
numberOfUnserviceableAccessPoints: '0'
numberOfUsers: '36'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone02'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones'
'/zones/{zoneId}':
get:
description: Used to get the status of a zone.
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.ZoneId'
responses:
'200':
description: Successful response to a query regarding the status of a zone
schema:
properties:
zoneInfo:
$ref: '#/definitions/ZoneInfo'
examples:
application/json:
zoneInfo:
zoneId: zone01
numberOfAccessPoints: '3'
numberOfUnserviceableAccessPoints: '1'
numberOfUsers: '10'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01'
'/zones/{zoneId}/accessPoints':
get:
description: Access point status can be retrieved for sets of access points matching attribute in the request.
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.ZoneId'
- $ref: '#/parameters/Query.InterestRealm'
responses:
'200':
description: Successful response to a query a named set of access point status request
schema:
properties:
accessPointList:
$ref: '#/definitions/AccessPointList'
examples:
application/json:
accessPointList:
zoneId: zone01
accessPoint:
- accessPointId: '001010000000000000000000000000001'
locationInfo:
latitude: '90.123'
longitude: '80.123'
altitude: '10.0'
accuracy: '0'
connectionType: Macro
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: LA
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001'
- accessPointId: '001010000000000000000000000000010'
locationInfo:
latitude: '91.123'
longitude: '81.123'
altitude: '12.0'
accuracy: '1'
connectionType: Macro
operationStatus: Unserviceable
numberOfUsers: '0'
interestRealm: DC
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002'
- accessPointId: '001010000000000000000000000000011'
locationInfo:
latitude: '93.123'
longitude: '83.123'
altitude: '16.0'
accuracy: '3'
connectionType: Macro
operationStatus: Serviceable