openapi: 3.0.0 info: version: 1.0.2 title: Namf_EventExposure description: | AMF Event Exposure Service © 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.security: - {} - oAuth2ClientCredentials: - namf-evts externalDocs: description: 3GPP TS 29.518 V15.4.0; 5G System; Access and Mobility Management Services url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.518/' servers: - url: '{apiRoot}/namf-evts/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501 paths: /subscriptions: post: summary: Namf_EventExposure Subscribe service Operation tags: - Subscriptions collection (Document) operationId: CreateSubscription requestBody: content: application/json: schema: $ref: '#/components/schemas/AmfCreateEventSubscription' required: true responses: '201': description: Subsription Created headers: Location: description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/namf-evts//subscriptions/{subscriptionId}' required: true schema: type: string content: application/json: schema: $ref: '#/components/schemas/AmfCreatedEventSubscription' '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' default: description: Unexpected error callbacks: onEventReport: '{$request.body#/subscription/eventNotifyUri}': post: summary: Event Notificaiton Delivery requestBody: content: application/json: schema: $ref: '#/components/schemas/AmfEventNotification' required: true responses: '204': description: Successful acknowledgement '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '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 onSubscriptionIdChangeEvtReport: '{$request.body#/subscription/subsChangeNotifyUri}': post: summary: Event Notificaiton Delivery For Subscription Id Change requestBody: content: application/json: schema: $ref: '#/components/schemas/AmfEventNotification' required: true responses: '204': description: Successful acknowledgement '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '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 /subscriptions/{subscriptionId}: patch: summary: Namf_EventExposure Subscribe Modify service Operation tags: - Individual subscription (Document) operationId: ModifySubscription parameters: - name: subscriptionId in: path required: true description: Unique ID of the subscription to be modified schema: type: string requestBody: content: application/json-patch+json: schema: oneOf: - $ref: '#/components/schemas/AmfUpdateEventSubscriptionItem' - $ref: '#/components/schemas/AmfUpdateEventOptionItem' required: true responses: '200': description: Subsription modified successfully content: application/json: schema: $ref: '#/components/schemas/AmfUpdatedEventSubscription' '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 delete: summary: Namf_EventExposure Unsubscribe service Operation tags: - Individual subscription (Document) operationId: DeleteSubscription parameters: - name: subscriptionId in: path required: true description: Unique ID of the subscription to be deleted schema: type: string responses: '204': description: Subsription deleted successfully '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '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-evts: Access to the Namf_EventExposure API schemas: AmfEventSubscription: type: object properties: eventList: type: array items: $ref: '#/components/schemas/AmfEvent' minItems: 1 eventNotifyUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' notifyCorrelationId: type: string nfId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' subsChangeNotifyUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' subsChangeNotifyCorrelationId: type: string supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' groupId: $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' pei: $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' anyUE: type: boolean options: $ref: '#/components/schemas/AmfEventMode' required: - eventList - eventNotifyUri - notifyCorrelationId - nfId AmfEvent: type: object properties: type: $ref: '#/components/schemas/AmfEventType' immediateFlag: type: boolean areaList: type: array items: $ref: '#/components/schemas/AmfEventArea' minItems: 1 locationFilterList: type: array items: $ref: '#/components/schemas/LocationFilter' minItems: 1 refId: $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' required: - type AmfEventNotification: type: object properties: notifyCorrelationId: type: string subsChangeNotifyCorrelationId: type: string reportList: type: array items: $ref: '#/components/schemas/AmfEventReport' minItems: 1 AmfEventReport: type: object properties: type: $ref: '#/components/schemas/AmfEventType' state: $ref: '#/components/schemas/AmfEventState' timeStamp: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' subscriptionId: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' anyUe: type: boolean supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' areaList: type: array items: $ref: '#/components/schemas/AmfEventArea' minItems: 1 refId: $ref: 'TS29503_Nudm_EE.yaml#/components/schemas/ReferenceId' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' pei: $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' location: $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' timezone: $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' accessTypeList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' minItems: 1 rmInfoList: type: array items: $ref: '#/components/schemas/RmInfo' minItems: 1 cmInfoList: type: array items: $ref: '#/components/schemas/CmInfo' minItems: 1 reachability: $ref: '#/components/schemas/UeReachability' commFailure: $ref: '#/components/schemas/CommunicationFailure' numberOfUes: type: integer required: - type - state - timeStamp AmfEventMode: type: object properties: trigger: $ref: '#/components/schemas/AmfEventTrigger' maxReports: type: integer expiry: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' required: - trigger AmfEventState: type: object properties: active: type: boolean remainReports: type: integer remainDuration: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' required: - active RmInfo: type: object properties: rmState: $ref: '#/components/schemas/RmState' accessType: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' required: - rmState - accessType CmInfo: type: object properties: cmState: $ref: '#/components/schemas/CmState' accessType: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' required: - cmState - accessType CommunicationFailure: type: object properties: nasReleaseCode: type: string ranReleaseCode: $ref: 'TS29571_CommonData.yaml#/components/schemas/NgApCause' AmfCreateEventSubscription: type: object properties: subscription: $ref: '#/components/schemas/AmfEventSubscription' supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' required: - subscription AmfCreatedEventSubscription: type: object properties: subscription: $ref: '#/components/schemas/AmfEventSubscription' subscriptionId: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' reportList: type: array items: $ref: '#/components/schemas/AmfEventReport' minItems: 1 supportedFeatures: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' required: - subscription - subscriptionId AmfUpdateEventSubscriptionItem: type: array items: type: object properties: op: type: string enum: - add - remove - replace path: type: string pattern: '\/eventList\/[0-]$|\/eventList\/[1-9][0-9]*$' value: $ref: '#/components/schemas/AmfEvent' required: - op - path minItems: 1 AmfUpdateEventOptionItem: type: object properties: op: type: string enum: - replace path: type: string pattern: '\/options\/expiry$' value: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' required: - op - path - value AmfUpdatedEventSubscription: type: object properties: subscription: $ref: '#/components/schemas/AmfEventSubscription' required: - subscription AmfEventArea: type: object properties: presenceInfo: $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' ladnInfo: $ref: '#/components/schemas/LadnInfo' LadnInfo: type: object properties: ladn: type: string presence: $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceState' required: - ladn 5gGuti: type: string AmfEventType: anyOf: - type: string enum: - LOCATION_REPORT - PRESENCE_IN_AOI_REPORT - TIMEZONE_REPORT - ACCESS_TYPE_REPORT - REGISTRATION_STATE_REPORT - CONNECTIVITY_STATE_REPORT - REACHABILITY_REPORT - COMMUNICATION_FAILURE_REPORT - UES_IN_AREA_REPORT - SUBSCRIPTION_ID_CHANGE - SUBSCRIPTION_ID_ADDITION - LOSS_OF_CONNECTIVITY - type: string AmfEventTrigger: anyOf: - type: string enum: - ONE_TIME - CONTINUOUS - type: string LocationFilter : anyOf: - type: string enum: - TAI - CELL_ID - N3IWF - UE_IP - UDP_PORT - type: string UeReachability: anyOf: - type: string enum: - UNREACHABLE - REACHABLE - REGULATORY_ONLY - type: string RmState: anyOf: - type: string enum: - REGISTERED - DEREGISTERED - type: string CmState: anyOf: - type: string enum: - IDLE - CONNECTED - type: string