3GPP TS 29.520 Nnwdaf Events Subscription API

Nnwdaf_EventsSubscription Service API. An OpenAPI 3.0.0 document with 4 path(s), API version 1.2.0, published verbatim by 3GPP in 3GPP TS 29.520 as part of the Network Data Analytics (NWDAF) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts29520-nnwdaf-eventssubscription.yml Raw ↑
openapi: 3.0.0

info:
  version: 1.2.0
  title: Nnwdaf_EventsSubscription
  description: |
    Nnwdaf_EventsSubscription Service API.  
    © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: 3GPP TS 29.520 V17.7.0; 5G System; Network Data Analytics Services.
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.520/'

security:
  - {}
  - oAuth2ClientCredentials:
    - nnwdaf-eventssubscription

servers:
  - url: '{apiRoot}/nnwdaf-eventssubscription/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501.

paths:
  /subscriptions:
    post:
      summary: Create a new Individual NWDAF Events Subscription
      operationId: CreateNWDAFEventsSubscription
      tags:
        - NWDAF Events Subscriptions (Collection)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NnwdafEventsSubscription'
      responses:
        '201':
          description: Create a new Individual NWDAF Event Subscription resource.
          headers:
            Location:
              description: >
                Contains the URI of the newly created resource, according to the structure
                {apiRoot}/nnwdaf-eventssubscription/<apiVersion>/subscriptions/{subscriptionId}
              required: true
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NnwdafEventsSubscription'
        '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#/notificationURI}': 
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      type: array
                      items:
                        $ref: '#/components/schemas/NnwdafEventsSubscriptionNotification'
                      minItems: 1
              responses:
                '204':
                  description: The receipt of the Notification is acknowledged.
                '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}:
    delete:
      summary: Delete an existing Individual NWDAF Events Subscription
      operationId: DeleteNWDAFEventsSubscription
      tags:
        - Individual NWDAF Events Subscription (Document)
      parameters:
        - name: subscriptionId
          in: path
          description: String identifying a subscription to the Nnwdaf_EventsSubscription Service
          required: true
          schema:
            type: string
      responses:
        '204':
          description: >
            No Content. The Individual NWDAF Event Subscription resource matching the subscriptionId 
            was 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':
          description: The Individual NWDAF Event Subscription resource does not exist.
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '429':
          $ref: 'TS29571_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '501':
          $ref: 'TS29571_CommonData.yaml#/components/responses/501'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
    put:
      summary: Update an existing Individual NWDAF Events Subscription
      operationId: UpdateNWDAFEventsSubscription
      tags:
        - Individual NWDAF Events Subscription (Document)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NnwdafEventsSubscription'
      parameters:
        - name: subscriptionId
          in: path
          description: String identifying a subscription to the Nnwdaf_EventsSubscription Service
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >
            The Individual NWDAF Event Subscription resource was modified successfully and a 
            representation of that resource is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NnwdafEventsSubscription'
        '204':
          description: The Individual NWDAF Event Subscription resource was modified successfully.
        '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':
          description: The Individual NWDAF Event Subscription resource does not exist.
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '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'
        '501':
          $ref: 'TS29571_CommonData.yaml#/components/responses/501'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

  /transfers:
    post:
      summary: Provide information about requested analytics subscriptions transfer and potentially create a new Individual NWDAF Event Subscription Transfer resource.
      operationId: CreateNWDAFEventSubscriptionTransfer
      tags:
        - NWDAF Event Subscription Transfers (Collection)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnalyticsSubscriptionsTransfer'
      responses:
        '201':
          description: Create a new Individual NWDAF Event Subscription Transfer resource.
          headers:
            Location:
              description: >
                Contains the URI of the newly created resource, according to the structure
                {apiRoot}/nnwdaf-eventssubscription/<apiVersion>/transfers/{transferId}
              required: true
              schema:
                type: string
        '204':
          description: >
            No Content. The receipt of the information about analytics subscription(s) that are
            requested to be transferred and the ability to handle this information (e.g. execute the
            steps required to transfer an analytics subscription directly) is confirmed.
        '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'

  /transfers/{transferId}:
    delete:
      summary: Delete an existing Individual NWDAF Event Subscription Transfer
      operationId: DeleteNWDAFEventSubscriptionTransfer
      tags:
        - Individual NWDAF Event Subscription Transfer (Document)
      parameters:
        - name: transferId
          in: path
          description: >
            String identifying a request for an analytics subscription transfer to the 
            Nnwdaf_EventsSubscription Service
          required: true
          schema:
            type: string
      responses:
        '204':
          description: >
            No Content. The Individual NWDAF Event Subscription Transfer resource matching the 
            transferId was 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'
        '501':
          $ref: 'TS29571_CommonData.yaml#/components/responses/501'
        '503':
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'
    put:
      summary: Update an existing Individual NWDAF Event Subscription Transfer
      operationId: UpdateNWDAFEventSubscriptionTransfer
      tags:
        - Individual NWDAF Event Subscription Transfer (Document)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnalyticsSubscriptionsTransfer'
      parameters:
        - name: transferId
          in: path
          description: >
            String identifying a request for an analytics subscription transfer to the 
            Nnwdaf_EventsSubscription Service
          required: true
          schema:
            type: string
      responses:
        '204':
          description: >
            The Individual NWDAF Event Subscription Transfer resource was modified successfully.
        '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'
        '501':
          $ref: 'TS29571_CommonData.yaml#/components/responses/501'
        '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-eventssubscription: Access to the Nnwdaf_EventsSubscription API

  schemas:

    NnwdafEventsSubscription:
      description: Represents an Individual NWDAF Event Subscription resource.
      type: object
      properties:
        eventSubscriptions:
          type: array
          items:
            $ref: '#/components/schemas/EventSubscription'
          minItems: 1
          description: Subscribed events
