##### Special note: CT R18 local copy for SA5 OAM Forge branch validation only, ##### it shall not be used otherwise. S5-226092 on 4.11.2022 ## the following ref are commented out as extra external dependence ### $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' ### $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' ### $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' ### $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' ### $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' ### $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' ### $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' ### $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' openapi: 3.0.0 info: version: 1.2.1 title: Nnwdaf_AnalyticsInfo description: | Nnwdaf_AnalyticsInfo Service API. © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.520 V17.8.0; 5G System; Network Data Analytics Services. url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/' security: - {} - oAuth2ClientCredentials: - nnwdaf-analyticsinfo servers: - url: '{apiRoot}/nnwdaf-analyticsinfo/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501. paths: /analytics: get: summary: Read a NWDAF Analytics operationId: GetNWDAFAnalytics tags: - NWDAF Analytics (Document) parameters: - name: event-id in: query description: Identify the analytics. required: true schema: $ref: '#/components/schemas/EventId' - name: ana-req in: query description: Identifies the analytics reporting requirement information. required: false content: application/json: schema: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventReportingRequirement' - name: event-filter in: query description: Identify the analytics. required: false content: application/json: schema: $ref: '#/components/schemas/EventFilter' - name: supported-features in: query description: To filter irrelevant responses related to unsupported features. schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' - name: tgt-ue in: query description: Identify the target UE information. required: false content: application/json: schema: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/TargetUeInformation' responses: '200': description: > Containing the analytics with parameters as relevant for the requesting NF service consumer. content: application/json: schema: $ref: '#/components/schemas/AnalyticsData' '204': description: No Content. The requested NWDAF Analytics data does not exist. '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': description: Indicates that the NWDAF Analytics resource does not exist. content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' '406': $ref: 'TS29571_CommonData.yaml#/components/responses/406' '414': $ref: 'TS29571_CommonData.yaml#/components/responses/414' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': description: > The request is rejected by the NWDAF and more details (not only the ProblemDetails) are returned. content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetailsAnalyticsInfoRequest' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' /context: get: summary: Get context information related to analytics subscriptions. operationId: GetNwdafContext tags: - NWDAF Context (Document) parameters: - name: context-ids in: query description: Identifies specific context information related to analytics subscriptions. required: true content: application/json: schema: $ref: '#/components/schemas/ContextIdList' - name: req-context in: query description: > Identfies the type(s) of the analytics context information the consumer wishes to receive. required: false content: application/json: schema: $ref: '#/components/schemas/RequestedContext' responses: '200': description: > Contains context information related to analytics subscriptions corresponding with one or more context identifiers. content: application/json: schema: $ref: '#/components/schemas/ContextData' '204': description: > No Content. (\No context information could be retrieved for the requested context Identifiers. '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' '414': $ref: 'TS29571_CommonData.yaml#/components/responses/414' '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: nnwdaf-analyticsinfo: Access to the Nnwdaf_AnalyticsInfo API schemas: AnalyticsData: description: > Represents the description of analytics with parameters as relevant for the requesting NF service consumer. type: object properties: start: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' expiry: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' timeStampGen: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' anaMetaInfo: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsMetadataInfo' sliceLoadLevelInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/SliceLoadLevelInformation' minItems: 1 description: The slices and their load level information. nsiLoadLevelInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiLoadLevelInfo' minItems: 1 nfLoadLevelInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NfLoadLevelInformation' minItems: 1 nwPerfs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfInfo' minItems: 1 svcExps: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ServiceExperienceInfo' minItems: 1 qosSustainInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosSustainabilityInfo' minItems: 1 ueMobs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeMobility' minItems: 1 ueComms: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UeCommunication' minItems: 1 userDataCongInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/UserDataCongestionInfo' minItems: 1 abnorBehavrs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AbnormalBehaviour' minItems: 1 smccExps: type: array items: $ref: '#/components/schemas/SmcceInfo' minItems: 1 disperInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionInfo' minItems: 1 redTransInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RedundantTransmissionExpInfo' minItems: 1 wlanInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceInfo' minItems: 1 dnPerfInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerfInfo' minItems: 1 suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' EventFilter: description: Represents the event filters used to identify the requested analytics. type: object properties: anySlice: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnySlice' snssais: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 description: Identification(s) of network slice. appIds: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' minItems: 1 dnns: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 dnais: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai' minItems: 1 ladnDnns: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 description: Identification(s) of LADN DNN to indicate the LADN service area as the AOI. # networkArea: # $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' # visitedAreas: # type: array # items: # $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo' # minItems: 1 maxTopAppUlNbr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' maxTopAppDlNbr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' nfInstanceIds: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' minItems: 1 nfSetIds: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' minItems: 1 # nfTypes: # type: array # items: # $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' # minItems: 1 nsiIdInfos: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NsiIdInfo' minItems: 1 qosRequ: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/QosRequirement' nwPerfTypes: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NetworkPerfType' minItems: 1 bwRequs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/BwRequirement' minItems: 1 excepIds: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExceptionId' minItems: 1 exptAnaType: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ExpectedAnalyticsType' # exptUeBehav: # $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData' ratFreqs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RatFreqInformation' minItems: 1 disperReqs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DispersionRequirement' minItems: 1 redTransReqs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/RedundantTransmissionExpReq' minItems: 1 wlanReqs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/WlanPerformanceReq' minItems: 1 listOfAnaSubsets: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsSubset' minItems: 1 # upfInfo: # $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation' # appServerAddrs: # type: array # items: # $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn' # minItems: 1 dnPerfReqs: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/DnPerformanceReq' minItems: 1 not: required: [anySlice, snssais] ProblemDetailsAnalyticsInfoRequest: description: > Extends ProblemDetails to indicate more details why the analytics request is rejected. allOf: - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' - $ref: '#/components/schemas/AdditionInfoAnalyticsInfoRequest' AdditionInfoAnalyticsInfoRequest: description: Indicates additional information why the analytics request is rejected. type: object properties: rvWaitTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' ContextData: description: > Contains context information related to analytics subscriptions corresponding with one or more context identifiers. type: object properties: contextElems: type: array items: $ref: '#/components/schemas/ContextElement' minItems: 1 description: > List of items that contain context information corresponding with a context identifier. required: - contextElems ContextElement: description: Contains context information corresponding with a specific context identifier. type: object properties: contextId: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsContextIdentifier' pendAnalytics: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' minItems: 1 description: > Output analytics for the analytics subscription which have not yet been sent to the analytics consumer. histAnalytics: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/EventNotification' minItems: 1 description: Historical output analytics. lastOutputTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' aggrSubs: type: array items: $ref: '#/components/schemas/SpecificAnalyticsSubscription' minItems: 1 description: > Information about analytics subscriptions that the NWDAF has with other NWDAFs to perform aggregation. histData: type: array items: $ref: '#/components/schemas/HistoricalData' minItems: 1 description: Historical data related to the analytics subscription. adrfId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' adrfDataTypes: type: array items: $ref: '#/components/schemas/AdrfDataType' minItems: 1 description: Type(s) of data stored in the ADRF by the NWDAF. aggrNwdafIds: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' minItems: 1 description: > NWDAF identifiers of NWDAF instances used by the NWDAF service consumer when aggregating multiple analytics subscriptions. modelInfo: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/ModelInfo' minItems: 1 description: > Contains information identifying the ML model(s) that the consumer NWDAF is currently subscribing for the analytics. required: - contextId ContextIdList: description: > Contains a list of context identifiers of context information of analytics subscriptions. type: object properties: contextIds: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/AnalyticsContextIdentifier' minItems: 1 required: - contextIds HistoricalData: description: Contains historical data related to an analytics subscription. type: object properties: startTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' endTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' subsWithSources: type: array items: $ref: '#/components/schemas/SpecificDataSubscription' minItems: 1 description: Information about subscriptions with the data sources. data: type: array items: type: string # type string is not correct, the commented line below is correct. Changing it only for validation # $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataNotification' minItems: 1 description: Historical data related to the analytics. required: - data SpecificAnalyticsSubscription: description: > Represents an existing subscription for a specific type of analytics to a specific NWDAF. type: object properties: subscriptionId: type: string producerId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' producerSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' nwdafEvSub: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NnwdafEventsSubscription' allOf: - oneOf: - required: [producerId] - required: [producerSetId] - required: [subscriptionId] - required: [nwdafEvSub] RequestedContext: description: Contains types of analytics context information. type: object properties: contexts: type: array items: $ref: '#/components/schemas/ContextType' minItems: 1 description: List of analytics context types. required: - contexts SmcceInfo: description: Represents the Session Management congestion control experience information. type: object properties: dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' snssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' smcceUeList: $ref: '#/components/schemas/SmcceUeList' required: - smcceUeList SmcceUeList: description: > Represents the List of UEs classified based on experience level of Session Management congestion control. type: object properties: highLevel: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' minItems: 1 mediumLevel: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' minItems: 1 lowLevel: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' minItems: 1 anyOf: - required: [highLevel] - required: [mediumLevel] - required: [lowLevel] SpecificDataSubscription: description: > Represents an existing subscription for data collection to a specific data source NF. type: object properties: subscriptionId: type: string producerId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' producerSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' dataSub: type: string # $ref: 'TS29575_Nadrf_DataManagement.yaml#/components/schemas/DataSubscription' allOf: - oneOf: - required: [producerId] - required: [producerSetId] - required: [subscriptionId] - required: [dataSub] EventId: anyOf: - type: string enum: - LOAD_LEVEL_INFORMATION - NETWORK_PERFORMANCE - NF_LOAD - SERVICE_EXPERIENCE - UE_MOBILITY - UE_COMMUNICATION - QOS_SUSTAINABILITY - ABNORMAL_BEHAVIOUR - USER_DATA_CONGESTION - NSI_LOAD_LEVEL - SM_CONGESTION - DISPERSION - RED_TRANS_EXP - WLAN_PERFORMANCE - DN_PERFORMANCE - 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. description: | Possible values are: - LOAD_LEVEL_INFORMATION: Represent the analytics of load level information of corresponding network slice. - NETWORK_PERFORMANCE: Represent the analytics of network performance information. - NF_LOAD: Indicates that the event subscribed is NF Load. - SERVICE_EXPERIENCE: Represent the analytics of service experience information of the specific applications. - UE_MOBILITY: Represent the analytics of UE mobility. - UE_COMMUNICATION: Represent the analytics of UE communication. - QOS_SUSTAINABILITY: Represent the analytics of QoS sustainability information in the certain area. - ABNORMAL_BEHAVIOUR: Indicates that the event subscribed is abnormal behaviour information. - USER_DATA_CONGESTION: Represent the analytics of the user data congestion in the certain area. - NSI_LOAD_LEVEL: Represent the analytics of Network Slice and the optionally associated Network Slice Instance. - SM_CONGESTION: Represent the analytics of Session Management congestion control experience information for specific DNN and/or S-NSSAI. - DISPERSION: Represents the analytics of dispersion. - RED_TRANS_EXP: Represents the analytics of Redundant Transmission Experience. - WLAN_PERFORMANCE: Represents the analytics of WLAN performance. - DN_PERFORMANCE: Represents the analytics of DN performance. ContextType: anyOf: - type: string enum: - PENDING_ANALYTICS - HISTORICAL_ANALYTICS - AGGR_SUBS - DATA - AGGR_INFO - ML_MODELS - 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. description: | Possible values are: - PENDING_ANALYTICS: Represents context information that relates to pending output analytics. - HISTORICAL_ANALYTICS: Represents context information that relates to historical output analytics. - AGGR_SUBS: Represents context information about the analytics subscriptions that an NWDAF has with other NWDAFs that collectively serve an analytics subscription. - DATA: Represents context information about historical data that is available. - AGGR_INFO: Represents context information that is related to aggregation of analytics from multiple NWDAF subscriptions. - ML_MODELS: Represents context information about used ML models. AdrfDataType: anyOf: - type: string enum: - HISTORICAL_ANALYTICS - HISTORICAL_DATA - 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. description: | Possible values are: - HISTORICAL_ANALYTICS: Indicates that historical analytics are stored in the ADRF. - HISTORICAL_DATA: Indicates that historical data are stored in the ADRF.