openapi: 3.2.0 info: title: 3gpp-traffic-influence Traffic Influence Subscription API version: 1.4.1 description: "API for AF traffic influence \n© 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" 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. security: - {} - oAuth2ClientCredentials: [] tags: - name: Traffic Influence Subscription 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: required: true content: application/json: schema: $ref: '#/components/schemas/EventNotification' callbacks: afAcknowledgement: '{$request.body#/afAckUri}': post: requestBody: 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: 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 components: 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 AfResultStatus: anyOf: - type: string enum: - SUCCESS - TEMPORARY_CONGESTION - RELOC_NO_ALLOWED - OTHER - 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: "Represents the status of application handling result. \nPossible values are:\n- SUCCESS: The application layer is ready or the relocation is completed.\n- TEMPORARY_CONGESTION: The application relocation fails due to temporary congestion.\n- RELOC_NO_ALLOWED: The application relocation fails because application relocation\n is not allowed.\n- OTHER: The application relocation fails due to other reason.\n" HeaderHandlingReport: description: 'Represents the header handling action request. ' properties: afTransId: type: string repEvents: type: array items: $ref: TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/HeaderHandlingActionRequest minItems: 1 description: 'Contains multiple sets of header handling reports. ' required: - afTransId - repEvents AfAckInfo: description: Represents acknowledgement information of a traffic influence event notification. type: object properties: afTransId: type: string ackResult: $ref: '#/components/schemas/AfResultInfo' gpsi: $ref: TS29571_CommonData.yaml#/components/schemas/Gpsi required: - ackResult TrafficDataSet: description: 'Represents a set of traffic filters and the corresponding N6 traffic routing requirements. ' properties: setId: type: string trafficFilters: type: array items: $ref: TS29122_CommonData.yaml#/components/schemas/FlowInfo minItems: 1 ethTrafficFilters: type: array items: $ref: TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription minItems: 1 trafficRoutes: type: array items: $ref: TS29571_CommonData.yaml#/components/schemas/RouteToLocation minItems: 1 required: - setId - trafficRoutes oneOf: - required: - trafficFilters - required: - ethTrafficFilters 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 SubscribedEvent: anyOf: - type: string enum: - UP_PATH_CHANGE - TRAFF_ROUTE_REQ_OUTCOME - SIM_CONN_FAIL - 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: "Represents the type of UP path management events for which the AF requests to be notified. \nPossible values are:\n- UP_PATH_CHANGE: The AF requests to be notified when the UP path changes for\n the PDU session.\n- TRAFF_ROUTE_REQ_OUTCOME: The AF requests to be notified of the installation outcome of\n the traffic routing requirements requested by the AF.\n- SIM_CONN_FAIL: The AF requests to be notified if the requested Simultaneous Connectivity\n over the source and the target PDU Session Anchor fails.\n" securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} 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/