#        evtReq:
#          $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation'
        notificationURI:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        notifCorrId:
          type: string
          description: Notification correlation identifier.
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        eventNotifications:
          type: array
          items:
            $ref: '#/components/schemas/EventNotification'
          minItems: 1
        failEventReports:
          type: array
          items:
            $ref: '#/components/schemas/FailureEventInfo'
          minItems: 1
        prevSub:
          $ref: '#/components/schemas/PrevSubInfo'
        consNfInfo:
          $ref: '#/components/schemas/ConsumerNfInformation'
      required:
        - eventSubscriptions

    EventSubscription:
      description: Represents a subscription to a single event.
      type: object
      properties:
        anySlice:
          $ref: '#/components/schemas/AnySlice'
        appIds:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
          minItems: 1
          description: Identification(s) of application to which the subscription applies.
        dnns:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
          minItems: 1
          description: Identification(s) of DNN to which the subscription applies.
        dnais:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        event:
          $ref: '#/components/schemas/NwdafEvent'
        extraReportReq:
          $ref: '#/components/schemas/EventReportingRequirement'
        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.
        loadLevelThreshold:
          type: integer
          description: >
            Indicates that the NWDAF shall report the corresponding network slice load level to the NF 
            service consumer where the load level of the network slice identified by snssais is 
            reached.
        notificationMethod:
          $ref: '#/components/schemas/NotificationMethod'
        matchingDir:
          $ref: '#/components/schemas/MatchingDirection'
        nfLoadLvlThds:
          type: array
          items:
            $ref: '#/components/schemas/ThresholdLevel'
          minItems: 1
          description: >
            Shall be supplied in order to start reporting when an average load level is reached.
        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
#        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'
        nsiIdInfos:
          type: array
          items:
            $ref: '#/components/schemas/NsiIdInfo'
          minItems: 1
        nsiLevelThrds:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
          minItems: 1
        qosRequ:
          $ref: '#/components/schemas/QosRequirement'
        qosFlowRetThds:
          type: array
          items:
            $ref: '#/components/schemas/RetainabilityThreshold'
          minItems: 1
        ranUeThrouThds:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
          minItems: 1
        repetitionPeriod:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        snssaia:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1
          description: >
            Identification(s) of network slice to which the subscription applies. It corresponds to 
            snssais in the data model definition of 3GPP TS 29.520. 
        tgtUe:
          $ref: '#/components/schemas/TargetUeInformation'
        congThresholds:
          type: array
          items:
            $ref: '#/components/schemas/ThresholdLevel'
          minItems: 1
        nwPerfRequs:
          type: array
          items:
            $ref: '#/components/schemas/NetworkPerfRequirement'
          minItems: 1
        bwRequs:
          type: array
          items:
            $ref: '#/components/schemas/BwRequirement'
          minItems: 1
        excepRequs:
          type: array
          items:
            $ref: '#/components/schemas/Exception'
          minItems: 1
        exptAnaType:
          $ref: '#/components/schemas/ExpectedAnalyticsType'
