diff --git a/edge_cloud_management_api/specification/openapi.yaml b/edge_cloud_management_api/specification/openapi.yaml index 613263f5717df376db6b91cfa36995a75c1221b5..f8ad674be7250bb50c1dcb8ab34b72f1dc16e8c3 100644 --- a/edge_cloud_management_api/specification/openapi.yaml +++ b/edge_cloud_management_api/specification/openapi.yaml @@ -814,6 +814,55 @@ paths: # description: Method not allowed # "404": # description: Session not found + /location/retrieve: + post: + tags: + - Location Retrieval Functions + summary: Retrieve the location of a device + description: | + Retrieve the location of a device using the CAMARA Device Location API. + The request is forwarded to the Service Resource Manager which delegates + to the configured network adapter. + operationId: edge_cloud_management_api.controllers.network_functions_controller.retrieve_location + requestBody: + description: Location retrieval request following CAMARA Device Location API. + content: + application/json: + schema: + $ref: '#/components/schemas/RetrievalLocationRequest' + examples: + PhoneNumberExample: + summary: Retrieve location by phone number + value: + device: + phoneNumber: "+123456789" + maxAge: 60 + Ipv4Example: + summary: Retrieve location by IPv4 address + value: + device: + ipv4Address: + publicAddress: "198.51.100.1" + publicPort: 59765 + maxAge: 120 + maxSurface: 10000 + responses: + "200": + description: Device location retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/LocationResponse' + "400": + $ref: "#/components/responses/400" + "401": + $ref: "#/components/responses/401" + "404": + $ref: "#/components/responses/404" + "500": + $ref: "#/components/responses/500" + "503": + $ref: "#/components/responses/503" /partner: post: tags: