Skip to content
LocationAPI.yaml 41.6 KiB
Newer Older
swagger: '2.0'
info:
  title: Location API
  version: 1.1.1
  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:
admin_forge's avatar
admin_forge committed
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'
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
tags:
  - name: zones
  - name: users
  - name: subscriptions
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:
      tags:
        - zones
      operationId: zonesGet
      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}':
    parameters:
      - $ref: '#/parameters/Path.ZoneId'
    get:
      tags:
        - zones
      operationId: zonesGetById
      description: Used to get the status of a zone.
      produces:
        - application/json
      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':
    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/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
                    numberOfUsers: '5'
                    interestRealm: NJ
Loading full blame...