#        exptUeBehav:
#          $ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExpectedUeBehaviourData'
        ratFreqs:
          type: array
          items:
            $ref: '#/components/schemas/RatFreqInformation'
          minItems: 1
        listOfAnaSubsets:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsSubset'
          minItems: 1
        disperReqs:
          type: array
          items:
            $ref: '#/components/schemas/DispersionRequirement'
          minItems: 1
        redTransReqs:
          type: array
          items:
            $ref: '#/components/schemas/RedundantTransmissionExpReq'
          minItems: 1
        wlanReqs:
          type: array
          items:
            $ref: '#/components/schemas/WlanPerformanceReq'
          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: '#/components/schemas/DnPerformanceReq'
          minItems: 1
      required:
        - event

    NnwdafEventsSubscriptionNotification:
      description: Represents an Individual NWDAF Event Subscription Notification resource.
      type: object
      properties:
        eventNotifications:
          type: array
          items:
            $ref: '#/components/schemas/EventNotification'
          minItems: 1
          description: Notifications about Individual Events
        subscriptionId:
          type: string
          description: String identifying a subscription to the Nnwdaf_EventsSubscription Service
        notifCorrId:
          type: string
          description: Notification correlation identifier.
        oldSubscriptionId:
          type: string
          description: >
            Subscription ID which was allocated by the source NWDAF. This parameter shall be present
            if the notification is for informing the assignment of a new Subscription Id by the
            target NWDAF.
      required:
        - subscriptionId
      oneOf:
        - required: [eventNotifications]
        - required: [oldSubscriptionId]

    EventNotification:
      description: Represents a notification on events that occurred.
      type: object
      properties:
        event:
          $ref: '#/components/schemas/NwdafEvent'
        start:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        expiry:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        timeStampGen:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        failNotifyCode:
          $ref: '#/components/schemas/NwdafFailureCode'
        rvWaitTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        anaMetaInfo:
          $ref: '#/components/schemas/AnalyticsMetadataInfo'
        nfLoadLevelInfos:
          type: array
          items:
            $ref: '#/components/schemas/NfLoadLevelInformation'
          minItems: 1
        nsiLoadLevelInfos:
          type: array
          items:
            $ref: '#/components/schemas/NsiLoadLevelInfo'
          minItems: 1
        sliceLoadLevelInfo:
          $ref: '#/components/schemas/SliceLoadLevelInformation'
        svcExps:
          type: array
          items:
            $ref: '#/components/schemas/ServiceExperienceInfo'
          minItems: 1
        qosSustainInfos:
          type: array
          items:
            $ref: '#/components/schemas/QosSustainabilityInfo'
          minItems: 1
        ueComms:
          type: array
          items:
            $ref: '#/components/schemas/UeCommunication'
          minItems: 1
        ueMobs:
          type: array
          items:
            $ref: '#/components/schemas/UeMobility'
          minItems: 1
        userDataCongInfos:
          type: array
          items:
            $ref: '#/components/schemas/UserDataCongestionInfo'
          minItems: 1
        abnorBehavrs:
          type: array
          items:
            $ref: '#/components/schemas/AbnormalBehaviour'
          minItems: 1
        nwPerfs:
          type: array
          items:
            $ref: '#/components/schemas/NetworkPerfInfo'
          minItems: 1
        dnPerfInfos:
          type: array
          items:
            $ref: '#/components/schemas/DnPerfInfo'
          minItems: 1
        disperInfos:
          type: array
          items:
            $ref: '#/components/schemas/DispersionInfo'
          minItems: 1
        redTransInfos:
          type: array
          items:
            $ref: '#/components/schemas/RedundantTransmissionExpInfo'
          minItems: 1
        wlanInfos:
          type: array
          items:
            $ref: '#/components/schemas/WlanPerformanceInfo'
          minItems: 1
