openapi: 3.0.0 info: title: Nnef_EventExposure version: 1.1.0-alpha.1 description: | NEF Event Exposure Service. © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.591 V17.1.0; 5G System; Network Exposure Function Southbound Services; 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 '307': description: Temporary Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: required: true description: 'A URI pointing to the endpoint of an alternative NF consumer (service) instance towards which the notification should be redirected.' schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the notification request is redirected.' schema: type: string '308': description: Permanent Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: required: true description: 'A URI pointing to the endpoint of an alternative NF consumer (service) instance towards which the notification should be redirected.' schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the notification request is redirected.' 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' /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': description: Temporary Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: description: 'An alternative URI of the resource located on an alternative NEF (service) instance.' required: true schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the request is redirected.' schema: type: string '308': description: Permanent Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: description: 'An alternative URI of the resource located on an alternative NEF (service) instance.' required: true schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the request is redirected.' 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' '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': description: Temporary Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: description: 'An alternative URI of the resource located on an alternative NEF (service) instance.' required: true schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the request is redirected.' schema: type: string '308': description: Permanent Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: description: 'An alternative URI of the resource located on an alternative NEF (service) instance.' required: true schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the request is redirected.' 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' 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': description: Temporary Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: description: 'An alternative URI of the resource located on an alternative NEF (service) instance.' required: true schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the request is redirected.' schema: type: string '308': description: Permanent Redirect content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Location: description: 'An alternative URI of the resource located on an alternative NEF (service) instance.' required: true schema: type: string 3gpp-Sbi-Target-Nf-Id: description: 'Identifier of the target NF (service) instance towards which the request is redirected.' 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' '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: 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 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' 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 # Simple data types and Enumerations NefEvent: description: Represents Network Exposure Events. anyOf: - type: string enum: - SVC_EXPERIENCE - UE_MOBILITY - UE_COMM - EXCEPTIONS - type: string