openapi: 3.0.0
info:
  version: 2.0.0
  title: 'Nudr_DataRepository API OpenAPI file'
  description: 'Unified Data Repository Service'
externalDocs:
  description: 3GPP TS 29.504 V15.3.0; 5G System; Unified Data Repository Services; Stage 3
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.504/'
servers:
  - description: API root
    url: '{apiRoot}/nudr-dr/v2'
    variables:
      apiRoot:
        default: https://example.com
security:
  - {}
  - oAuth2ClientCredentials:
      - nudr-dr

paths:
  /subscription-data/{ueId}/authentication-data/authentication-subscription:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-subscription'
  /subscription-data/{ueId}/authentication-data/authentication-status:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1authentication-data~1authentication-status'
  /subscription-data/{ueId}/ue-update-confirmation-data/sor-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ue-update-confirmation-data~1sor-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/am-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1am-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/smf-selection-subscription-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1smf-selection-subscription-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sm-data'
  /subscription-data/{ueId}/context-data/amf-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-3gpp-access'
  /subscription-data/{ueId}/context-data/amf-non-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1amf-non-3gpp-access'
  /subscription-data/{ueId}/context-data/smf-registrations:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations'
  /subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smf-registrations~1%7BpduSessionId%7D'
  /subscription-data/{ueId}/operator-specific-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-specific-data'
  /subscription-data/{ueId}/context-data/smsf-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-3gpp-access'
  /subscription-data/{ueId}/context-data/smsf-non-3gpp-access:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1smsf-non-3gpp-access'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-mng-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-mng-data'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sms-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1sms-data'
  /subscription-data/{ueId}/pp-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1pp-data'
  /subscription-data/{ueId}/context-data/ee-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions'
  /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D'
  /subscription-data/{ueId}/context-data/ee-subscriptions/{subsId}/amf-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1ee-subscriptions~1%7BsubsId%7D~1amf-subscriptions'
  /subscription-data/group-data/{ueGroupId}/ee-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions'
  /subscription-data/group-data/{ueGroupId}/ee-subscriptions/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1group-data~1%7BueGroupId%7D~1ee-subscriptions~1%7BsubsId%7D'
  /subscription-data/{ueId}/ee-profile-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1ee-profile-data'
  /subscription-data/{ueId}/context-data/sdm-subscriptions:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions'
  /subscription-data/{ueId}/context-data/sdm-subscriptions/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1context-data~1sdm-subscriptions~1%7BsubsId%7D'
  /subscription-data/shared-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1shared-data'
  /subscription-data/subs-to-notify:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify'
  /subscription-data/subs-to-notify/{subsId}:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1subs-to-notify~1%7BsubsId%7D'
  /subscription-data/{ueId}/{servingPlmnId}/provisioned-data/trace-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1%7BservingPlmnId%7D~1provisioned-data~1trace-data'
  /subscription-data/{ueId}/identity-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1identity-data'
  /subscription-data/{ueId}/operator-determined-barring-data:
    $ref: 'TS29505_Subscription_Data.yaml#/paths/~1subscription-data~1%7BueId%7D~1operator-determined-barring-data'
  /policy-data/ues/{ueId}/am-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1am-data'
  /policy-data/ues/{ueId}/ue-policy-set:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1ue-policy-set'
  /policy-data/ues/{ueId}/sm-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data'
  /policy-data/ues/{ueId}/sm-data/{usageMonId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1sm-data~1%7BusageMonId%7D'
  /policy-data/sponsor-connectivity-data/{sponsorId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1sponsor-connectivity-data~1%7BsponsorId%7D'
  /policy-data/bdt-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data'
  /policy-data/bdt-data/{bdtReferenceId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1bdt-data~1%7BbdtReferenceId%7D'
  /policy-data/subs-to-notify:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify'
  /policy-data/subs-to-notify/{subsId}:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1subs-to-notify~1%7BsubsId%7D'
  /policy-data/ues/{ueId}/operator-specific-data:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1ues~1%7BueId%7D~1operator-specific-data'
  /application-data/pfds:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds'
  /application-data/pfds/{appId}:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1pfds~1%7BappId%7D'
  /application-data/influenceData:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData'
  /application-data/influenceData/{influenceId}:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1%7BinfluenceId%7D'
  /policy-data/plmns/{plmnId}/ue-policy-set:
    $ref: 'TS29519_Policy_Data.yaml#/paths/~1policy-data~1plmns~1%7BplmnId%7D~1ue-policy-set'
  /application-data/influenceData/subs-to-notify:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify'
  /application-data/influenceData/subs-to-notify/{subscriptionId}:
    $ref: 'TS29519_Application_Data.yaml#/paths/~1application-data~1influenceData~1subs-to-notify~1%7BsubscriptionId%7D'
  /exposure-data/{ueId}/access-and-mobility-data:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1access-and-mobility-data'
  /exposure-data/{ueId}/session-management-data/{pduSessionId}:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1%7BueId%7D~1session-management-data~1%7BpduSessionId%7D'
  /exposure-data/subs-to-notify:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify'
  /exposure-data/subs-to-notify/{subId}:
    $ref: 'TS29519_Exposure_Data.yaml#/paths/~1exposure-data~1subs-to-notify~1%7BsubId%7D'
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows: 
        clientCredentials: 
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes: 
            nudr-dr: Access to the Nudr_DataRepository API