3GPP TS 29.522 Traffic Influence API

API for AF traffic influence. An OpenAPI 3.0.0 document with 2 path(s), API version 1.4.1, published verbatim by 3GPP in 3GPP TS 29.522 as part of the 5G NEF Northbound (Network Exposure) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts29522-trafficinfluence.yml Raw ↑
openapi: 3.0.0

info:
  title: 3gpp-traffic-influence
  version: 1.4.1
  description: |
    API for AF traffic influence  
    © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: >
    3GPP TS 29.522 V19.6.0; 5G System; Network Exposure Function Northbound APIs.
  url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/'

security:
  - {}
  - oAuth2ClientCredentials: []

servers:
  - url: '{apiRoot}/3gpp-traffic-influence/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:
  /{afId}/subscriptions:
    parameters:
      - name: afId
        in: path
        description: Identifier of the AF
        required: true
        schema:
          type: string
    get:
      summary: read all of the active subscriptions for the AF
      operationId: ReadAllSubscriptions
      tags:
        - Traffic Influence Subscription
      responses:
        '200':
          description: OK. 
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TrafficInfluSub'
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '406':
          $ref: 'TS29122_CommonData.yaml#/components/responses/406'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

    post:
      summary: Creates a new subscription resource 
      operationId: CreateNewSubscription
      tags:
        - Traffic Influence Subscription
      requestBody:
        description: Request to create a new subscription resource
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrafficInfluSub'
      callbacks:
        notificationDestination:
          '{$request.body#/notificationDestination}':
            post:
              requestBody:  # contents of the callback message
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/EventNotification'
              callbacks:
                afAcknowledgement:
                  '{$request.body#/afAckUri}':
                    post:
                      requestBody:  # contents of the callback message
                        required: true
                        content:
                          application/json:
                            schema:
                              $ref: '#/components/schemas/AfAckInfo'
                      responses:
                        '204':
                          description: No Content (successful acknowledgement)
                        '307':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
                        '308':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
                        '400':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
                        '401':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
                        '403':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
                        '404':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
                        '411':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
                        '413':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
                        '415':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
                        '429':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
                        '500':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
                        '503':
                          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
                        default:
                          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
              responses:
                '204':
                  description: No Content (successful notification)
                '307':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/400'
                '401':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/401'
                '403':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/500'
                '503':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/503'
                default:
                  $ref: 'TS29122_CommonData.yaml#/components/responses/default'
        eventNotificationPayloadHeaders:
          '{$request.body#/notificationDestination}':
            post:
              requestBody:  # contents of the callback message
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/HeaderHandlingReport'
              responses:
                '204':
                  description: No Content (successful notification)
                '307':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/308'
                '400':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/400'
                '401':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/401'
                '403':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/404'
                '411':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/411'
                '413':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/413'
                '415':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/415'
                '429':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/429'
                '500':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/500'
                '503':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/503'
                default:
                  $ref: 'TS29122_CommonData.yaml#/components/responses/default'
      responses:
        '201':
          description: Created (Successful creation of subscription)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluSub'
          headers:
            Location:
              description: Contains the URI of the newly created resource.
              required: true
              schema:
                type: string
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

  /{afId}/subscriptions/{subscriptionId}:
    parameters:
      - name: afId
        in: path
        description: Identifier of the AF
        required: true
        schema:
          type: string
      - name: subscriptionId
        in: path
        description: Identifier of the subscription resource
        required: true
        schema:
          type: string
    get:
      summary: read an active subscriptions for the SCS/AS and the subscription Id
      operationId: ReadAnSubscription
      tags:
        - Individual Traffic Influence Subscription
      responses:
        '200':
          description: OK (Successful get the active subscription)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluSub'
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '406':
          $ref: 'TS29122_CommonData.yaml#/components/responses/406'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

    put:
      summary: Fully updates/replaces an existing subscription resource
      operationId: FullyUpdateAnSubscription
      tags:
        - Individual Traffic Influence Subscription
      requestBody:
        description: Parameters to update/replace the existing subscription
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrafficInfluSub'
      responses:
        '200':
          description: OK (Successful update of the subscription)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluSub'
        '204':
          description: No Content
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

    patch:
      summary: Partially updates/replaces an existing subscription resource
      operationId: PartialUpdateAnSubscription
      tags:
        - Individual Traffic Influence Subscription
      requestBody:
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/TrafficInfluSubPatch'
      responses:
        '200':
          description: OK. The subscription was modified successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluSub'
        '204':
          description: No Content
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '411':
          $ref: 'TS29122_CommonData.yaml#/components/responses/411'
        '413':
          $ref: 'TS29122_CommonData.yaml#/components/responses/413'
        '415':
          $ref: 'TS29122_CommonData.yaml#/components/responses/415'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

    delete:
      summary: Deletes an already existing subscription
      operationId: DeleteAnSubscription
      tags:
        - Individual Traffic Influence Subscription
      responses:
        '204':
          description: No Content (Successful deletion of the existing subscription)
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29122_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29122_CommonData.yaml#/components/responses/401'
        '403':
          $ref: 'TS29122_CommonData.yaml#/components/responses/403'
        '404':
          $ref: 'TS29122_CommonData.yaml#/components/responses/404'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          $ref: 'TS29122_CommonData.yaml#/components/responses/500'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'

