3GPP TS 29.512 Npcf SM Policy Control API

Session Management Policy Control Service. An OpenAPI 3.0.0 document with 4 path(s), API version 1.1.7, published verbatim by 3GPP in 3GPP TS 29.512 as part of the Policy Control (PCF) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts29512-npcf-smpolicycontrol.yml Raw ↑
##### Special note: CT R16 local copy for SA5 OAM Forge branch only, it shall not be used otherwise. S5-222029 on 4.4.2022
# Partial commented out: (impacted attributes)
#  RuleReport SmPolicyContextData SmPolicyUpdateContextData SmPolicyDecision
#  PccRule TrafficControlData FlowInformation QosNotificationControlInfo ServingNfIdentity
#  UsageMonitoringData AccuUsageReport
openapi: 3.0.0
info:
  title: Npcf_SMPolicyControl API
  version: 1.1.7
  description: |
    Session Management Policy Control Service
    © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 29.512 V16.11.0; 5G System; Session Management Policy Control Service.
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.512/'
security:
  - {}
  - oAuth2Clientcredentials:
    - npcf-smpolicycontrol
servers:
  - url: '{apiRoot}/npcf-smpolicycontrol/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
paths:
  /sm-policies:
    post:
      summary: Create a new Individual SM Policy
      operationId: CreateSMPolicy
      tags:
        - SM Policies (Collection)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmPolicyContextData'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmPolicyDecision'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource'
              required: true
              schema:
                type: string
        '308':
          description: Permanent Redirect
          headers:
            Location:
              description: 'Contains the URI of the PCF within the existing PCF binding information stored in the BSF for the same UE ID, S-NSSAI and DNN combination '
              required: true
              schema:
                type: string
        '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: Not Found
        '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:
        SmPolicyUpdateNotification:
          '{$request.body#/notificationUri}/update': 
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/SmPolicyNotification'
              responses:
                '200':
                  description: OK. The current applicable values corresponding to the policy control request trigger is reported
                  content:
                    application/json:
                      schema:
                        oneOf:
                          - $ref: '#/components/schemas/UeCampingRep'
                          - type: array
                            items:
                              $ref: '#/components/schemas/PartialSuccessReport'
                            minItems: 1
                          - type: array
                            items:
                              $ref: '#/components/schemas/PolicyDecisionFailureCode'
                            minItems: 1
                '204':
                  description: No Content, Notification was succesfull
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '400':
                  description: Bad Request.
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/ErrorReport'
                '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'
        SmPolicyControlTerminationRequestNotification:
          '{$request.body#/notificationUri}/terminate': 
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/TerminationNotification'
              responses:
                '204':
                  description: No Content, Notification was successful
                '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'
  /sm-policies/{smPolicyId}:
    get:
      summary: Read an Individual SM Policy
      operationId: GetSMPolicy
      tags:
        - Individual SM Policy (Document)
      parameters:
        - name: smPolicyId
          in: path
          description: Identifier of a policy association
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. Resource representation is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmPolicyControl'
        '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'
        '406':
          $ref: 'TS29571_CommonData.yaml#/components/responses/406'
        '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'
  /sm-policies/{smPolicyId}/update:
    post:
      summary: Update an existing Individual SM Policy
      operationId: UpdateSMPolicy
      tags:
        - Individual SM Policy (Document)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmPolicyUpdateContextData'
      parameters:
        - name: smPolicyId
          in: path
          description: Identifier of a policy association
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. Updated policies are returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmPolicyDecision'
        '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'
  /sm-policies/{smPolicyId}/delete:
    post:
      summary: Delete an existing Individual SM Policy
      operationId: DeleteSMPolicy
      tags:
        - Individual SM Policy (Document)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SmPolicyDeleteData'
      parameters:
        - name: smPolicyId
          in: path
          description: Identifier of a policy association
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No content
        '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'
