3GPP TS 28.541 5 Gc Nrm API

OAS 3.0.1 specification of the 5GC NRM. An OpenAPI 3.0.1 data-model-only document (no paths; it defines the schemas/Network Resource Model consumed by the Provisioning and Performance management services), API version 19.7.0, published verbatim by 3GPP in 3GPP TS 28.541 as part of the Management Services (SA5 OAM) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts28541-5gcnrm.yml Raw ↑
openapi: 3.0.1
info:
  title: 3GPP 5GC NRM
  version: 19.7.0
  description: >-
    OAS 3.0.1 specification of the 5GC NRM
    © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 28.541; 5G NRM, 5GC NRM
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.541/
paths: {}
components:
  schemas:

#-------- Definition of types-----------------------------------------------------

    AmfIdentifier:
      type: object
      description: 'AmfIdentifier comprise of amfRegionId, amfSetId and amfPointer'
      properties:
        aMFRegionId:
          $ref: '#/components/schemas/AmfRegionId'
        aMFSetId:
          $ref: '#/components/schemas/AmfSetId'
        amfPointer:
          $ref: '#/components/schemas/AmfPointer'
    AmfRegionId:
      type: integer
      description: AmfRegionId is defined in TS 23.003
      maximum: 255
    AmfSetId:
      type: string
      description: AmfSetId is defined in TS 23.003
      maximum: 1023
    AmfPointer:
      type: integer
      description: AmfPointer is defined in TS 23.003
      maximum: 63
    IpEndPoint:
      type: object
      properties:
        ipv4Address:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv4Addr'
        ipv6Address:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Addr'
        ipv6Prefix:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Ipv6Prefix'
        transport:
          $ref: 'TS28623_GenericNrm.yaml#/components/schemas/TransportProtocol'
        port:
          type: integer
    NFProfileList:
      type: array
      uniqueItems: true
      description: List of NF profile
      items:
        $ref: '#/components/schemas/ManagedNFProfile'
    NFService:
      type: object
      description: NF Service is defined in TS 29.510
      properties:
        serviceInstanceId:
          type: string
        serviceName:
          type: string
        versions:
          type: array
          uniqueItems: true
          items:
            type: string
          minItems: 1
        schema:
          type: string
        nfServiceStatus:
          type: string
          enum:
            - REGISTERED
            - SUSPENDED
            - UNDISCOVERABLE
            - CANARY_RELEASE
        fqdn:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn'
        interPlmnFqdn:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn'
        ipEndPoints:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/IpEndPoint'
        apiPrefix:
          type: string
        allowedPLMNs:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
        allowedSnpns:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/SnpnId'
        allowedNfTypes:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/NFType'
        allowedNfDomains:
          type: array
          uniqueItems: true
          items: 
            type: string
        allowedNSSAIs:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai'
        priority:
          type: integer
          minimum: 0
          maximum: 65535
        capacity:
          type: integer
        recoveryTime:
           $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
        vendorId:
          $ref: '#/components/schemas/VendorId'
        allowedOperationsPerNfType:
          type: string
        allowedOperationsPerNfInstance:
          type: string
        allowedOperationsPerNfInstanceOverrides:
          type: boolean
        sNssais:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtSnssai'
        oauth2Required:
          type: boolean
        sharedServiceDataId:
          type: string
        defaultNotificationSubscriptions:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/DefaultNotificationSubscription'
        callbackUriPrefixList:
          type: array
          items:
            $ref: '#/components/schemas/CallbackUriPrefixItem'
        supportedFeatures:
          type: string
        supportedVendorSpecificFeatures:
          description: A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/VendorSpecificFeature'
            minItems: 1
          minProperties: 1
        allowedScopesRuleSet:
          description: A map (list of key-value pairs) where a valid JSON pointer Id serves as key
          type: object
          additionalProperties:
            $ref: '#/components/schemas/RuleSet'
          minProperties: 1
        nfServiceSetIdList:
          description: This attribute represents a list of NF Service Set ID.
          type: array
          items: 
            type: string
        perPlmnSnssaiList:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/PlmnSnssai'
        load:
          type: integer
          minimum: 0
          maximum: 100
        loadTimeStamp:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime' 
        canaryRelease:
          type: boolean
          default: false
        exclusiveCanaryReleaseSelection:
          type: boolean
          default: false
        shutdownTime:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
        canaryPrecedenceOverPreferred:
          type: boolean
          default: false
        perPlmnOauth2ReqList:
          $ref: '#/components/schemas/PlmnOauth2'
    PlmnOauth2:
      description: Oauth2.0 required indication for a given PLMN ID
      type: object
      properties:
        oauth2RequiredPlmnIdList:
          type: array
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
          minItems: 1
        oauth2NotRequiredPlmnIdList:
          type: array
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
          minItems: 1
    VendorSpecificFeature:
      type: object
      properties:
        featureName:
          type: string
          readOnly: true
        featureVersion:
          type: string
          readOnly: true
    NFStatus:
      type: string
      description: any of enumerated value
      enum:
        - REGISTERED
        - SUSPENDED
    CNSIIdList:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/CNSIId'     
    CNSIId:
      type: string
      description: CNSI Id is defined in TS 29.531, only for Core Network.    
    EnergySavingControl:
      type: string
      description: any of enumerated value
      enum:
        - TO_BE_ENERGYSAVING
        - TO_BE_NOT_ENERGYSAVING
    EnergySavingState:
      type: string
      readOnly: true
      description: any of enumerated value
      enum:
        - IS_NOT_ENERGYSAVING
        - IS_ENERGYSAVING
    TACList:
      type: array
      uniqueItems: true
      items:
        $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tac'
    VendorId:
      type: string
      description: Vendor ID of the NF Service instance (Private Enterprise Number assigned by IANA)
      pattern: '^[0-9]{6}$'
    AusfInfo:
      type: object
      properties:
        nFSrvGroupId:
          type: string
          readOnly: true
        supiRanges:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/SupiRange'
          minItems: 1
        routingIndicators:
          type: array
          uniqueItems: true
          items:
            type: string
            pattern: '^[0-9]{1,4}$'
          minItems: 1
        suciInfos:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/SuciInfo'
          minItems: 1
    SupportedDataSet:
      type: string
      description: any of enumerated value
      enum:
        - SUBSCRIPTION
        - POLICY
        - EXPOSURE
        - APPLICATION
        - A_PFD
        - A_AFTI
        - A_IPTV
        - A_BDT
        - A_SPD
        - A_EASD
        - A_AMI
        - P_UE
        - P_SCD
        - P_BDT
        - P_PLMNUE
        - P_NSSCD
        - P_PDTQ
        - P_MBSCD
        - P_GROUP
    NotificationType:      
      type: string
      readOnly: true
      enum:
        -  N1_MESSAGES 
        -  N2_INFORMATION
        -  LOCATION_NOTIFICATION
        -  DATA_REMOVAL_NOTIFICATION
        -  DATA_CHANGE_NOTIFICATION
        -  LOCATION_UPDATE_NOTIFICATION
        -  NSSAA_REAUTH_NOTIFICATION
        -  NSSAA_REVOC_NOTIFICATION
        -  MATCH_INFO_NOTIFICATION
        -  DATA_RESTORATION_NOTIFICATION
        -  TSCTS_NOTIFICATION
        -  LCS_KEY_DELIVERY_NOTIFICATION
        -  UUAA_MM_AUTH_NOTIFICATION
        -  DC_SESSION_EVENT_NOTIFICATION
    DefaultNotificationSubscription:
      type: object
      properties:
        notificationType:
          $ref: '#/components/schemas/NotificationType'
        callbackURI:
          type: string
          readOnly: true
        interPlmnCallbackUri:  
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo'
        n1MessageClass:  
          type: boolean
          readOnly: true
        n2InformationClass:
          type: boolean
          readOnly: true
        versions:
          type: string
          readOnly: true
        binding:
          type: string
          readOnly: true
        acceptedEncoding:
          type: string
          readOnly: true
        supportedFeatures:
          type: string
          readOnly: true
        serviceInfoList:
          type: array
          uniqueItems: true
          items: 
            $ref: '#/components/schemas/DefSubServiceInfo'
          minItems: 1
        callbackUriPrefix:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo'
    CallbackUriPrefixItem:
      type: object
      properties:
        notificationTypes:
          type: array
          items: 
            $ref: '#/components/schemas/NotificationType'
        callbackUriPrefix:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/UriRo'
    DefSubServiceInfo:
      type: object
      properties:
        versions:
          type: array
          uniqueItems: true
          items:
            type: string
          minItems: 1
          readOnly: true
        supportedFeatures:
          type: string
          readOnly: true
    ManagedNFProfile:
      type: object
      properties:
        hniList:
          type: array
          uniqueItems: true
          items: 
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn'
          minItems: 1
        interPlmnFqdn:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn'
        nfInstanceID:
          type: string
          readOnly: true
        nfType:
          $ref: '#/components/schemas/NFType'
        collocatedNfInstances:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/CollocatedNfInstance'
        nfInstanceName:
          type: string
        nfStatus:
          $ref: '#/components/schemas/NFStatus'
        plmnList:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
        sNssais:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai'
        fqdn:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/Fqdn'
        heartbeatTimer:
          type: integer
        authzInfo:
          type: string
        hostAddr:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/Host'
        allowedPLMNs:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
        sNPNList:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/SnpnId'
        perPlmnSnssaiList:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/PlmnSnssai'
        allowedSNPNs:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/SnpnId'
        allowedNfTypes:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/NFType'
        allowedNfDomains:
          type: array
          uniqueItems: true
          items: 
            type: string
        allowedNSSAIs:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai'
        allowedRuleSet:
          description: >
            A map (list of key-value pairs) where a valid JSON pointer Id serves as key
          type: object
          additionalProperties:
            $ref: '#/components/schemas/RuleSet'
          minProperties: 1
        locality:
          type: string
        extLocality:
          description: >
            A map (list of key-value pairs) where a (unique) valid JSON string serves
            as key representing a type of locality
          type: object
          additionalProperties:
            type: string
          minProperties: 1
        capacity:
          type: integer
        load:
          type: integer
          minimum: 0
          maximum: 100
        loadTimeStamp:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
        nfSetIdList:
          type: array
          uniqueItems: true
          items:
            type: string
          minItems: 1
        servingScope:
          type: array
          uniqueItems: true
          items:
            type: string
          minItems: 1
        lcHSupportInd:
          type: boolean
          readOnly: true
        olcHSupportInd:
          type: boolean
          readOnly: true
        nfSetRecoveryTimeList:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo'
          minItems: 1
        scpDomains:
          type: array
          uniqueItems: true
          items:
            type: string
          minItems: 1
        recoveryTime:
           $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo'
        nfServicePersistence:
           type: boolean
           readOnly: true
        nfProfileChangesSupportInd:
           type: boolean
        nfProfilePartialUpdateChangesSupportInd:
          type: boolean
          default: false
          writeOnly: true
        nfProfileChangesInd:
          type: boolean
          default: false
          readOnly: true
        defaultNotificationSubscriptions:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/DefaultNotificationSubscription'
          minItems: 1
        serviceSetRecoveryTimeList:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTimeRo'
          minItems: 1
        vendorId:
          $ref: '#/components/schemas/VendorId'
        nfServiceList:
          description: >
            A map (list of key-value pairs) where serviceInstanceId serves as key of NFService
          type: object
          additionalProperties:
            $ref: '#/components/schemas/NFService'
          minProperties: 1
        supportedVendorSpecificFeatures:
          description: >
            A map (list of key-value pairs) where IANA-assigned "SMI Network Management Private Enterprise Codes" serves as key
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/VendorSpecificFeature'
            minItems: 1
          minProperties: 1
        canaryRelease:
          type: boolean
          default: false
        exclusiveCanaryReleaseSelection:
          type: boolean
          default: false
        sharedProfileDataId:
          type: string
        shutdownTime:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
        supportedRcfs:
          type: array
          uniqueItems: true
          items:
            type: string
          minItems: 1
        canaryPrecedenceOverPreferred:
          type: boolean
          default: false
        selectionConditions:
          description: > 
            conditions under which an NF Instance shall be selected by an NF Service Consumer.
            type: array
            items:
              $ref: '#/components/schemas/SelectionConditions'
            minItems: 1
    SelectionConditions:
      description: >
        It contains the set of conditions that shall be evaluated to determine whether a consumer
        shall select a given producer. The producer shall only be selected if the evaluation of
        the conditions is <true>. The set of conditions can be represented by a single 
        ConditionItem or by a ConditionGroup, where the latter contains a (recursive) list of
        conditions joined by the "and" or "or" logical relationships.
      oneOf:
        - $ref: '#/components/schemas/ConditionItem'
        - $ref: '#/components/schemas/ConditionGroup'
    ConditionGroup:
      description: >
        List (array) of conditions (joined by the "and" or "or" logical relationship),
        under which an NF Instance with an NFStatus or NFServiceStatus value set to,
        "CANARY_RELEASE", or with a "canaryRelease" attribute set to true,
        shall be selected by an NF Service Consumer.
      type: object
      oneOf:
        - required: [ and ]
        - required: [ or ]
      properties:
        and:
          type: array
          items:
            $ref: '#/components/schemas/SelectionConditions'
          minItems: 1
        or:
          type: array
          items:
            $ref: '#/components/schemas/SelectionConditions'
          minItems: 1
    ConditionItem:
      description: >
        A ConditionItem consists of a number of attributes representing individual conditions
        (e.g. a SUPI range, or a TAI list). If several attributes/conditions are present,
        the evaluation of the ConditionItem is <true> if all attributes/conditions are evaluated
        as <true> (i.e., it follows the AND logical relationship).
      type: object
      allOf:
        - not:
            required: [ and ]
        - not:
            required: [ or ]
      properties:
        consumerNfTypes:
          type: array
          items:
            $ref: '#/components/schemas/NFType'
          minItems: 1
        serviceFeature:
          type: integer
          minimum: 1
        vsServiceFeature:
          type: integer
          minimum: 1
        supiRangeList:
          type: array
          items:
            $ref: '#/components/schemas/SupiRange'
          minItems: 1
        gpsiRangeList:
          type: array
          items:
            $ref: '#/components/schemas/IdentityRange'
          minItems: 1
        impuRangeList:
          type: array
          items:
            $ref: '#/components/schemas/IdentityRange'
          minItems: 1
        impiRangeList:
          type: array
          items:
            $ref: '#/components/schemas/IdentityRange'
          minItems: 1
        peiList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
          minItems: 1
        taiRangeList:
          type: array
          items:
            $ref: '#/components/schemas/TaiRange'
          minItems: 1
        dnnList:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
          minItems: 1
    SEPPType:
      type: string
      readOnly: true
      description: any of enumerated value
      enum:
        - CSEPP
        - PSEPP
    SupportedFunc:
      type: object
      properties:
        function:
          type: string
        policy:
          type: string
    SupportedFuncList:
      type: array
      items:
        $ref: '#/components/schemas/SupportedFunc'
      minItems: 1
    CommModelType:
      type: string
      description: any of enumerated value
      enum:
        - DIRECT_COMMUNICATION_WO_NRF
        - DIRECT_COMMUNICATION_WITH_NRF
        - INDIRECT_COMMUNICATION_WO_DEDICATED_DISCOVERY
        - INDIRECT_COMMUNICATION_WITH_DEDICATED_DISCOVERY
    CommModel:
      type: object
      properties:
        groupId:
          type: integer
        commModelType:
          $ref: '#/components/schemas/CommModelType'
        targetNFServiceList:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
        commModelConfiguration:
          type: string
    CommModelList:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/CommModel'
      minItems: 1
    CapabilityList:
      type: array
      items:
        type: string
      minItems: 1
    FiveQiDscpMapping:
      type: object
      properties:
        fiveQIValues:
          type: array
          uniqueItems: true
          items:
            type: integer
        dscp:
          type: integer
    NetworkSliceInfo:
      type: object
      properties:
        sNSSAI:
          $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai'
        cNSIId:
          $ref: '#/components/schemas/CNSIId'
        networkSliceRef:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
    NetworkSliceInfoList:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/NetworkSliceInfo'
      minItems: 1
    PacketErrorRate:
      type: object
      properties:
        scalar:
          type: integer
        exponent:
          type: integer

    GtpUPathDelayThresholdsType:
      type: object
      properties:
        n3AveragePacketDelayThreshold:
          type: integer
        n3MinPacketDelayThreshold:
          type: integer
        n3MaxPacketDelayThreshold:
          type: integer
        n9AveragePacketDelayThreshold:
          type: integer
        n9MinPacketDelayThreshold:
          type: integer
        n9MaxPacketDelayThreshold:
          type: integer
    QFPacketDelayThresholdsType:
      type: object
      properties:
        thresholdDl:
          type: integer
        thresholdUl:
          type: integer
        thresholdRtt:
          type: integer

    QosData:
      type: object
      properties:
        qosId:
          type: string
        fiveQIValue:
          type: integer
        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'
        qosNotificationControl:
          type: boolean
          default: false
        reflectiveQos:
          type: boolean
          default: false
        sharingKeyDl:
          type: string
        sharingKeyUl:
          type: string
        maxPacketLossRateDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        maxPacketLossRateUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        extMaxDataBurstVol:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm'

    QosDataList:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/QosData'

    SteeringMode:
      type: object
      properties:
        steerModeValue:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteerModeValue'
        active:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        standby:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessTypeRm'
        threeGLoad:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        prioAcc:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'

    TrafficControlData:
      type: object
      properties:
        tcId:
          type: string
        flowStatus:
          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowStatus'
        redirectInfo:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation'
        addRedirectInfo:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RedirectInformation'
          minItems: 1
        muteNotif:
          type: boolean
          default: false
        trafficSteeringPolIdDl:
          type: string
          nullable: true
        trafficSteeringPolIdUl:
          type: string
          nullable: true
        routeToLocs:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
        traffCorreInd:
          type: boolean
          default: false
        upPathChgEvent:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent'
        steerFun:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/SteeringFunctionality'
        steerModeDl:
          $ref: '#/components/schemas/SteeringMode'
        steerModeUl:
          $ref: '#/components/schemas/SteeringMode'
        mulAccCtrl:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/MulticastAccessControl'
        snssaiList:
          $ref: '#/components/schemas/SnssaiList'

    TrafficControlDataList:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/TrafficControlData'

    ServiceFeatureMap:
      type: object
      properties:
        featureList:
          type: string
        serviceName:
          type: string

    PccRule:
      type: object
      properties:
        pccRuleId:
          type: string
          description: Univocally identifies the PCC rule within a PDU session.
        flowInfoList:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowInformation'
        applicationId:
          type: string
        appDescriptor:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ApplicationDescriptor'
        contentVersion:
          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/ContentVersion'
        precedence:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        afSigProtocol:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol'
        isAppRelocatable:
          type: boolean
          default: false
        isUeAddrPreserved:
          type: boolean
          default: false
        qosData:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/QosDataList'
        altQosParams:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/QosDataList'
        trafficControlData:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/TrafficControlDataList'
        conditionData:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/ConditionData'
        tscaiInputDl:
          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer'
        tscaiInputUl:
          $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/TscaiInputContainer'
        easRedisIndRequired:
          type: boolean
          default: false
        tscaiTimeDom:
          type: integer
        batNotificationCapable:
          type: boolean
          default: false
        uENotifEnabled:
          type: boolean
          default: false
        packFiltAllPrec:
          type: integer
        nscSupportedFeats:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/ServiceFeatureMap'

    SnssaiInfo:
      type: object
      properties:
        plmnInfo:
          $ref: 'TS28541_NrNrm.yaml#/components/schemas/PlmnInfo'
        administrativeState:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/AdministrativeState'

    NsacfInfoSnssai:
      type: object
      properties:
        SnssaiInfo:
          $ref: '#/components/schemas/SnssaiInfo'
        isSubjectToNsac:
          type: boolean
          default: false
        maxNumberofUEs:
          type: integer
        eACMode:
          type: string
          readOnly: true
          enum:
            - INACTIVE
            - ACTIVE
          default: INACTIVE
        activeEacThreshold:
          type: integer
          default: 0
        deactiveEacThreshold:
          type: integer
          default: 100
        numberofUEs:
          type: integer
          readOnly: true
        uEIdList:
          type: array
          uniqueItems: true
          items:
            type: string
          readOnly: true  
        maxNumberofPDUSessions:
          type: integer
     
    NRTACRange:
      type: object
      properties:
        nRTACstart:
          type: string
        nRTACend:
          type: string
        nRTACpattern:
          type: string
          
    TaiRange:
      type: object
      properties:
        plmnId:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
        nRTACRangelist:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/NRTACRange'
          minItems: 1

    GUAMInfo:
      type: object
      properties:
          pLMNId: 
            $ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
          aMFIdentifier:
            type: integer   
       
    SupportedBMOList:
      type: array
      uniqueItems: true
      items:
        type: string
    
    ECSAddrConfigInfo:
      type: array
      uniqueItems: true
      items:
        type: string
      minItems: 1
    DnnSmfInfoItem:
      type: object
      properties:
        dnn:
          type: string
        dnaiList:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1

    SatelliteId:
      type: string
      pattern: '^[0-9]{5}$'

    dnaiSatelliteMapping:
      type: object
      properties:
        dnaiList:
          type: array
          uniqueItems: true
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
          minItems: 1
        geoSatelliteId:
          $ref: '#/components/schemas/SatelliteId'

    SnssaiSmfInfoItem:
      type: object
      properties:
        sNSSAI:
          $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai'
        dnnSmfInfoList:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/DnnSmfInfoItem'
          minItems: 1

    5GCNfConnEcmInfoList:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/5GCNfConnEcmInfo'
      minItems: 1
    5GCNfConnEcmInfo:
      type: object
      description: 'Store the 5GC NF connection information'
      properties:
        5GCNFType:
          type: string
          readOnly: true
          enum:
            - PCF
            - NEF
            - SCEF
        5GCNFIpAddress:
          type: string
          readOnly: true
        5GCNFRef:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'

    UPFConnectionInfo:
      type: object
      properties:
        uPFIpAddress:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/HostRo'
        uPFRef:
          $ref: 'TS28623_ComDefs.yaml#/components/schemas/DnRo'

    SnssaiList:
      type: array
      uniqueItems: true
      items:
        $ref: 'TS28541_NrNrm.yaml#/components/schemas/Snssai'
    SnpnId:
      type: object
      properties:
        mcc:
          $ref: 'TS28623_ComDefs.yaml#/

# --- truncated at 32 KB (243 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/3gpp/refs/heads/main/openapi/3gpp-ts28541-5gcnrm.yml