components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}

  schemas: 
    TrafficInfluSub:
      description: Represents a traffic influence subscription.
      type: object
      properties:
        afServiceId:
          type: string
          description: Identifies a service on behalf of which the AF is issuing the request.
        afAppId:
          type: string
          description: Identifies an application.
        afTransId:
          type: string
          description: Identifies an NEF Northbound interface transaction, generated by the AF.
        appReloInd:
          type: boolean
          description: >
            Identifies whether an application can be relocated once a location of
            the application has been selected.
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        externalGroupId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'
        externalGroupIds:
          type: array
          items:
             $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'
          minItems: 1
          description: Each element identifies a group of users.
        extSubscCats:
          type: array
          items:
            type: string
          minItems: 1
        anyUeInd:
          type: boolean
          description: >
            Identifies whether the AF request applies to any UE. This attribute shall
            set to "true" if applicable for any UE, otherwise, set to "false".
        subscribedEvents:
          type: array
          items:
            $ref: '#/components/schemas/SubscribedEvent'
          minItems: 1
          description: Identifies the requirement to be notified of the event(s).
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        ipv4Addr:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'
        ipDomain:
          type: string
        ipv6Addr:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr'
        macAddr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
        dnaiChgType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType'
        notificationDestination:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        requestTestNotification:
          type: boolean
          description: >
            Set to true by the SCS/AS to request the NEF to send a test notification
            as defined in clause 5.2.5.3. Set to false or omitted otherwise.
        websockNotifConfig:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig'
        self:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        trafficDataSets:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/TrafficDataSet'
          minProperties: 2
          description: >
            Contains multiple sets of traffic filters with the corresponding N6 traffic 
            routing requirements. The key of the map shall be the value of the setId attribute of 
            the TrafficDataSet data structure.
        trafficFilters:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
          minItems: 1
          description: Identifies IP packet filters.
        ethTrafficFilters:
          type: array
          items:
            $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
          minItems: 1
          description: Identifies Ethernet packet filters.
        trafficRoutes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
          description: Identifies the N6 traffic routing requirement.
        sfcIdDl:
          type: string
          description: >
            Reference to a pre-configured steering of user traffic to service function chain in
            downlink.
        sfcIdUl:
          type: string
          description: >
            Reference to a pre-configured steering of user traffic to service function chain in
            uplink.
        metadata:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Metadata'
        tfcCorrInd:
          type: boolean
        tempValidities:
          type: array
          items:
            $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity'
        validGeoZoneIds:
          type: array
          items:
            type: string
          minItems: 1
          description: >
            Identifies a geographic zone that the AF request applies only to the traffic
            of UE(s) located in this specific zone.
          deprecated: true
        geoAreas:
          type: array
          items:
            $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea'
          minItems: 1
          description: Identifies geographical areas within which the AF request applies.
        afAckInd:
          type: boolean
        addrPreserInd:
          type: boolean
        simConnInd:
          type: boolean
          description: >
            Indicates whether simultaneous connectivity should be temporarily
            maintained for the source and target PSA.
        simConnTerm:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        maxAllowedUpLat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        easIpReplaceInfos:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/EasIpReplacementInfo'
          minItems: 1
          description: Contains EAS IP replacement information.
        easRedisInd:
          type: boolean
          description: >
            Indicates the EAS rediscovery is required for the application if it is included
            and set to "true".
        eventReq:
          $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation'
        eventReports:
          type: array
          items:
            $ref: '#/components/schemas/EventNotification'
          minItems: 1
        candDnaiInd:
          type: boolean
          description: >
            Indicates whether the reporting of the candidate DNAI(s) is requested.
            true indicates that the reporting of the candidate DNAI(s) is requested for the PDU
            session.
            false indicates that the reporting of the candidate DNAI(s) is not requested for the PDU
            session.
            The default value is false if this attribute is omitted.
        tfcCorreInfo:
          $ref: 'TS29519_Application_Data.yaml#/components/schemas/TrafficCorrelationInfo'
        plmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        portNumber:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Port'
        n6DelayInd:
          type: boolean
        hHndlgControInfo:
          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AfHeaderHandlingControlInfo'
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      allOf:
        - oneOf:
          - required: [afAppId]
          - required: [trafficFilters]
          - required: [ethTrafficFilters]
          - required: [trafficDataSets]
        - oneOf:
          - required: [ipv4Addr]
          - required: [ipv6Addr]
          - required: [macAddr]
          - required: [gpsi]
          - required: [externalGroupId]
          - required: [anyUeInd]
      anyOf:
        - not:
            required: [subscribedEvents]
        - required: [notificationDestination]

    TrafficInfluSubPatch:
      description: >
        Represents parameters to request the modification of a traffic influence
        subscription resource.
      type: object
      properties:
        appReloInd:
          type: boolean
          description: >
            Identifies whether an application can be relocated once a location of
            the application has been selected.
          nullable: true
        trafficDataSets:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/TrafficDataSetRm'
          minProperties: 1
          description: >
            Contains one or several set(s) of traffic filters with the corresponding N6 traffic 
            routing requirements. The key of the map shall be the value of the setId attribute of 
            the TrafficDataSet data structure.
        trafficFilters:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
          minItems: 1
          description: Identifies IP packet filters.
        ethTrafficFilters:
          type: array
          items:
            $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
          minItems: 1
          description: Identifies Ethernet packet filters.
        trafficRoutes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
          description: Identifies the N6 traffic routing requirement.
        sfcIdDl:
          type: string
          description: >
            Reference to a pre-configured steering of user traffic to service function chain in
            downlink.
          nullable: true
        sfcIdUl:
          type: string
          description: >
            Reference to a pre-configured steering of user traffic to service function chain in
            uplink.
          nullable: true
        metadata:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Metadata'
        tfcCorrInd:
          type: boolean
          nullable: true
        tempValidities:
          type: array
          items:
            $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TemporalValidity'
          minItems: 1
          nullable: true
        validGeoZoneIds:
          type: array
          items:
            type: string
          minItems: 1
          description: >
            Identifies a geographic zone that the AF request applies only to the traffic
            of UE(s) located in this specific zone.
          nullable: true
          deprecated: true
        geoAreas:
          type: array
          items:
            $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea'
          minItems: 1
          description: Identifies geographical areas within which the AF request applies.
          nullable: true
        afAckInd:
          type: boolean
          nullable: true
        addrPreserInd:
          type: boolean
          nullable: true
        simConnInd:
          type: boolean
          description: >
            Indicates whether simultaneous connectivity should be temporarily maintained
            for the source and target PSA.
        simConnTerm:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        maxAllowedUpLat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UintegerRm'
        easIpReplaceInfos:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/EasIpReplacementInfo'
          minItems: 1
          description: Contains EAS IP replacement information.
          nullable: true
        easRedisInd:
          type: boolean
          description: >
            Indicates the EAS rediscovery is required for the application if it is included
            and set to "true".
        notificationDestination:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        eventReq:
          $ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation'
        tfcCorreInfo:
          $ref: 'TS29519_Application_Data.yaml#/components/schemas/TrafficCorrelationInfo'
        n6DelayInd:
          type: boolean
          nullable: true
        hHndlgControInfo:
          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AfHeaderHandlingControlInfo'

    EventNotification:
      description: Represents a traffic influence event notification.
      type: object
      properties:
        afTransId:
          type: string
          description: Identifies an NEF Northbound interface transaction, generated by the AF.
        dnaiChgType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType'
        sourceTrafficRoute:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
        subscribedEvent:
          $ref: '#/components/schemas/SubscribedEvent'
        targetTrafficRoute:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
        sourceDnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        targetDnai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
        traffRouteReqOutcome:
          $ref: 'TS29508_Nsmf_EventExposure.yaml#/components/schemas/TraffRouteReqOutcome'
        candidateDnais:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
          description: The candidate DNAI(s) for the PDU Session.
        candDnaisPrioInd:
          type: boolean
          description: >
            Indicates whether the candidate DNAI(s) provided within the candidateDnais attribute are
            in descending priority order, i.e., the lower the array index of the candidateDnais
            attribute the higher the priority of the respective DNAI.
            true indicates that the candidate DNAI(s) provided within the candidateDnais attribute
            are in descending priority order.
            false indicates that the candidate DNAI(s) provided within the candidateDnais attribute
            are not in descending priority order.
            The default value is false if this attribute is omitted.
            This attribute may only be present if the candidateDnais attribute is also present and
            the dnaiChgType attribute is set to the value "EARLY".
        easRediscoverInd:
          type: boolean
          description: >
            Indication of EAS re-discovery. If present and set to "true", it indicates the EAS
            re-discovery is performed, e.g. due to change of common EAS. Default value is "false" if
            omitted. May be included for event "UP_PATH_CHANGE".
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        srcUeIpv4Addr:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'
        srcUeIpv6Prefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        tgtUeIpv4Addr:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr'
        tgtUeIpv6Prefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        ueMac:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
        afAckUri:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        offloadPlmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'
        hDnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        hSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        suppFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - subscribedEvent

    AfResultInfo:
      description: Identifies the result of application layer handling.
      type: object
      properties:
        afStatus:
          $ref: '#/components/schemas/AfResultStatus'
        trafficRoute:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
        upBuffInd:
          type: boolean
          description: >
            If present and set to "true" it indicates that buffering of uplink traffic
            to the target DNAI is needed.
        easIpReplaceInfos:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/EasIpReplacementInfo'
          minItems: 1
          description: Contains EAS IP replacement information.
      required:
        - afStatus

    AfAckInfo:
      description: Represents acknowledgement information of a traffic influence event notification.
      type: object
      properties:
        afTransId:
          type: string
        ackResult

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/3gpp/refs/heads/main/openapi/3gpp-ts29522-trafficinfluence.yml