components:
  securitySchemes:
    oAuth2Clientcredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            npcf-smpolicycontrol: Access to the Npcf_SMPolicyControl API
  schemas:
    SmPolicyControl:
      type: object
      properties:
        context:
          $ref: '#/components/schemas/SmPolicyContextData'
        policy:
          $ref: '#/components/schemas/SmPolicyDecision'
      required:
        - context
        - policy
    SmPolicyContextData:
      type: object
      properties:
        accNetChId:
          $ref: '#/components/schemas/AccNetChId'
        chargEntityAddr:
          $ref: '#/components/schemas/AccNetChargingAddress'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        invalidSupi:
          type: boolean
          description: When this attribute is included and set to true, it indicates that the supi attribute contains an invalid value.This attribute shall be present if the SUPI is not available in the SMF or the SUPI is unauthenticated. When present it shall be set to true for an invalid SUPI and false (default) for a valid SUPI.
        interGrpIds:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
          minItems: 1
        pduSessionId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionId'
        pduSessionType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType'
        chargingcharacteristics:
          type: string
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
#        dnnSelMode:
#          $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/DnnSelectionMode'
        notificationUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        addAccessInfo:
          $ref: '#/components/schemas/AdditionalAccessInfo'
        servingNetwork:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        userLocationInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        ipv4Address:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ipv6AddressPrefix:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
        ipDomain:
          type: string
          description: Indicates the IPv4 address domain
        subsSessAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        authProfIndex:
          type: string
          description: Indicates the DN-AAA authorization profile index
        subsDefQos:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SubscribedDefaultQos'
#        vplmnQos:
#          $ref: 'TS29502_Nsmf_PDUSession.yaml#/components/schemas/VplmnQos'
        numOfPackFilter:
          type: integer
          description: Contains the number of supported packet filter for signalled QoS rules.
        online:
          type: boolean
          description: If it is included and set to true, the online charging is applied to the PDU session.
        offline:
          type: boolean
          description: If it is included and set to true, the offline charging is applied to the PDU session.
        3gppPsDataOffStatus:
          type: boolean
          description: If it is included and set to true, the 3GPP PS Data Off is activated by the UE.
        refQosIndication:
          type: boolean
          description: If it is included and set to true, the reflective QoS is supported by the UE.
        traceReq:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
        sliceInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        qosFlowUsage:
          $ref: '#/components/schemas/QosFlowUsage'
        servNfId:
          $ref: '#/components/schemas/ServingNfIdentity'
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        smfId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId'
        recoveryTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        maPduInd:
          $ref: '#/components/schemas/MaPduIndication'
        atsssCapab:
          $ref: '#/components/schemas/AtsssCapability'
        ipv4FrameRouteList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask'
          minItems: 1
        ipv6FrameRouteList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix'
          minItems: 1
      required:
        - supi
        - pduSessionId
        - pduSessionType
        - dnn
        - notificationUri
        - sliceInfo
    SmPolicyDecision:
      type: object
      properties:
        sessRules:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SessionRule'
          minProperties: 1
          description: A map of Sessionrules with the content being the SessionRule as described in subclause 5.6.2.7.
        pccRules:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PccRule'
          minProperties: 1
          description: A map of PCC rules with the content being the PCCRule as described in subclause 5.6.2.6.
          nullable: true
        pcscfRestIndication:
          type: boolean
          description: If it is included and set to true, it indicates the P-CSCF Restoration is requested.
        qosDecs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/QosData'
          minProperties: 1
          description: Map of QoS data policy decisions.
        chgDecs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ChargingData'
          minProperties: 1
          description: Map of Charging data policy decisions.
          nullable: true
        chargingInfo:
          $ref: '#/components/schemas/ChargingInformation'
        traffContDecs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/TrafficControlData'
          minProperties: 1
          description: Map of Traffic Control data policy decisions.
        umDecs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/UsageMonitoringData'
          minProperties: 1
          description: Map of Usage Monitoring data policy decisions.
          nullable: true
        qosChars:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/QosCharacteristics'
          minProperties: 1
          description: Map of QoS characteristics for non standard 5QIs. This map uses the 5QI values as keys.
        qosMonDecs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/QosMonitoringData'
          minProperties: 1
          description: Map of QoS Monitoring data policy decisions.
          nullable: true
        reflectiveQoSTimer:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        conds:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ConditionData'
          minProperties: 1
          description: A map of condition data with the content being as described in subclause 5.6.2.9.
          nullable: true
        revalidationTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        offline:
          type: boolean
          description: Indicates the offline charging is applicable to the PDU session when it is included and set to true.
        online:
          type: boolean
          description: Indicates the online charging is applicable to the PDU session when it is included and set to true.
        policyCtrlReqTriggers:
          type: array
          items:
            $ref: '#/components/schemas/PolicyControlRequestTrigger'
          minItems: 1
          description: Defines the policy control request triggers subscribed by the PCF.
          nullable: true
        lastReqRuleData:
          type: array
          items:
            $ref: '#/components/schemas/RequestedRuleData'
          minItems: 1
          description: Defines the last list of rule control data requested by the PCF.
        lastReqUsageData:
          $ref: '#/components/schemas/RequestedUsageData'
        praInfos:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm'
          minProperties: 1
          description: Map of PRA information.
          nullable: true
