3GPP TS 28.104 Mda Nrm API

OAS 3.0.1 specification of the MDA 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.3.0, published verbatim by 3GPP in 3GPP TS 28.104 as part of the Management Services (SA5 OAM) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts28104-mdanrm.yml Raw ↑
openapi: 3.0.1
info:
  title: MDA NRM
  version: 19.3.0
  description: OAS 3.0.1 specification of the MDA NRM © 2025, 3GPP Organizational Partners (ARIB, ATIS,
    CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
externalDocs:
  description: 3GPP TS 28.104; MDA
  url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.104/
paths: {}
components:
  schemas:
    MDAType:
      type: string
      enum:
      - COVERAGE_ANALYTICS_COVERAGE_PROBLEM_ANALYSIS
      - COVERAGE_ANALYTICS_PAGING_OPTIMIZATION
      - SLS_ANALYSIS_SERVICE_EXPERIENCE_ANALYSIS
      - SLS_ANALYSIS_NETWORK_SLICE_THROUGHPUT_ANALYSIS
      - SLS_ANALYSIS_NETWORK_SLICE_TRAFFIC_ANALYSIS
      - SLS_ANALYSIS_E2E_LATENCY_ANALYSIS
      - SLS_ANALYSIS_NETWORK_SLICE_LOAD_ANALYSIS
      - UE_THROUGHPUT_ANALYSIS_TRAFFIC_CONGESTION_PROBLEM_ANALYSIS
      - SLS_ANALYSIS_EDGE_APPLICATION_DEPLOYMENT_LOCATION_ANALYSIS
      - SLS_ANALYSIS_EDGE_COMPUTING_PERFORMANCE_ANALYSIS
      - SLS_ANALYSIS_TRAFFIC_CONGESTION_PREDICTION_ANALYSIS
      - MDA_ASSISTED_FAULT_MANAGEMENT_FAILURE_PREDICTION
      - MDA_ASSISTED_ENERGY_SAVING_ENERGY_SAVING_ANALYSIS
      - MOBILITY_MANAGEMENT_ANALYTICS_MOBILITY_PERFORMANCE_ANALYSIS
      - MOBILITY_MANAGEMENT_ANALYTICS_HANDOVER_OPTIMIZATION
      - MAINTENANCE_MAINTENANCE_ANALYTICS
      - MAINTENANCE_SOFTWARE_UPGRADE_VALIDATION_ANALYTICS
      - RESOURCE_ANALYTICS_VIRTUALIZED_RESOURCE_UTILIZATION_ANALYSIS_NF
      - RESOURCE_ANALYTICS_PHYSICAL_RESOURCE_UTILIZATION_ANALYSIS_NF
      - RESOURCE_ANALYTICS_5GC_CONTROL_PLANE_CONGESTION_ANALYSIS
      - PREDICTIONS_PM_DATA
      - ATSSS_PERFORMANCE_TRAFFIC_STEERING_ANALYTICS
      - CORRELATION_ANALYTICS_TRAINING_DATA_ANALYSIS
      - CORRELATION_ANALYTICS_NF_SCALING_DIMENSIONING_DATA_ANALYSIS
    MDATypes:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/MDAType'
    MDAOutputs:
      type: array
      uniqueItems: true
      items:
        $ref: '#/components/schemas/MDAOutputPerMDAType'
    AnalyticsScopeType:
      oneOf:
      - type: object
        properties:
          managedEntitiesScope:
            $ref: TS28623_ComDefs.yaml#/components/schemas/DnList
      - type: object
        properties:
          areaScope:
            type: array
            uniqueItems: true
            items:
              $ref: TS28623_ComDefs.yaml#/components/schemas/GeoArea
    MDAOutputPerMDAType:
      type: object
      properties:
        mDAType:
          $ref: '#/components/schemas/MDAType'
        mDAOutputIEFilters:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/MDAOutputIEFilter'
    MDAOutputIEFilter:
      type: object
      properties:
        mDAOutputIEName:
          type: string
        filterValue:
          type: string
        threshold:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/ThresholdInfo'
        analyticsPeriod:
          $ref: '#/components/schemas/AnalyticsSchedule'
        timeOut:
          $ref: TS28623_ComDefs.yaml#/components/schemas/DateTime
    ReportingMethod:
      type: string
      enum:
      - FILE
      - STREAMING
      - NOTIFICATION
    ReportingTarget:
      $ref: TS28623_ComDefs.yaml#/components/schemas/Uri
    AnalyticsSchedule:
      oneOf:
      - type: object
        properties:
          timeDurations:
            type: array
            uniqueItems: true
            items:
              $ref: TS28623_ComDefs.yaml#/components/schemas/TimeWindow
      - type: object
        properties:
          granularityPeriod:
            type: integer
    ThresholdInfo:
      type: object
      properties:
        monitoredMDAOutputIE:
          type: string
        thresholdDirection:
          type: string
          enum:
          - UP
          - DOWN
          - UP_AND_DOWN
        thresholdValue:
          oneOf:
          - type: integer
          - $ref: TS28623_ComDefs.yaml#/components/schemas/Float
        hysteresis:
          oneOf:
          - type: integer
            minimum: 0
          - type: number
            format: float
            minimum: 0
    SubNetwork-ncO-MdaNrm:
      type: object
      properties:
        MDAFunction:
          $ref: '#/components/schemas/MDAFunction-Multiple'
        MDAReport:
          $ref: '#/components/schemas/MDAReport-Multiple'
    ManagedElement-ncO-MdaNrm:
      type: object
      properties:
        MDAFunction:
          $ref: '#/components/schemas/MDAFunction-Multiple'
    MDAFunction-Single:
      allOf:
      - $ref: TS28623_GenericNrm.yaml#/components/schemas/Top
      - type: object
        properties:
          attributes:
            allOf:
            - $ref: TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr
            - type: object
              properties:
                supportedMDACapabilities:
                  $ref: '#/components/schemas/MDATypes'
                mLModelRefList:
                  $ref: TS28623_ComDefs.yaml#/components/schemas/DnListRo
                aIMLInferenceFunctionRefList:
                  $ref: TS28623_ComDefs.yaml#/components/schemas/DnListRo
      - $ref: TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO
      - type: object
        properties:
          MDARequest:
            $ref: '#/components/schemas/MDARequest-Multiple'
          MDAReport:
            $ref: '#/components/schemas/MDAReport-Multiple'
    MDARequest-Single:
      allOf:
      - $ref: TS28623_GenericNrm.yaml#/components/schemas/Top
      - type: object
        properties:
          attributes:
            allOf:
            - type: object
              properties:
                requestedMDAOutputs:
                  $ref: '#/components/schemas/MDAOutputs'
                reportingMethod:
                  $ref: '#/components/schemas/ReportingMethod'
                reportingTarget:
                  $ref: '#/components/schemas/ReportingTarget'
                analyticsScope:
                  $ref: '#/components/schemas/AnalyticsScopeType'
                startTime:
                  $ref: TS28623_ComDefs.yaml#/components/schemas/DateTime
                stopTime:
                  $ref: TS28623_ComDefs.yaml#/components/schemas/DateTime
                recommendationFilter:
                  $ref: '#/components/schemas/AnalyticsScopeType'
                performanceThresholdInfo:
                  type: array
                  items:
                    $ref: TS28623_ThresholdMonitorNrm.yaml#/components/schemas/ThresholdInfo
                thresholdMonitorRefList:
                  $ref: TS28623_ComDefs.yaml#/components/schemas/DnList
    MDAReport-Single:
      $ref: TS28104_MdaReport.yaml#/components/schemas/MDAReport
    MDAFunction-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MDAFunction-Single'
    MDARequest-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MDARequest-Single'
    MDAReport-Multiple:
      type: array
      items:
        $ref: '#/components/schemas/MDAReport-Single'
    resources-mdaNrm:
      oneOf:
      - $ref: '#/components/schemas/MDAFunction-Single'
      - $ref: '#/components/schemas/MDARequest-Single'
      - $ref: '#/components/schemas/MDAReport-Single'
servers:
- url: https://forge.3gpp.org/rep/api/v4
  description: Base URL reconciled from apis.yml