Skip to content
LocationAPI.json 105 KiB
Newer Older
{
  "swagger": "2.0",
  "info": {
    "title": "MEC-012 Location API",
    "version": "1.1.1",
    "description": "The MEC-012 Location API described using OpenAPI, which 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 MEC013 V1.1.1 Location Service API",
    "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf"
  },
  "host": "127.0.0.1:8081",
  "basePath": "/exampleAPI/location/v1/",
  "schemes": [
    "http",
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "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": {
Loading full blame...