Skip to content
LocationAPI.json 157 KiB
Newer Older
Michel Roy's avatar
Michel Roy committed
{
  "openapi": "3.1.0",
Michel Roy's avatar
Michel Roy committed
  "info": {
Michel Roy's avatar
Michel Roy committed
    "contact": {
      "url": "https://forge.etsi.org/rep/mec/gs013-location-api"
    },
Michel Roy's avatar
Michel Roy committed
    "title": "ETSI GS MEC 013 - Location API",
    "version": "2.1.1",
Michel Roy's avatar
Michel Roy committed
    "description": "The ETSI MEC ISG MEC013 Location API described using OpenAPI.",
Michel Roy's avatar
Michel Roy committed
    "license": {
      "name": "BSD-3-Clause",
      "url": "https://forge.etsi.org/legal-matters"
    }
  },
  "externalDocs": {
    "description": "ETSI MEC013 V2.1.1 Location API",
    "url": "http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/02.01.01_60/gs_mec013v020101p.pdf"
  },
  "servers": [
    {
Michel Roy's avatar
Michel Roy committed
      "url": "https://localhost/location/v2"
    }
  ],
  "tags": [
    {
      "name": "location"
Michel Roy's avatar
Michel Roy committed
    }
  ],
  "paths": {
    "/queries/distance": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "UE Distance Lookup of a specific UE",
        "description": "UE Distance Lookup between terminals or a terminal and a location",
        "operationId": "distanceGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Query.Requester"
          },
          {
            "$ref": "#/components/parameters/Query.AddressMandatory"
          },
          {
            "$ref": "#/components/parameters/Query.Latitude"
          },
          {
            "$ref": "#/components/parameters/Query.Longitude"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to a distance request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "terminalDistance": {
                      "$ref": "#/components/schemas/TerminalDistance"
                    }
                  }
                }
              }
            }
          },
          "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": "queries"
      }
    },
    "/queries/users": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "UE Location Lookup of a specific UE or group of UEs",
        "description": "UE Location Lookup of a specific UE or group of UEs",
        "operationId": "usersGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Query.ZoneId"
          },
          {
            "$ref": "#/components/parameters/Query.AccessPointId"
          },
          {
            "$ref": "#/components/parameters/Query.Address"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to users request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "userList": {
                      "$ref": "#/components/schemas/UserList"
                    }
                  }
                }
              }
            }
          },
          "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": "queries"
      }
    },
    "/queries/zones": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Zones information Lookup",
        "description": "Used to get a list of identifiers for zones authorized for use by the application.",
        "operationId": "zonesGET",
        "responses": {
          "200": {
            "description": "Successful response to zones request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zoneList": {
                      "$ref": "#/components/schemas/ZoneList"
                    }
                  }
                }
              }
            }
          },
          "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": "queries"
      }
    },
    "/queries/zones/{zoneId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Zones information Lookup",
        "description": "Used to get the information for an authorized zone for use by the application.",
        "operationId": "zonesGetById",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.ZoneId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to an access point Id request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "zoneInfo": {
                      "$ref": "#/components/schemas/ZoneInfo"
                    }
                  }
                }
              }
            }
          },
          "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": "queries"
      }
    },
    "/queries/zones/{zoneId}/accessPoints": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Radio Node Location Lookup",
        "description": "Radio Node Location Lookup to retrieve a list of radio nodes associated to a zone.",
        "operationId": "apGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.ZoneId"
          },
          {
            "$ref": "#/components/parameters/Query.InterestRealm"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to an access point Id request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessPointList": {
                      "$ref": "#/components/schemas/AccessPointList"
                    }
                  }
                }
              }
            }
          },
          "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": "queries"
      }
    },
    "/queries/zones/{zoneId}/accessPoints/{accessPointId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Radio Node Location Lookup",
        "description": "Radio Node Location Lookup to retrieve a radio node associated to a zone.",
        "operationId": "apByIdGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.ZoneId"
          },
          {
            "$ref": "#/components/parameters/Path.AccessPointId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response to an access point Id request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessPointInfo": {
                      "$ref": "#/components/schemas/AccessPointInfo"
                    }
                  }
                }
              }
            }
          },
          "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": "queries"
      }
    },
    "/subscriptions/area/circle": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to area change notifications",
        "description": "This operation is used for retrieving all active subscriptions to area change notifications.",
        "operationId": "areaCircleSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve area subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "circleNotificationSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "callbackReference": {
                              "callbackData": "1234",
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "address": "acr:10.0.0.1",
                            "checkImmediate": true,
                            "enteringLeavingCriteria": "Entering",
                            "frequency": 10,
                            "latitude": -80.88,
                            "longitude": 41.277,
                            "radius": 500,
                            "trackingAccuracy": 10,
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for area change notification",
        "description": "Creates a subscription to the Location Service for an area change notification.",
        "operationId": "areaCircleSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "circleNotificationSubscription": {
                    "$ref": "#/components/schemas/CircleNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "circleNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "address": "acr:10.0.0.1",
                      "checkImmediate": true,
                      "enteringLeavingCriteria": "Entering",
                      "frequency": 10,
                      "latitude": -80.88,
                      "longitude": 41.277,
                      "radius": 500,
                      "trackingAccuracy": 10
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "circleNotificationSubscription": {
                      "$ref": "#/components/schemas/CircleNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "circleNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "checkImmediate": true,
                        "enteringLeavingCriteria": "Entering",
                        "frequency": 10,
                        "latitude": -80.88,
                        "longitude": 41.277,
                        "radius": 500,
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "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#/circleNotificationSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "circleNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "subscriptionNotification": {
                            "$ref": "#/components/schemas/SubscriptionNotification"
                          }
                        },
                        "examples": [
                          {
                            "subscriptionNotification": {
                              "enteringLeavingCriteria": "Entering",
                              "isFinalNotification": "false,",
                              "link": {
                                "rel": "CircleNotificationSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/sub123"
Michel Roy's avatar
Michel Roy committed
                              },
                              "terminalLocation": {
                                "address": "acr:10.0.0.1",
                                "currentLocation": {
                                  "accuracy": 100,
                                  "altitude": 1001,
                                  "latitude": -80.86302,
                                  "longitude": 41.277306,
                                  "timestamp": {
                                    "seconds": 1483231138,
                                    "nanoSeconds\"": 0
                                  }
                                },
                                "locationRetrievalStatus": "Retrieved"
                              }
Michel Roy's avatar
Michel Roy committed
                      }
                    }
                  }
                },
                "responses": {
                  "204": {
                    "$ref": "#/components/responses/204"
                  }
                }
              }
            }
          }
        },
        "x-swagger-router-controller": "subscriptions"
      }
    },
    "/subscriptions/area/circle/{subscriptionId}": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieve subscription information",
        "description": "Get subscription information.",
        "operationId": "areaCircleSubGET",
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription information regarding subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "circleNotificationSubscription"
                  ],
                  "properties": {
                    "circleNotificationSubscription": {
                      "$ref": "#/components/schemas/CircleNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "circleNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "checkImmediate": true,
                        "enteringLeavingCriteria": "Entering",
                        "frequency": 10,
                        "latitude": -80.88,
                        "longitude": 41.277,
                        "radius": 500,
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "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": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Updates a subscription information",
        "description": "Updates a subscription.",
        "operationId": "areaCircleSubPUT",
        "requestBody": {
          "description": "Subscription to be modified",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "circleNotificationSubscription": {
                    "$ref": "#/components/schemas/CircleNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "circleNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "address": "acr:10.0.0.1",
                      "checkImmediate": true,
                      "enteringLeavingCriteria": "Entering",
                      "frequency": 10,
                      "latitude": -80.88,
                      "longitude": 41.277,
                      "radius": 500,
                      "trackingAccuracy": 10,
                      "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/Path.SubscrId"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful subscription to response to subscription notifications",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "circleNotificationSubscription": {
                      "$ref": "#/components/schemas/CircleNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "circleNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "address": "acr:10.0.0.1",
                        "checkImmediate": true,
                        "enteringLeavingCriteria": "Entering",
                        "frequency": 10,
                        "latitude": -80.88,
                        "longitude": 41.277,
                        "radius": 500,
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/area/circle/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "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": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Cancel a subscription",
        "description": "Method to delete a subscription.",
        "operationId": "areaCircleSubDELETE",
        "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/distance": {
      "get": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Retrieves all active subscriptions to distance change notifications",
        "description": "This operation is used for retrieving all active subscriptions to a distance change notifications.",
        "operationId": "distanceSubListGET",
        "responses": {
          "200": {
            "description": "Response to retrieve area subscriptions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "notificationSubscriptionList"
                  ],
                  "properties": {
                    "notificationSubscriptionList": {
                      "$ref": "#/components/schemas/NotificationSubscriptionList"
                    }
                  },
                  "examples": [
                    {
                      "notificationSubscriptionList": {
                        "distanceNotificationSubscription": [
                          {
                            "clientCorrelator": "0123",
                            "callbackReference": {
                              "callbackData": "1234",
                              "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                            },
                            "monitoredAddress": [
                              "acr:10.0.0.1",
                              "acr:10.0.0.2"
                            ],
                            "checkImmediate": true,
                            "criteria": "AllWithinDistance",
                            "distance": 100,
                            "frequency": 10,
                            "referenceAddress": "acr:10.0.0.3",
                            "trackingAccuracy": 10,
                            "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/sub123"
                          }
                        ],
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
Michel Roy's avatar
Michel Roy committed
          "location"
Michel Roy's avatar
Michel Roy committed
        ],
        "summary": "Creates a subscription for distance change notification",
        "description": "Creates a subscription to the Location Service for a distance change notification.",
        "operationId": "distanceSubPOST",
        "requestBody": {
          "description": "Subscription to be created",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "distanceNotificationSubscription": {
                    "$ref": "#/components/schemas/DistanceNotificationSubscription"
                  }
                },
                "examples": [
                  {
                    "distanceNotificationSubscription": {
                      "clientCorrelator": "0123",
                      "callbackReference": {
                        "callbackData": "1234",
                        "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                      },
                      "monitoredAddress": [
                        "acr:10.0.0.1",
                        "acr:10.0.0.2"
                      ],
                      "checkImmediate": true,
                      "criteria": "AllWithinDistance",
                      "distance": 100,
                      "frequency": 10,
                      "referenceAddress": "acr:10.0.0.3",
                      "trackingAccuracy": 10
                    }
Michel Roy's avatar
Michel Roy committed
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful subscription",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "distanceNotificationSubscription": {
                      "$ref": "#/components/schemas/DistanceNotificationSubscription"
                    }
                  },
                  "examples": [
                    {
                      "distanceNotificationSubscription": {
                        "clientCorrelator": "0123",
                        "callbackReference": {
                          "callbackData": "1234",
                          "notifyURL": "http://clientApp.example.com/location_notifications/123456"
                        },
                        "monitoredAddress": [
                          "acr:10.0.0.1",
                          "acr:10.0.0.2"
                        ],
                        "checkImmediate": true,
                        "criteria": "AllWithinDistance",
                        "distance": 100,
                        "frequency": 10,
                        "referenceAddress": "acr:10.0.0.3",
                        "trackingAccuracy": 10,
                        "resourceURL": "http://meAppServer.example.com/location/v2/subscriptions/distance/subscription123"
                      }
Michel Roy's avatar
Michel Roy committed
                }
              }
            }
          },
          "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#/distanceNotificationSubscription.callbackReference.notifyURL}": {
              "post": {
Michel Roy's avatar
Michel Roy committed
                "summary": "Callback POST used to send a notification",
                "description": "Notification from Location service, content based on subscription type",
                "operationId": "distanceNotificationPOST",
Michel Roy's avatar
Michel Roy committed
                "requestBody": {
                  "description": "Subscription notification",
                  "required": true,
                  "content": {
                    "application/json": {
                      "schema": {
                        "type": "object",
                        "properties": {
                          "subscriptionNotification": {
                            "$ref": "#/components/schemas/SubscriptionNotification"
                          }
                        },
                        "examples": [
                          {
                            "subscriptionNotification": {
                              "distanceCriteria": "AllWithinDistance",
                              "isFinalNotification": "false,",
                              "link": {
                                "rel": "DistanceNotificationSubscription",
                                "href": "http://meAppServer.example.com/location/v2/subscriptions/distance/sub123"
Michel Roy's avatar
Michel Roy committed
                              },
                              "terminalLocation": [
                                {
                                  "address": "acr:10.0.0.1",
                                  "currentLocation": {
                                    "accuracy": 100,
                                    "altitude": 1001,
                                    "latitude": -80.86302,
                                    "longitude": 41.277306,
                                    "timestamp": {
                                      "seconds": 1483231138,
                                      "nanoSeconds\"": 0
                                    }
                                  },
                                  "locationRetrievalStatus": "Retrieved"
Michel Roy's avatar
Michel Roy committed
                                },
                                {
                                  "address": "acr:10.0.0.2",
                                  "currentLocation": {
                                    "accuracy": 100,
                                    "altitude": 1001,
                                    "latitude": -80.86301,
                                    "longitude": 41.277306,
                                    "timestamp": {
                                      "seconds": 1483231138,
                                      "nanoSeconds\"": 0
                                    }
                                  },
                                  "locationRetrievalStatus": "Retrieved"
                                }
                              ]
                            }