#        ipv4Index:
#          $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex'
#        ipv6Index:
#          $ref: 'TS29519_Policy_Data.yaml#/components/schemas/IpIndex'
        qosFlowUsage:
          $ref: '#/components/schemas/QosFlowUsage'
        relCause:
          $ref: '#/components/schemas/SmPolicyAssociationReleaseCause'
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        tsnBridgeManCont:
          $ref: '#/components/schemas/BridgeManagementContainer'
        tsnPortManContDstt:
          $ref: '#/components/schemas/PortManagementContainer'
        tsnPortManContNwtts:
          type: array
          items:
            $ref: '#/components/schemas/PortManagementContainer'
          minItems: 1
        redSessIndication:
          type: boolean
          description: Indicates whether the PDU session is a redundant PDU session. If absent it means the PDU session is not a redundant PDU session.
    SmPolicyNotification:
      type: object
      properties:
        resourceUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        smPolicyDecision:
          $ref: '#/components/schemas/SmPolicyDecision'
    PccRule:
      type: object
      properties:
        flowInfos:
          type: array
          items:
            $ref: '#/components/schemas/FlowInformation'
          minItems: 1
          description: An array of IP flow packet filter information.
        appId:
          type: string
          description: A reference to the application detection filter configured at the UPF.
        appDescriptor:
          $ref: '#/components/schemas/ApplicationDescriptor'
#        contVer:
#          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion'
        pccRuleId:
          type: string
          description: Univocally identifies the PCC rule within a PDU session.
        precedence:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        afSigProtocol:
          $ref: '#/components/schemas/AfSigProtocol'
        appReloc:
          type: boolean
          description: Indication of application relocation possibility.
        refQosData:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: A reference to the QosData policy decision type. It is the qosId described in subclause 5.6.2.8.
        refAltQosParams:
          type: array
          items:
            type: string
          minItems: 1
          description: A Reference to the QosData policy decision type for the Alternative QoS parameter sets of the service data flow.
        refTcData:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: A reference to the TrafficControlData policy decision type. It is the tcId described in subclause 5.6.2.10.
        refChgData:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: A reference to the ChargingData policy decision type. It is the chgId described in subclause 5.6.2.11.
          nullable: true
        refChgN3gData:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: A reference to the ChargingData policy decision type only applicable to Non-3GPP access if "ATSSS" feature is supported. It is the chgId described in subclause 5.6.2.11.
          nullable: true
        refUmData:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: A reference to UsageMonitoringData policy decision type. It is the umId described in subclause 5.6.2.12.
          nullable: true
        refUmN3gData:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: A reference to UsageMonitoringData policy decision type only applicable to Non-3GPP access if "ATSSS" feature is supported. It is the umId described in subclause 5.6.2.12. 
          nullable: true
        refCondData:
          type: string
          description: A reference to the condition data. It is the condId described in subclause 5.6.2.9.
          nullable: true
        refQosMon:
          type: array
          items:
            type: string
          minItems: 1
          maxItems: 1
          description: A reference to the QosMonitoringData policy decision type. It is the qmId described in subclause 5.6.2.40. 
          nullable: true
        addrPreserInd:
          type: boolean
          nullable: true
