openapi: 3.0.0
info:
  version: "-"
  title: 'Unified Data Repository Service API file for Application Data'
  description: 'The API version is defined in 3GPP TS 29.504'
externalDocs:
  description: 3GPP TS 29.519 V15.2.0; 5G System; Usage of the Unified Data Repository Service for Policy Data, Application Data and Structured Data for Exposure.
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.519/'

paths:
  /application-data/pfds:
    get:
      parameters:
        - name: appId
          in: query
          description: Contains the information of the application identifier(s) for the querying PFD Data resource.If none appId is included in the URI, it applies to all application identifier(s) for the querying PFD Data resource.
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
      responses:
        '200':
          description: A representation of PFDs for request applications is returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdDataForApp'
        '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'
        '414':
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
  /application-data/pfds/{appId}:
    get:
      parameters:
        - name: appId
          in: path
          description: Indicate the application identifier for the request pfd(s).It shall apply the format of Data type ApplicationId.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A representation of PFDs for the request application identified by the application identifier is returned.
          content:
            application/json:
              schema:
                $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdDataForApp'
        '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'
    delete:
      parameters:
        - name: appId
          in: path
          description: Indicate the application identifier for the request pfd(s).It shall apply the format of Data type ApplicationId.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Successful case.The Individual PFD Data resource related to the application identifier was deleted.
        '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'
        '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'
    put:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdDataForApp'
      parameters:
        - name: appId
          in: path
          description: Indicate the application identifier for the request pfd(s).It shall apply the format of Data type ApplicationId.
          required: true
          schema:
            type: string
      responses:
        '201':
          description: The creation of an Individual PFD Data resource related to the application-identifier is confirmed and a representation of that resource is returned.
          content:
            application/json:
              schema:
                $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdDataForApp'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr/v1/application-data/pfds/{application-identifier}'
              required: true
              schema:
                type: string
        '200':
          description: Successful case.The upgrade of an Individual PFD Data resource related to the application identifier is confirmed and a representation of that resource is returned.
          content:
            application/json:
              schema:
                $ref: 'TS29551_Nnef_PFDmanagement.yaml#/components/schemas/PfdDataForApp'
        '204':
          description: No content
        '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'
        '414':
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
  /application-data/influenceData:
    get:
      parameters:
        - name: influence-Ids
          in: query
          description: Each element identifies a service.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: dnns
          in: query
          description: Each element identifies a DNN.
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        - name: snssais
          in: query
          description: Each element identifies a slice.
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        - name: internal-Group-Ids
          in: query
          description: Each element identifies a group of users. 
          required: false
          schema:
            type: array
            items:
              type: string
        - name: supis
          in: query
          description: Each element identifies the user.
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
      responses:
        '200':
          description: The Traffic Influence Data stored in the UDR are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TrafficInfluData'
        '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'
        '414':
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
  /application-data/influenceData/{influenceId}:
    put:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrafficInfluData'
      parameters:
        - name: influenceId
          in: path
          description: The Identifier of an Individual Influence Data to be created or updated.It shall apply the format of Data type string.
          required: true
          schema:
            type: string
      responses:
        '201':
          description: The creation of an Individual Traffic Influence Data resource is confirmed and a representation of that resource is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluData'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nudr-dr/v1/application-data/influenceData/{influenceId}'
              required: true
              schema:
                type: string
        '200':
          description: The update of an Individual Traffic Influence Data resource is confirmed and a response body containing Traffic Influence Data shall be returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluData'
        '204':
          description: No content
        '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'
        '414':
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
    patch:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrafficInfluDataPatch'
      parameters:
        - name: influenceId
          in: path
          description: The Identifier of an Individual Influence Data to be updated.It shall apply the format of Data type string.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The update of an Individual Traffic Influence Data resource is confirmed and a response body containing Traffic Influence Data shall be returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluData'
        '204':
          description: No content
        '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'
    delete:
      parameters:
        - name: influenceId
          in: path
          description: The Identifier of an Individual Influence Data to be updated.It shall apply the format of Data type string.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The Individual Influence Data was deleted successfully.
        '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'
        '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'
  /application-data/influenceData/subs-to-notify:
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrafficInfluSub'
      responses:
        '201':
          description: The subscription was created successfully.
          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: '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'
      callbacks:
        trafficInfluenceDataChangeNotification:
          '{$request.body#/notificationUri}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      type: array
                      items:
                        $ref: '#/components/schemas/TrafficInfluData'
                      minItems: 1
              responses:
                '204':
                  description: No Content, Notification was succesfull
                '400':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/400'
                '403':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/403'
                '404':
                  $ref: 'TS29122_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'
    get:
      parameters:
        - name: dnn
          in: query
          description: Identifies a DNN.
          required: false
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        - name: snssai
          in: query
          description: Identifies a slice.
          required: false
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        - name: internal-Group-Id
          in: query
          description: Identifies a group of users.
          required: false
          schema:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'
        - name: supi
          in: query
          description: Identifies a user.
          required: false
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
      responses:
        '200':
          description: The subscription information as request in the request URI query parameter(s) are returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TrafficInfluSub'
                minItems: 0
        '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'
        '414':
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
  /application-data/influenceData/subs-to-notify/{subscriptionId}:
    get:
      parameters:
        - name: subscriptionId
          in: path
          description: String identifying a subscription to the Individual Influence Data Subscription
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The subscription information is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluSub'
        '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'
        '414':
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
    put:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrafficInfluSub'
      parameters:
        - name: subscriptionId
          in: path
          description: String identifying a subscription to the Individual Influence Data Subscription
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The subscription was updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficInfluSub'
        '204':
          description: No content
        '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'
    delete:
      parameters:
        - name: subscriptionId
          in: path
          description: String identifying a subscription to the Individual Influence Data Subscription
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The subscription was terminated successfully.
        '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'
        '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:
  schemas:
    TrafficInfluData:
      type: object
      properties:
        upPathChgNotifCorreId:
          type: string
          description: Contains the Notification Correlation Id allocated by the NEF for the UP path change notification.
        appReloInd:
          type: boolean
          description: Identifies whether an application can be relocated once a location of the application has been selected.
        afAppId:
          type: string
          description: Identifies an application.
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        ethTrafficFilters:
          type: array
          items:
            $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
          minItems: 1
          description: Identifies Ethernet packet filters.Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable.
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        interGroupId:
          type: string
          description: Identifies a group of users. 
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        trafficFilters:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
          minItems: 1
          description: Identifies IP packet filters.Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable.
        trafficRoutes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
          description: Identifies the N6 traffic routing requirement.
        validStartTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        validEndTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        nwAreaInfo:
          $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo'
        upPathChgNotifUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
      required:
        - trafficRoutes
      allOf:
        - oneOf:
          - required: [afAppId]
          - required: [trafficFilters]
          - required: [ethTrafficFilters]
        - oneOf:
          - required: [supi]
          - required: [interGroupId]
    TrafficInfluDataPatch:
      type: object
      properties:
        upPathChgNotifCorreId:
          type: string
          description: Contains the Notification Correlation Id allocated by the NEF for the UP path change notification.
        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'
        ethTrafficFilters:
          type: array
          items:
            $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
          minItems: 1
          description: Identifies Ethernet packet filters.Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable.
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        internalGroupId:
          type: string
          description: Identifies a group of users. 
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        trafficFilters:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
          minItems: 1
          description: Identifies IP packet filters.Either "trafficFilters" or "ethTrafficFilters" shall be included if applicable.
        trafficRoutes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
          description: Identifies the N6 traffic routing requirement.
        validStartTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        validEndTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        nwAreaInfo:
          $ref: 'TS29554_Npcf_BDTPolicyControl.yaml#/components/schemas/NetworkAreaInfo'
        upPathChgNotifUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
    TrafficInfluSub:
      type: object
      properties:
        dnns:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
          minItems: 1
          description: Each element identifies a DNN.  
        snssais:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1
          description: Each element identifies a slice.
        internalGroupIds:
          type: array
          items:
            type: string
          minItems: 1
          description: Each element identifies a group of users. 
        supis:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
          minItems: 1
          description: Each element identifies the user.
        notificationUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - notificationUri
      oneOf:
        - required: [dnns]
        - required: [snssais]
        - required: [internalGroupIds]
        - required: [supis]