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
    © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 29.519 V15.7.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:
      summary: Retrieve PFDs for application identifier(s)
      operationId: ReadPFDData
      tags:
        - PFD Data (Store)
      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'
            minItems: 1
      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:
      summary: Retrieve the corresponding PFDs of the specified application identifier
      operationId: ReadIndividualPFDData
      tags:
        - Individual PFD Data (Document)
      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:
      summary: Delete the corresponding PFDs of the specified application identifier
      operationId: DeleteIndividualPFDData
      tags:
        - Individual PFD Data (Document)
      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:
      summary: Create or update the corresponding PFDs for the specified application identifier
      operationId: CreateOrReplaceIndividualPFDData
      tags:
        - Individual PFD Data (Document)
      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/{apiVersion}/application-data/pfds/{appId}'
              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:
      summary: Retrieve Traffic Influence Data
      operationId: ReadInfluenceData
      tags:
        - Influence Data (Store)
      parameters:
        - name: influence-Ids
          in: query
          description: Each element identifies a service.
          required: false
          schema:
            type: array
            items:
              type: string
            minItems: 1
        - name: dnns
          in: query
          description: Each element identifies a DNN.
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
            minItems: 1
        - name: snssais
          in: query
          description: Each element identifies a slice.
          required: false
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
                minItems: 1
        - name: internal-Group-Ids
          in: query
          description: Each element identifies a group of users. 
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
            minItems: 1
        - name: supis
          in: query
          description: Each element identifies the user.
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
            minItems: 1
      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:
      summary: Create or update an individual Influence Data resource
      operationId: CreateOrReplaceIndividualInfluenceData
      tags:
        - Individual Influence Data (Document)
      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/{apiVersion}/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:
      summary: Modify part of the properties of an individual Influence Data resource
      operationId: UpdateIndividualInfluenceData
      tags:
        - Individual Influence Data (Document)
      requestBody:
        required: true
        content:
          application/merge-patch+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:
      summary: Delete an individual Influence Data resource
      operationId: DeleteIndividualInfluenceData
      tags:
        - Individual Influence Data (Document)
      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:
      summary: Create a new Individual Influence Data Subscription resource
      operationId: CreateIndividualInfluenceDataSubscription
      tags:
        - Influence Data Subscriptions (Collection)
      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 successful
                '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:
      summary: Read Influence Data Subscriptions
      operationId: ReadInfluenceDataSubscriptions
      tags:
        - Influence Data Subscriptions (Collection)
      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
          content:
            application/json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        - name: internal-Group-Id
          in: query
          description: Identifies a group of users.
          required: false
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
        - 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:
      summary: Get an existing individual Influence Data Subscription resource
      operationId: ReadIndividualInfluenceDataSubscription
      tags:
        - Individual Influence Data Subscription (Document)
      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:
      summary: Modify an existing individual Influence Data Subscription resource
      operationId: ReplaceIndividualInfluenceDataSubscription
      tags:
        - Individual Influence Data Subscription (Document)
      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:
      summary: Delete an individual Influence Data Subscription resource
      operationId: DeleteIndividualInfluenceDataSubscription
      tags:
        - Individual Influence Data Subscription (Document)
      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:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
          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'
        subscribedEvents:
          type: array
          items:
            $ref: 'TS29522_TrafficInfluence.yaml#/components/schemas/SubscribedEvent'
          minItems: 1
        dnaiChgType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DnaiChangeType'
      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:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
          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:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
          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'
        expiry:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - notificationUri
      oneOf:
        - required: [dnns]
        - required: [snssais]
        - required: [internalGroupIds]
        - required: [supis]
