Commit 8bfc99f0 authored by Michel Roy's avatar Michel Roy
Browse files

added v2.1.1 draft versions

parent 6ea890cd
# Multi-access Edge Computing WLAN Information API
This repository contains OpenAPIs descriptions for the interfaces specified in ETSI MEC GS 028 "MEC WLAN Information API".
This repository contains OpenAPIs descriptions for the interfaces specified in ETSI MEC GS 028
More information and download options for the specification are available
[here](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=53995).
## Online resources
**{-NOTE: The OpenAPI definitions are under development. The API as defined in GS MEC 028 takes precedence.-}**
* [Navigate the API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/gitlab/mec/gs028-wai-api/raw/stf593/WlanInformationApi.yaml).
* [Edit the API online](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/gitlab/mec/gs028-wai-api/raw/stf593/WlanInformationApi.yaml).
## License
......
{
"openapi": "3.0.0",
"info": {
"title": "ETSI GS MEC 028 - WLAN Access Information API",
"version": "2.1.1",
"description": "The ETSI MEC ISG MEC028 WLAN Access Information API described using OpenAPI",
"license": {
"name": "BSD-3-Clause",
"url": "https://forge.etsi.org/legal-matters"
}
},
"externalDocs": {
"description": "ETSI MEC028 V2.1.1 WLAN Information API",
"url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.01.01_60/gs_mec028v020101p.pdf"
},
"servers": [
{
"url": "https://{apiRoot}/wai/v2"
}
],
"paths": {
"/queries/ap/ap_information": {
"get": {
"tags": [
""
],
"summary": "Retrieve information on existing Access Points",
"description": "Queries information about existing WLAN Access Points",
"operationId": "apInfoGET",
"parameters": [
{
"$ref": "#/components/parameters/Query.Filter"
},
{
"$ref": "#/components/parameters/Query.AllFields"
},
{
"$ref": "#/components/parameters/Query.Fields"
},
{
"$ref": "#/components/parameters/Query.ExcludeFields"
},
{
"$ref": "#/components/parameters/Query.ExcludeDefault"
}
],
"responses": {
"200": {
"description": "Successful response to ap_info request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"apInfo": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ApInfo"
}
}
}
}
}
}
},
"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"
}
}
}
},
"/queries/sta/sta_information": {
"get": {
"tags": [
""
],
"summary": "Retrieve information on existing Stations",
"description": "Queries information about existing WLAN stations",
"operationId": "staInfoGET",
"parameters": [
{
"$ref": "#/components/parameters/Query.Filter"
},
{
"$ref": "#/components/parameters/Query.AllFields"
},
{
"$ref": "#/components/parameters/Query.Fields"
},
{
"$ref": "#/components/parameters/Query.ExcludeFields"
},
{
"$ref": "#/components/parameters/Query.ExcludeDefault"
}
],
"responses": {
"200": {
"description": "Successful response to sta_info request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"staInfo": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StaInfo"
}
}
}
}
}
}
},
"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"
}
}
}
},
"/subscriptions/": {
"get": {
"tags": [
""
],
"summary": "Retrieve information on subscriptions for notifications",
"description": "Queries information on subscriptions for notifications",
"operationId": "subscriptionLinkList_subscriptionsGET",
"parameters": [
{
"$ref": "#/components/parameters/Query.SubscriptionType"
}
],
"responses": {
"200": {
"description": "Response body contains the list of links to requestors subscriptions.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"subscriptionLinkList"
],
"properties": {
"subscriptionLinkList": {
"$ref": "#/components/schemas/SubscriptionLinkList"
}
}
},
"example": {
"subscriptionLinkList": {
"_links": {
"self": {
"href": "http://meAppServer.example.com/wai/v2/subscriptions"
}
},
"subscription": [
{
"_links": {
"self": {
"href": "http://meAppServer.example.com/wai/v2/subscriptions/sub123"
}
},
"callbackReference": "http://my.callback.com/wai/assocStaSubscription/some-id",
"subscriptionType": "AssocStaSubscription"
}
]
}
}
}
}
},
"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"
}
}
},
"post": {
"tags": [
""
],
"summary": "Create a new subscription",
"description": "Creates a new subscription to WLAN Access Information notifications",
"operationId": "subscriptionsPOST",
"requestBody": {
"description": "Subscription to be created",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"notificationSubscription": {
"oneOf": [
{
"$ref": "#/components/schemas/AssocStaSubscription"
},
{
"$ref": "#/components/schemas/StaDataRateSubscription"
}
],
"discriminator": {
"propertyName": "subscriptionType"
}
}
},
"example": {
"notificationSubscription": {
"subscriptionType": "AssocStaSubscription",
"callbackReference": "http://meAppClient.example.com/wai/v2/notifications/1",
"expiryDeadline": {
"seconds": 1977836800,
"nanoSeconds": 0
},
"apId": {
"macId": "005C0A0A0A0A",
"ssid": "myNetworkSsid",
"ipAddress": "10.10.100.1"
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Successful subscription response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"notificationSubscription": {
"oneOf": [
{
"$ref": "#/components/schemas/AssocStaSubscription"
},
{
"$ref": "#/components/schemas/StaDataRateSubscription"
}
],
"discriminator": {
"propertyName": "subscriptionType"
}
}
}
},
"example": {
"notificationSubscription": {
"subscriptionType": "AssocStaSubscription",
"callbackReference": "http://meAppClient.example.com/wai/v2/notifications/1",
"_links": {
"self": {
"href": "http://meAppServer.example.com/wai/v2/subscriptions/sub123"
}
},
"expiryDeadline": {
"seconds": 1977836800,
"nanoSeconds": 0
},
"apId": {
"macId": "005C0A0A0A0A",
"ssid": "myNetworkSsid",
"ipAddress": "10.10.100.1"
}
}
}
}
}
},
"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"
},
"415": {
"$ref": "#/components/responses/415"
},
"422": {
"$ref": "#/components/responses/422"
},
"429": {
"$ref": "#/components/responses/429"
}
},
"callbacks": {
"notification": {
"{$request.body#/callbackReference}": {
"post": {
"summary": "Callback POST used to send a notification",
"description": "Notification from WAIS, content based on subscription type",
"operationId": "notificationPOST",
"requestBody": {
"description": "Subscription notification",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"notification": {
"oneOf": [
{
"$ref": "#/components/schemas/AssocStaNotification"
},
{
"$ref": "#/components/schemas/StaDataRateNotification"
}
],
"discriminator": {
"propertyName": "notificationType"
}
}
},
"example": {
"notification": {
"notificationType": "AssocStaNotification",
"timeStamp": {
"seconds": 1977836800,
"nanoseconds": 0
},
"apId": {
"macId": "005C0A0A0A0A",
"ssid": "myNetworkSsid",
"ipAddress": "10.10.100.1"
},
"staId": {
"macId": "005C01111111",
"ssid": [
"myNetworkSsid",
"myOtherNetworkSsid"
],
"aid": "1122",
"ipAddress": "10.10.1.255"
}
}
}
}
}
}
},
"responses": {
"204": {
"$ref": "#/components/responses/204"
}
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}": {
"get": {
"tags": [
""
],
"summary": "Retrieve information on current specific subscription",
"description": "Queries information about an existing subscription, identified by its self-referring URI returned on creation (initial POST)",
"operationId": "subscriptionsGET",
"parameters": [
{
"$ref": "#/components/parameters/Path.subscrId"
}
],
"responses": {
"200": {
"description": "Subscription information regarding subscription notifications",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"notificationSubscription"
],
"properties": {
"notificationSubscription": {
"oneOf": [
{
"$ref": "#/components/schemas/AssocStaSubscription"
},
{
"$ref": "#/components/schemas/StaDataRateSubscription"
}
],
"discriminator": {
"propertyName": "subscriptionType"
}
}
}
},
"example": {
"notificationSubscription": {
"subscriptionType": "AssocStaSubscription",
"callbackReference": "http://meAppClient.example.com/wai/v2/notifications/1",
"_links": {
"self": {
"href": "http://meAppServer.example.com/wai/v2/subscriptions/sub123"
}
},
"expiryDeadline": {
"seconds": 1977836800,
"nanoSeconds": 0
},
"apId": {
"macId": "005C0A0A0A0A",
"ssid": "myNetworkSsid",
"ipAddress": "10.10.100.1"
}
}
}
}
}
},
"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"
}
}
},
"put": {
"tags": [
""
],
"summary": "Modify an existing subscription",
"description": "Updates an existing subscription, identified by its self-referring URI returned on creation (initial POST)",
"operationId": "subscriptionsPUT",
"requestBody": {
"description": "Subscription to be modified",
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"notificationSubscription": {
"oneOf": [
{
"$ref": "#/components/schemas/AssocStaSubscription"
},
{
"$ref": "#/components/schemas/StaDataRateSubscription"
}
],
"discriminator": {
"propertyName": "subscriptionType"
}
}
},
"example": {
"notificationSubscription": {
"subscriptionType": "AssocStaSubscription",
"callbackReference": "http://meAppClient.example.com/wai/v2/notifications/1",
"_links": {
"self": {
"href": "http://meAppServer.example.com/wai/v2/subscriptions/sub123"
}
},
"expiryDeadline": {
"seconds": 1977836800,
"nanoSeconds": 0
},
"apId": {
"macId": "005C0A0A0A0A",
"ssid": "myNetworkSsid",
"ipAddress": "10.10.100.1"
}
}
}
}
}
}
},
"parameters": [
{
"$ref": "#/components/parameters/Path.subscrId"
}
],
"responses": {
"200": {
"description": "Successful subscription modification",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"subscription": {
"oneOf": [
{
"$ref": "#/components/schemas/AssocStaSubscription"
},
{
"$ref": "#/components/schemas/StaDataRateSubscription"
}
],
"discriminator": {
"propertyName": "subscriptionType"
}
}
}
},
"example": {
"subscription": {
"_links": {
"self": {
"href": "http://[hostIP]/sbox-xyz123/wai/v2/subscriptions/sub123"
}
},
"callbackReference": "http://my.callback.com/wai/some-id",
"apId": {
"macId": "005C0A0A0A0A"
}
}
}
}
}
},
"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"
},