openapi: 3.0.0 info: version: 1.0.0 title: Namf_Location description: AMF Location Service security: - {} - oAuth2Clientcredentials: - namf-loc externalDocs: description: 3GPP TS 29.518 V15.2.0; 5G System; Access and Mobility Management Services url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' servers: - url: '{apiRoot}/namf-loc/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501 paths: /{ueContextId}/provide-pos-info: post: summary: Namf_Location ProvidePositioningInfo service Operation tags: - Individual UE context (Document) operationId: ProvidePositioningInfo parameters: - name: ueContextId in: path description: UE Context Identifier required: true schema: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestPosInfo' required: true responses: '200': description: Expected response to a valid request content: application/json: schema: $ref: '#/components/schemas/ProvidePosInfo' '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' '504': $ref: 'TS29571_CommonData.yaml#/components/responses/504' default: description: Unexpected error callbacks: onUELocationNotification: '{$request.body#/locationNotificationUri}': post: requestBody: description: UE Location Event Notification content: application/json: schema: $ref: '#/components/schemas/NotifiedPosInfo' responses: '204': description: Expected response to a successful callback processing '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' /{ueContextId}/provide-loc-info: post: summary: Namf_Location ProvideLocationInfo service Operation tags: - Individual UE context (Document) operationId: ProvideLocationInfo parameters: - name: ueContextId in: path description: UE Context Identifier required: true schema: type: string pattern: '^(imsi-[0-9]{5,15}|nai-.+|imei-[0-9]{15}|imeisv-[0-9]{16}|.+)$' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestLocInfo' required: true responses: '200': description: Expected response to a valid request content: application/json: schema: $ref: '#/components/schemas/ProvideLocInfo' '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: description: Unexpected error components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{nrfApiRoot}/oauth2/token' scopes: namf-loc: Access to the Namf_Location API schemas: RequestPosInfo: type: object properties: lcsClientType: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/ExternalClientType' lcsLocation: $ref: '#/components/schemas/LocationType' supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' priority: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LcsPriority' lcsQoS: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS' velocityRequested: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityRequested' lcsSupportedGADShapes: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/SupportedGADShapes' locationNotificationUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' required: - lcsClientType - lcsLocation ProvidePosInfo: type: object properties: locationEstimate: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' accuracyFulfilmentIndicator: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AccuracyFulfilmentIndicator' ageOfLocationEstimate: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' velocityEstimate: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' positioningDataList: type: array items: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethodAndUsage' minItems: 0 maxItems: 9 gnssPositioningDataList: type: array items: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GnssPositioningMethodAndUsage' minItems: 0 maxItems: 9 ecgi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' ncgi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' targetServingNode: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' civicAddress: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' barometricPressure: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/BarometricPressure' altitude: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Altitude' supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' NotifiedPosInfo: type: object properties: locationEvent: $ref: '#/components/schemas/LocationEvent' supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' pei: $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' locationEstimate: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' ageOfLocationEstimate: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' velocityEstimate: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/VelocityEstimate' positioningDataList: type: array items: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/PositioningMethodAndUsage' minItems: 0 maxItems: 9 gnssPositioningDataList: type: array items: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GnssPositioningMethodAndUsage' minItems: 0 maxItems: 9 ecgi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ecgi' ncgi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ncgi' servingNode: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' civicAddress: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' barometricPressure: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/BarometricPressure' altitude: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/Altitude' required: - locationEvent RequestLocInfo: type: object properties: req5gsLoc: type: boolean default: false reqCurrentLoc: type: boolean default: false reqRatType: type: boolean default: false reqTimeZone: type: boolean default: false supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' ProvideLocInfo: type: object properties: currentLoc: type: boolean location: $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' geoInfo: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea' locatoinAge: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/AgeOfLocationEstimate' ratType: $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' timezone: $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' LocationType: anyOf: - type: string enum: - CURRENT_LOCATION - CURRENT_OR_LAST_KNOWN_LOCATION - INITIAL_LOCATION - type: string LocationEvent: anyOf: - type: string enum: - EMERGENCY_CALL_ORIGINATION - EMERGENCY_CALL_RELEASE - EMERGENCY_CALL_HANDOVER - type: string