A.2 Nnef_EventExposure API

29.5913GPP5G SystemNetwork Exposure Function Southbound ServicesRelease 17Stage 3TS

openapi: 3.0.0

info:

title: Nnef_EventExposure

version: 1.2.0

description: |

NEF Event Exposure Service.

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

All rights reserved.

externalDocs:

description: >

3GPP TS 29.591 V17.7.0; 5G System; Network Exposure Function Southbound Services; Stage 3.

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

servers:

– url: ‘{apiRoot}/nnef-eventexposure/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501

security:

– {}

– oAuth2ClientCredentials:

– nnef-eventexposure

paths:

/subscriptions:

post:

summary: subscribe to notifications

operationId: CreateIndividualSubcription

tags:

– Subscriptions (Collection)

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘201’:

description: Success

content:

application/json:

schema:

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

headers:

Location:

description: >

Contains the URI of the newly created resource, according to the structure

{apiRoot}/nnef-eventexposure/<apiVersion>/subscriptions/{subscriptionId}

required: true

schema:

type: string

‘400’:

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

‘401’:

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

‘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:

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

callbacks:

myNotification:

‘{$request.body#/notifUri}’:

post:

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘204’:

description: No Content, Notification was succesfull

‘307’:

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

‘308’:

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

‘400’:

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

‘401’:

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

‘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:

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

/subscriptions/{subscriptionId}:

get:

summary: retrieve subscription

operationId: GetIndividualSubcription

tags:

– IndividualSubscription (Document)

parameters:

– name: subscriptionId

in: path

description: Event Subscription ID

required: true

schema:

type: string

– name: supp-feat

in: query

description: Features supported by the NF service consumer

required: false

schema:

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

responses:

‘200’:

description: OK. Resource representation is returned

content:

application/json:

schema:

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

‘307’:

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

‘308’:

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

‘400’:

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

‘401’:

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

‘403’:

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

‘404’:

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

‘406’:

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

‘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:

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

put:

summary: update subscription

operationId: ReplaceIndividualSubcription

tags:

– IndividualSubscription (Document)

requestBody:

required: true

content:

application/json:

schema:

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

parameters:

– name: subscriptionId

in: path

description: Event Subscription ID

required: true

schema:

type: string

responses:

‘200’:

description: OK. Resource was succesfully modified and representation is returned

content:

application/json:

schema:

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

‘204’:

description: No Content. Resource was succesfully modified

‘307’:

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

‘308’:

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

‘400’:

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

‘401’:

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

‘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:

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

delete:

summary: unsubscribe from notifications

operationId: DeleteIndividualSubcription

tags:

– IndividualSubscription (Document)

parameters:

– name: subscriptionId

in: path

description: Event Subscription ID

required: true

schema:

type: string

responses:

‘204’:

description: No Content. Resource was succesfully deleted

‘307’:

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

‘308’:

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

‘400’:

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

‘401’:

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

‘403’:

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

‘404’:

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

‘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:

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

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{nrfApiRoot}/oauth2/token’

scopes:

nnef-eventexposure: Access to the Nnef_EventExposure API

schemas:

NefEventExposureSubsc:

description: Represents an Individual Network Exposure Event Subscription resource.

type: object

properties:

dataAccProfId:

type: string

eventsSubs:

type: array

items:

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

minItems: 1

eventsRepInfo:

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

notifUri:

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

notifId:

type: string

eventNotifs:

type: array

items:

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

minItems: 1

suppFeat:

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

required:

– eventsSubs

– notifId

– notifUri

NefEventExposureNotif:

description: >

Represents notifications on network exposure event(s) that occurred for an Individual Network

Exposure Event Subscription resource.

type: object

properties:

notifId:

type: string

eventNotifs:

type: array

items:

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

minItems: 1

required:

– notifId

– eventNotifs

NefEventNotification:

description: Represents information related to an event to be reported.

type: object

properties:

event:

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

timeStamp:

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

svcExprcInfos:

type: array

items:

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

minItems: 1

ueMobilityInfos:

type: array

items:

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

minItems: 1

ueCommInfos:

type: array

items:

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

minItems: 1

excepInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/ExceptionInfo’

minItems: 1

congestionInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/UserDataCongestionCollection’

minItems: 1

perfDataInfos:

type: array

items:

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

minItems: 1

dispersionInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/DispersionCollection’

minItems: 1

collBhvrInfs:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/CollectiveBehaviourInfo’

minItems: 1

msQoeMetrInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/MsQoeMetricsCollection’

minItems: 1

msConsumpInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/MsConsumptionCollection’

minItems: 1

msNetAssInvInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/MsNetAssInvocationCollection’

minItems: 1

msDynPlyInvInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/MsDynPolicyInvocationCollection’

minItems: 1

msAccActInfos:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/MSAccessActivityCollection’

minItems: 1

required:

– event

– timeStamp

NefEventSubs:

description: Represents an event to be subscribed and the related event filter information.

type: object

properties:

event:

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

eventFilter:

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

required:

– event

NefEventFilter:

description: Represents event filter information for an event.

type: object

properties:

tgtUe:

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

appIds:

type: array

items:

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

minItems: 1

locArea:

$ref: ‘TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo’

collAttrs:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/CollectiveBehaviourFilter’

minItems: 1

required:

– tgtUe

TargetUeIdentification:

description: Identifies the UE to which the request applies.

type: object

properties:

supis:

type: array

items:

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

minItems: 1

interGroupIds:

type: array

items:

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

minItems: 1

anyUeId:

type: boolean

ServiceExperienceInfo:

description: Contains service experience information associated with an application.

type: object

properties:

appId:

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

supis:

type: array

items:

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

minItems: 1

svcExpPerFlows:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/ServiceExperienceInfoPerFlow’

minItems: 1

required:

– svcExpPerFlows

UeMobilityInfo:

description: Contains UE mobility information associated with an application.

type: object

properties:

supi:

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

appId:

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

ueTrajs:

type: array

items:

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

minItems: 1

required:

– supi

– ueTrajs

UeCommunicationInfo:

description: Contains UE communication information associated with an application.

type: object

properties:

supi:

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

interGroupId:

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

appId:

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

comms:

type: array

items:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/CommunicationCollection’

minItems: 1

required:

– comms

UeTrajectoryInfo:

description: Contains UE trajectory information.

type: object

properties:

ts:

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

location:

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

required:

– ts

– location

PerformanceDataInfo:

description: Contains Performance Data Analytics related information collection.

type: object

properties:

appId:

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

ueIpAddr:

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

ipTrafficFilter:

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

userLoc:

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

appLocs:

type: array

items:

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

minItems: 1

asAddr:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn’

perfData:

$ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/PerformanceData’

timeStamp:

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

required:

– perfData

– timeStamp

# Simple data types and Enumerations

NefEvent:

description: Represents Network Exposure Events.

anyOf:

– type: string

enum:

– SVC_EXPERIENCE

– UE_MOBILITY

– UE_COMM

– EXCEPTIONS

– USER_DATA_CONGESTION

– PERF_DATA

– DISPERSION

– COLLECTIVE_BEHAVIOUR

– MS_QOE_METRICS

– MS_CONSUMPTION

– MS_NET_ASSIST_INVOCATION

– MS_DYN_POLICY_INVOCATION

– MS_ACCESS_ACTIVITY

– type: string

description: >

This string provides forward-compatibility with future extensions to the enumeration but

is not used to encode content defined in the present version of this API.