#        tscaiInputDl:
#          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer'
#        tscaiInputUl:
#          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer'
        ddNotifCtrl:
          $ref: '#/components/schemas/DownlinkDataNotificationControl'
        ddNotifCtrl2:
          $ref: '#/components/schemas/DownlinkDataNotificationControlRm'
        disUeNotif:
          type: boolean
          nullable: true
      required:
        - pccRuleId
      nullable: true
    SessionRule:
      type: object
      properties:
        authSessAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        authDefQos:
          $ref: '#/components/schemas/AuthorizedDefaultQos'
        sessRuleId:
          type: string
          description: Univocally identifies the session rule within a PDU session.
        refUmData:
          type: string
          description: A reference to UsageMonitoringData policy decision type. It is the umId described in subclause 5.6.2.12.
          nullable: true
        refUmN3gData:
          type: string
          description: A reference to UsageMonitoringData policy decision type to apply for Non-3GPP access. It is the umId described in subclause 5.6.2.12.
          nullable: true
        refCondData:
          type: string
          description: A reference to the condition data. It is the condId described in subclause 5.6.2.9.
          nullable: true
      required:
        - sessRuleId
      nullable: true
    QosData:
      type: object
      properties:
        qosId:
          type: string
          description: Univocally identifies the QoS control policy data within a PDU session.
        5qi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5Qi'
        maxbrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        maxbrDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        gbrUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        gbrDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        arp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Arp'
        qnc:
          type: boolean
          description: Indicates whether notifications are requested from 3GPP NG-RAN when the GFBR can no longer (or again) be guaranteed for a QoS Flow during the lifetime of the QoS Flow.
        priorityLevel:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/5QiPriorityLevelRm'
        averWindow:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AverWindowRm'
        maxDataBurstVol:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MaxDataBurstVolRm'
        reflectiveQos:
          type: boolean
          description: Indicates whether the QoS information is reflective for the corresponding service data flow.
        sharingKeyDl:
          type: string
          description: Indicates, by containing the same value, what PCC rules may share resource in downlink direction.
        sharingKeyUl:
          type: string
          description: Indicates, by containing the same value, what PCC rules may share resource in uplink direction.
        maxPacketLossRateDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        maxPacketLossRateUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        defQosFlowIndication:
          type: boolean
          description: Indicates that the dynamic PCC rule shall always have its binding with the QoS Flow associated with the default QoS rule
        extMaxDataBurstVol:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm'
        packetDelayBudget:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget'
        packetErrorRate:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketErrRate'
      required:
        - qosId
      nullable: true
    ConditionData:
      type: object
      properties:
        condId:
          type: string
          description: Uniquely identifies the condition data within a PDU session.
        activationTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm'
        deactivationTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTimeRm'
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
      required:
        - condId
      nullable: true
    TrafficControlData:
      type: object
      properties:
        tcId:
          type: string
          description: Univocally identifies the traffic control policy data within a PDU session.
#        flowStatus:
#          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus'
        redirectInfo:
          $ref: '#/components/schemas/RedirectInformation'
        addRedirectInfo:
          type: array
          items:
            $ref: '#/components/schemas/RedirectInformation'
          minItems: 1
        muteNotif:
          type: boolean
          description: Indicates whether applicat'on's start or stop notification is to be muted.
        trafficSteeringPolIdDl:
          type: string
          description: Reference to a pre-configured traffic steering policy for downlink traffic at the SMF.
          nullable: true
        trafficSteeringPolIdUl:
          type: string
          description: Reference to a pre-configured traffic steering policy for uplink traffic at the SMF.
          nullable: true
        routeToLocs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
          description: A list of location which the traffic shall be routed to for the AF request
        traffCorreInd:
          type: boolean
        upPathChgEvent:
          $ref: '#/components/schemas/UpPathChgEvent'
        steerFun:
          $ref: '#/components/schemas/SteeringFunctionality'
        steerModeDl:
          $ref: '#/components/schemas/SteeringMode'
        steerModeUl:
          $ref: '#/co

# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/3gpp/refs/heads/main/openapi/3gpp-ts29512-npcf-smpolicycontrol.yml