A.3 Eees_UELocation API

29.5583GPPApplication Programming Interface (API) specificationEnabling Edge ApplicationsRelease 18Stage 3TS

openapi: 3.0.0

info:

title: EES UE Location Information_API

description: |

API for EES UE Location Information.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

version: 1.1.0-alpha.1

externalDocs:

description: >

3GPP TS 29.558 V18.0.0 Enabling Edge Applications;

Application Programming Interface (API) specification; Stage 3

url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.558/

security:

– {}

– oAuth2ClientCredentials: []

servers:

– url: ‘{apiRoot}/eees-uelocation/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 7.5 of 3GPP TS 29.558.

paths:

/fetch:

post:

summary: Fetch an UE location information.

operationId: FetchUELocation

tags:

– Fetch an UE location information

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationRequest’

responses:

‘200’:

description: OK (The requested location information)

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationResponse’

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

/subscriptions:

post:

summary: Creates a new Individual Location Information Subscription resource

operationId: CreateLocationInfoSubscription

tags:

– Location Information Subscriptions (Collection)

description: >

Create a Subscription resource for continious reporting of UE location

information to the EAS.

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationSubscription’

responses:

‘201’:

description: >

Created (The individual location information subscription resource

is created successfully)

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationSubscription’

headers:

Location:

description: ‘Contains the URI of the newly created resource’

required: true

schema:

type: string

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

callbacks:

LocationInformationNotification:

‘{request.body#/notificationDestination}’:

post:

requestBody: # contents of the callback message

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationNotification’

responses:

‘204’:

description: No Content (successful notification)

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

UserConsentRevocationNotif:

‘{request.body#/revocationNotifUri}’:

post:

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/ConsentRevocNotif’

responses:

‘204’:

description: No Content (successful notification).

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

/subscriptions/{subscriptionId}:

get:

summary: Read an Individual Location Information Subscription resource

operationId: ReadIndLocationInfoSubscription

tags:

– Individual Location Information Subscription (Document)

description: Retrieve an Individual location information subscription information.

parameters:

– name: subscriptionId

in: path

description: Subscription Id.

required: true

schema:

type: string

responses:

‘200’:

description: OK (Successfully get the location information subscription).

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationSubscription’

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘406’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/406’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

put:

summary: Update an Individual Location Information Subscription resource

operationId: UpdateIndLocationInfoSubscription

tags:

– Individual Location Information Subscription (Document)

description: Fully replace an existing Individual location information Subscription.

parameters:

– name: subscriptionId

in: path

description: Subscription Id.

required: true

schema:

type: string

requestBody:

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationSubscription’

responses:

‘200’:

description: OK (The individual location information subscription was modified successfully).

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationSubscription’

‘204’:

description: No Content.

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

patch:

summary: Modify an Individual Location Information Subscription resource

operationId: ModifyIndLocationInfoSubscription

tags:

– Individual Location Information Subscription (Document)

description: Partially update an existing Individual location information Subscription.

parameters:

– name: subscriptionId

in: path

description: Subscription Id.

required: true

schema:

type: string

requestBody:

description: Partial update an existing Individual AC information Subscription.

required: true

content:

application/merge-patch+json:

schema:

$ref: ‘#/components/schemas/LocationSubscriptionPatch’

responses:

‘200’:

description: >

OK (The Individual location information Subscription is successfully

modified and the updated subscription information is returned in the response).

content:

application/json:

schema:

$ref: ‘#/components/schemas/LocationSubscription’

‘204’:

description: >

No Content (The individual location information subscription was modified successfully).

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

delete:

summary: Delete an Individual Location Information Subscription resource

operationId: DeleteIndLocationInfoSubscription

tags:

– Individual Location Information Subscription (Document)

description: Delete an existing Individual location information Subscription.

parameters:

– name: subscriptionId

in: path

description: Subscription Id.

required: true

schema:

type: string

responses:

‘204’:

description: The individual subscription is deleted.

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

# Components

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{tokenUrl}’

scopes: {}

schemas:

LocationSubscription:

type: object

description: Represents an Individual Location Information Subscription.

properties:

easId:

type: string

description: Identifier of the EAS subscribing for location information report.

ueId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’

intGrpId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/GroupId’

extGrpId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/ExternalGroupId’

expTime:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/DateTime’

locGran:

$ref: ‘TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy’

locQos:

$ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS’

eventReq:

$ref: ‘TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation’

notificationDestination:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Uri’

requestTestNotification:

type: boolean

description: >

Set to true by the EAS to request the EES to send a test notification.

Set to false or omitted otherwise.

revocationNotifUri:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Uri’

websockNotifConfig:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig’

suppFeat:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

oneOf:

– required: [ueId]

– required: [intGrpId]

– required: [extGrpId]

required:

– easId

LocationSubscriptionPatch:

type: object

description: Represents the partial update of Individual AC Information Subscription.

properties:

eventReq:

$ref: ‘TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation’

expTime:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/DateTime’

notificationDestination:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Uri’

revocationNotifUri:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Uri’

locGran:

$ref: ‘TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy’

locQos:

$ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS’

LocationNotification:

type: object

description: Represents the filters information for AC Information Subscription.

properties:

subId:

type: string

description: >

Identifier of the location information subscription for which the

location information notification is related to.

locEvs:

type: array

items:

$ref: ‘#/components/schemas/LocationEvent’

minItems: 1

description: List of notifications with location information.

required:

– subId

– locEvs

LocationEvent:

type: object

description: Location Information event notification.

properties:

ueId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’

locInf:

$ref: ‘TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo’

locInfPred:

$ref: ‘TS29522_AnalyticsExposure.yaml#/components/schemas/UeMobilityExposure’

oneOf:

– required: [locInf]

– required: [locInPred]

required:

– ueId

LocationRequest:

type: object

description: To request location information request.

properties:

ueId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’

gran:

$ref: ‘TS29122_MonitoringEvent.yaml#/components/schemas/Accuracy’

locQos:

$ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/LocationQoS’

suppFeat:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

required:

– ueId

LocationResponse:

type: object

description: Contains the response location information request.

properties:

ueLocation:

$ref: ‘TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo’

suppFeat:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

required:

– ueLocation

ConsentRevocNotif:

description: >

Represents the user consent revocation information conveyed in a user consent

revocation notification.

type: object

properties:

subscriptionId:

type: string

description: >

Contains the identifier of the subscription to which the notification is related.

consentsRevoked:

type: array

items:

$ref: ‘#/components/schemas/ConsentRevoked’

minItems: 1

required:

– subscriptionId

– consentsRevoked

ConsentRevoked:

description: Represents the information related to a revoked user consent.

type: object

properties:

ucPurpose:

$ref: ‘TS29503_Nudm_SDM.yaml#/components/schemas/UcPurpose’

externalId:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/ExternalId’

ueId:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’

required:

– ucPurpose

oneOf:

– required: [externalId]

– required: [ueId]