#        smccExps:
#          type: array
#          items:
#            $ref: 'TS29520_Nnwdaf_AnalyticsInfo.yaml#/components/schemas/SmcceInfo'
#          minItems: 1
      required:
        - event

    ServiceExperienceInfo:
      description: Represents service experience information.
      type: object
      properties:
#        svcExprc:
#          $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/SvcExperience'
        svcExprcVariance:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        supis:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
          minItems: 1
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        appId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
        srvExpcType:
          $ref: '#/components/schemas/ServiceExperienceType'
        ueLocs:
          type: array
          items:
            $ref: '#/components/schemas/LocationInfo'
          minItems: 1
#        upfInfo:
#          $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/UpfInformation'
        dnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
#        appServerInst:
#          $ref: 'TS29517_Naf_EventExposure.yaml#/components/schemas/AddrFqdn'
        confidence:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
#        networkArea:
#          $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo'
#        nsiId:
#          $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId'
        ratio:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio'
        ratFreq:
          $ref: '#/components/schemas/RatFreqInformation'
      required:
        - svcExprc

    BwRequirement:
      description: Represents bandwidth requirements.
      type: object
      properties:
        appId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
        marBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        marBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        mirBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        mirBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
      required:
        - appId

    SliceLoadLevelInformation:
      description: Contains load level information applicable for one or several slices.
      type: object
      properties:
        loadLevelInformation:
          $ref: '#/components/schemas/LoadLevelInformation'
        snssais:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1
          description: Identification(s) of network slice to which the subscription applies.
      required:
        - loadLevelInformation
        - snssais

    NsiLoadLevelInfo:
      description: >
            Represents the network slice and optionally the associated network slice instance and the 
            load level information.
      type: object
      properties:
        loadLevelInformation:
          $ref: '#/components/schemas/LoadLevelInformation'
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
#        nsiId:
#          $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId'
        resUsage:
          $ref: '#/components/schemas/ResourceUsage'
        numOfExceedLoadLevelThr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        exceedLoadLevelThrInd:
          type: boolean
#        networkArea:
#          $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo'
#        timePeriod:
#          $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow'
        numOfUes:
          $ref: '#/components/schemas/NumberAverage'
        numOfPduSess:
          $ref: '#/components/schemas/NumberAverage'
        confidence:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
      required:
        - loadLevelInformation
        - snssai

    NsiIdInfo:
      description: Represents the S-NSSAI and the optionally associated Network Slice Instance(s).
      type: object
      properties:
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
#        nsiIds:
#         type: array
#          items:
#            $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/NsiId'
#          minItems: 1
      required:
        - snssai

    EventReportingRequirement:
      description: Represents the type of reporting that the subscription requires.
      type: object
      properties:
        accuracy:
          $ref: '#/components/schemas/Accuracy'
        accPerSubset:
          type: array
          items:
            $ref: '#/components/schemas/Accuracy'
          minItems: 1
          description: >
            Each element indicates the preferred accuracy level per analytics subset. It may be
            present if the "listOfAnaSubsets" attribute is present in the subscription request when
            the subscription event is NF_LOAD, UE_COMM, DISPERSION, NETWORK_PERFORMANCE,
            WLAN_PERFORMANCE, DN_PERFORMANCE or SERVICE_EXPERIENCE.
        startTs:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        endTs:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        offsetPeriod:
          type: integer
          description: >
            Offset period in units of seconds to the reporting time, if the value is negative means 
            statistics in the past offset period, otherwise a positive value means prediction in the 
            future offset period. May be present if the "repPeriod" attribute is included within the 
            "evtReq" attribute.
        sampRatio:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SamplingRatio'
        maxObjectNbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        maxSupiNbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        timeAnaNeeded:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        anaMeta:
          type: array
          items:
            $ref: '#/components/schemas/AnalyticsMetadata'
          minItems: 1
        anaMetaInd:
          $ref: '#/components/schemas/AnalyticsMetadataIndication'

    TargetUeInformation:
      description: Identifies the target UE information.
      type: object
      properties:
        anyUe:
          type: boolean
        supis:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
          minItems: 1
        gpsis:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
          minIte

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/3gpp/refs/heads/main/openapi/3gpp-ts29520-nnwdaf-eventssubscription.yml