openapi: 3.0.0 info: title: Nnef_EventExposure version: 1.0.0 description: | NEF Event Exposure Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.591 V16.1.0; 5G System; Application Function (AF) event exposure service; Stage 3. url: http://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//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 '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' '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 '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 '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: type: object properties: 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: type: object properties: notifId: type: string eventNotifs: type: array items: $ref: '#/components/schemas/NefEventNotification' minItems: 1 required: - notifId - eventNotifs NefEventNotification: 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 required: - event - timeStamp NefEventSubs: type: object properties: event: $ref: '#/components/schemas/NefEvent' eventFilter: $ref: '#/components/schemas/NefEventFilter' required: - event NefEventFilter: 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' required: - tgtUe TargetUeIdentification: 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: 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: 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: 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: type: object properties: ts: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' location: $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' required: - ts - location # Simple data types and Enumerations NefEvent: anyOf: - type: string enum: - SVC_EXPERIENCE - UE_MOBILITY - UE_COMM - EXCEPTIONS - type: string