openapi: 3.0.0
info:
  title: Npcf_PolicyAuthorization Service API
  version: 1.1.5
  description: |
    PCF Policy Authorization Service.
    © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.

externalDocs:
  description: 3GPP TS 29.514 V16.10.0; 5G System; Policy Authorization Service;Stage 3.
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.514/'
#
servers:
  - url: '{apiRoot}/npcf-policyauthorization/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501

security:
  - {}
  - oAuth2ClientCredentials:
    - npcf-policyauthorization
paths:
  /app-sessions:
    post:
      summary: Creates a new Individual Application Session Context resource
      operationId: PostAppSessions
      tags:
        - Application Sessions (Collection)
      requestBody:
        description: Contains the information for the creation the resource
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppSessionContext'
      responses:
        '201':
          description: Successful creation of the resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppSessionContext'
          headers:
            Location:
              description: 'Contains the URI of the created individual application session context resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId} or the URI of the created events subscription sub-resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}'
              required: true
              schema:
                type: string
        '303':
          description: See Other. The result of the HTTP POST request would be equivalent to the existing Application Session Context.
          headers:
            Location:
              description: 'Contains the URI of the existing individual Application Session Context resource.'
              required: true
              schema:
                type: string
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ExtendedProblemDetails'
          headers:
            Retry-After:
              description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.'
              schema:
                anyOf:
                  - type: integer
                  - type: string
        '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:
        terminationRequest:
          '{$request.body#/ascReqData/notifUri}/terminate':
            post:
              requestBody:
                description: Request of the termination of the Individual Application Session Context
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/TerminationInfo'
              responses:
                '204':
                  description: The receipt of the notification is acknowledged.
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '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'
        eventNotification:
          '{$request.body#/ascReqData/evSubsc/notifUri}/notify':
            post:
              requestBody:
                description: Notification of an event occurrence in the PCF.
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/EventsNotification'
              responses:
                '204':
                  description: The receipt of the notification is acknowledged
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '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'
        detected5GsBridgeForPduSession:
          '{$request.body#/ascReqData/evSubsc/notifUri}/new-bridge':
            post:
              requestBody:
                description: Notification of a new 5GS Bridge detected in the PCF.
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/PduSessionTsnBridge'
              responses:
                '204':
                  description: The receipt of the notification is acknowledged
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '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'
  /app-sessions/pcscf-restoration:
    post:
      summary: "Indicates P-CSCF restoration and does not create an Individual Application Session Context"
      operationId: PcscfRestoration
      tags:
        - PCSCF Restoration Indication
      requestBody:
        description: PCSCF Restoration Indication
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PcscfRestorationRequestData'
      responses:
        '204':
          description: The deletion is confirmed without returning additional data.
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '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'
#               
  /app-sessions/{appSessionId}:
    get:
      summary: "Reads an existing Individual Application Session Context"
      operationId: GetAppSession
      tags:
        - Individual Application Session Context (Document)
      parameters:
        - name: appSessionId
          description: string identifying the resource
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A representation of the resource is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppSessionContext'
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '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'
    patch:
      summary: "Modifies an existing Individual Application Session Context"
      operationId: ModAppSession
      tags:
        - Individual Application Session Context (Document)
      parameters:
        - name: appSessionId
          description: string identifying the resource
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: modification of the resource.
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/AppSessionContextUpdateDataPatch'
      responses:
        '200':
          description: successful modification of the resource and a representation of that resource is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppSessionContext'
        '204':
          description: The successful modification
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '400':
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '401':
          $ref: 'TS29571_CommonData.yaml#/components/responses/401'
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ExtendedProblemDetails'
          headers:
            Retry-After:
              description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.'
              schema:
                anyOf:
                  - type: integer
                  - type: string
        '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:
        eventNotification:
          '{$request.body#/ascReqData/evSubsc/notifUri}/notify':
            post:
              requestBody:
                description: Notification of an event occurrence in the PCF.
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/EventsNotification'
              responses:
                '204':
                  description: The receipt of the notification is acknowledged
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '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'
#                
#                
  /app-sessions/{appSessionId}/delete:
    post:
      summary: "Deletes an existing Individual Application Session Context"
      operationId: DeleteAppSession
      tags:
        - Individual Application Session Context (Document)
      parameters:
        - name: appSessionId
          description: string identifying the Individual Application Session Context resource
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: deletion of the Individual Application Session Context resource, req notification
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventsSubscReqData'
      responses:
        '200':
          description: The deletion of the resource is confirmed and a resource is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppSessionContext'
        '204':
          description: The deletion is confirmed without returning additional data.
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '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'
#               
  /app-sessions/{appSessionId}/events-subscription:
    put:
      summary: "creates or modifies an Events Subscription subresource"
      operationId: updateEventsSubsc
      tags:
        - Events Subscription (Document)
      parameters:
        - name: appSessionId
          description: string identifying the Events Subscription resource
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: Creation or modification of an Events Subscription resource.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EventsSubscReqData'
      responses:
        '201':
          description: The creation of the Events Subscription resource is confirmed and its representation is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsSubscPutData'
          headers:
            Location:
              description: 'Contains the URI of the created Events Subscription resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}'
              required: true
              schema:
                type: string
        '200':
          description: The modification of the Events Subscription resource is confirmed its representation is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsSubscPutData'
        '204':
          description: The modification of the Events Subscription subresource is confirmed without returning additional data.
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '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:
        eventNotification:
          '{$request.body#/notifUri}/notify':
            post:
              requestBody:
                description: Contains the information for the notification of an event occurrence in the PCF.
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/EventsNotification'
              responses:
                '204':
                  description: The receipt of the notification is acknowledged.
                '307':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29571_CommonData.yaml#/components/responses/308'
                '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: deletes the Events Subscription subresource
      operationId: DeleteEventsSubsc
      tags:
        - Events Subscription (Document)
      parameters:
        - name: appSessionId
          description: string identifying the Individual Application Session Context resource
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The deletion of the of the Events Subscription sub-resource is confirmed without returning additional data.
        '307':
          $ref: 'TS29571_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29571_CommonData.yaml#/components/responses/308'
        '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:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            npcf-policyauthorization: Access to the Npcf_PolicyAuthorization API
  schemas:
    AppSessionContext:
      description: Represents an Individual Application Session Context resource.
      type: object
      properties:
        ascReqData:
          $ref: '#/components/schemas/AppSessionContextReqData'
        ascRespData:
          $ref: '#/components/schemas/AppSessionContextRespData'
        evsNotif:
          $ref: '#/components/schemas/EventsNotification'
    AppSessionContextReqData:
      description: Identifies the service requirements of an Individual Application Session Context.
      type: object
      required:
        - notifUri
        - suppFeat
      oneOf:
        - required: [ueIpv4]
        - required: [ueIpv6]
        - required: [ueMac]
      properties:
        afAppId:
          $ref: '#/components/schemas/AfAppId'
        afChargId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId'
        afReqData:
          $ref: '#/components/schemas/AfRequestedData'
        afRoutReq:
          $ref: '#/components/schemas/AfRoutingRequirement'
        aspId:
          $ref: '#/components/schemas/AspId'
        bdtRefId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId'
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        evSubsc:
          $ref: '#/components/schemas/EventsSubscReqData'
        mcpttId:
          description: indication of MCPTT service request
          type: string
        mcVideoId:
          description: indication of MCVideo service request
          type: string
        medComponents:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/MediaComponent'
          minProperties: 1
        ipDomain:
          type: string
        mpsId:
          description: indication of MPS service request
          type: string
        mcsId:
          description: indication of MCS service request
          type: string
        preemptControlInfo:
          $ref: '#/components/schemas/PreemptionControlInformation'
        resPrio:
          $ref: '#/components/schemas/ReservPriority'
        servInfStatus:
          $ref: '#/components/schemas/ServiceInfoStatus'
        notifUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        servUrn:
          $ref: '#/components/schemas/ServiceUrn'
        sliceInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        sponId:
          $ref: '#/components/schemas/SponId'
        sponStatus:
          $ref: '#/components/schemas/SponsoringStatus'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        ueIpv4:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ueIpv6:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        ueMac:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
        tsnBridgeManCont:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer'
        tsnPortManContDstt:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
        tsnPortManContNwtts:
          type: array
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
          minItems: 1
    AppSessionContextRespData:
      description: Describes the authorization data of an Individual Application Session Context created by the PCF.
      type: object
      properties:
        servAuthInfo:
          $ref: '#/components/schemas/ServAuthInfo'
        ueIds:
          type: array
          items:
            $ref: '#/components/schemas/UeIdentityInfo'
          minItems: 1
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
    AppSessionContextUpdateDataPatch:
      description: Identifies the modifications to an Individual Application Session Context and/or the modifications to the sub-resource Events Subscription.
      type: object
      properties:
        ascReqData:
          $ref: '#/components/schemas/AppSessionContextUpdateData'
    AppSessionContextUpdateData:
      description: Identifies the modifications to the "ascReqData" property of an Individual Application Session Context which may include the modifications to the sub-resource Events Subscription.
      type: object
      properties:
        afAppId:
          $ref: '#/components/schemas/AfAppId'
        afRoutReq:
          $ref: '#/components/schemas/AfRoutingRequirementRm'
        aspId:
          $ref: '#/components/schemas/AspId'
        bdtRefId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId'
        evSubsc:
          $ref: '#/components/schemas/EventsSubscReqDataRm'
        mcpttId:
          description: indication of MCPTT service request
          type: string
        mcVideoId:
          description: indication of modification of MCVideo service
          type: string
        medComponents:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/MediaComponentRm'
          minProperties: 1
        mpsId:
          description: indication of MPS service request
          type: string
        mcsId:
          description: indication of MCS service request
          type: string
        preemptControlInfo:
          $ref: '#/components/schemas/PreemptionControlInformationRm'
        resPrio:
          $ref: '#/components/schemas/ReservPriority'
        servInfStatus:
          $ref: '#/components/schemas/ServiceInfoStatus'
        sipForkInd:
          $ref: '#/components/schemas/SipForkingIndication'
        sponId:
          $ref: '#/components/schemas/SponId'
        sponStatus:
          $ref: '#/components/schemas/SponsoringStatus'
        tsnBridgeManCont:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer'
        tsnPortManContDstt:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
        tsnPortManContNwtts:
          type: array
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
          minItems: 1
    EventsSubscReqData:
      description: Identifies the events the application subscribes to.
      type: object
      required:
        - events
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/AfEventSubscription'
          minItems: 1
        notifUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        reqQosMonParams:
          type: array
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter'
          minItems: 1
        qosMon:
          $ref: '#/components/schemas/QosMonitoringInformation'
        reqAnis: 
          type: array
          items:
            $ref: '#/components/schemas/RequiredAccessInfo'
          minItems: 1
        usgThres:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold'
        notifCorreId:
          type: string
    EventsSubscReqDataRm:
      description: this data type is defined in the same way as the EventsSubscReqData data type, but with the OpenAPI nullable property set to true.
      type: object
      required:
        - events
      properties:
        events:
          type: array
          items:
            $ref: '#/components/schemas/AfEventSubscription'
        notifUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        reqQosMonParams:
          type: array
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter'
          minItems: 1
        qosMon:
          $ref: '#/components/schemas/QosMonitoringInformationRm'
        reqAnis:
          type: array
          items:
            $ref: '#/components/schemas/RequiredAccessInfo'
          minItems: 1
        usgThres:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm'
        notifCorreId:
          type: string
      nullable: true
    MediaComponent:
      description: Identifies a media component.
      type: object
      required:
        - medCompN
      properties:
        afAppId:
          $ref: '#/components/schemas/AfAppId'
        afRoutReq:
          $ref: '#/components/schemas/AfRoutingRequirement'
        qosReference:
          type: string
        disUeNotif:
          type: boolean
        altSerReqs:
          type: array
          items:
            type: string
          minItems: 1
        contVer:
          $ref: '#/components/schemas/ContentVersion'
        codecs:
          type: array
          items:
            $ref: '#/components/schemas/CodecData'
          minItems: 1
          maxItems: 2
        desMaxLatency:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        desMaxLoss:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
        flusId:
          type: string
        fStatus:
          $ref: '#/components/schemas/FlowStatus'
        marBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        marBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maxPacketLossRateDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        maxPacketLossRateUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        maxSuppBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        maxSuppBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        medCompN:
          type: integer
        medSubComps:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/MediaSubComponent'
          minProperties: 1
        medType:
          $ref: '#/components/schemas/MediaType'
        minDesBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        minDesBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        mirBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        mirBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        preemptCap:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapability'
        preemptVuln:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerability'
        prioSharingInd:
          $ref: '#/components/schemas/PrioritySharingIndicator'
        resPrio:
          $ref: '#/components/schemas/ReservPriority'
        rrBw:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        rsBw:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        sharingKeyDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        sharingKeyUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
        tsnQos:
          $ref: '#/components/schemas/TsnQosContainer'
        tscaiInputDl:
          $ref: '#/components/schemas/TscaiInputContainer'
        tscaiInputUl:
          $ref: '#/components/schemas/TscaiInputContainer'
    MediaComponentRm:
      description: This data type is defined in the same way as the MediaComponent data type, but with the OpenAPI nullable property set to true
      type: object
      required:
        - medCompN
      properties:
        afAppId:
          $ref: '#/components/schemas/AfAppId'
        afRoutReq:
          $ref: '#/components/schemas/AfRoutingRequirementRm'
        qosReference:
          type: string
          nullable: true
        altSerReqs:
          type: array
          items:
            type: string
          minItems: 1
          nullable: true
        disUeNotif:
          type: boolean
        contVer:
          $ref: '#/components/schemas/ContentVersion'
        codecs:
          type: array
          items:
            $ref: '#/components/schemas/CodecData'
          minItems: 1
          maxItems: 2
        desMaxLatency:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm'
        desMaxLoss:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm'
        flusId:
          type: string
          nullable: true
        fStatus:
          $ref: '#/components/schemas/FlowStatus'
        marBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        marBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        maxPacketLossRateDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        maxPacketLossRateUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm'
        maxSuppBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        maxSuppBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        medCompN:
          type: integer
        medSubComps:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/MediaSubComponentRm'
          minProperties: 1
        medType:
          $ref: '#/components/schemas/MediaType'
        minDesBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        minDesBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        mirBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        mirBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        preemptCap:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapabilityRm'
        preemptVuln:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerabilityRm'
        prioSharingInd:
          $ref: '#/components/schemas/PrioritySharingIndicator'
        resPrio:
          $ref: '#/components/schemas/ReservPriority'
        rrBw:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        rsBw:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        sharingKeyDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm'
        sharingKeyUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm'
        tsnQos:
          $ref: '#/components/schemas/TsnQosContainerRm'
        tscaiInputDl:
          $ref: '#/components/schemas/TscaiInputContainer'
        tscaiInputUl:
          $ref: '#/components/schemas/TscaiInputContainer'
      nullable: true
    MediaSubComponent:
      description: Identifies a media subcomponent
      type: object
      required:
        - fNum
      properties:
        afSigProtocol:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol'
        ethfDescs:
          type: array
          items:
            $ref: '#/components/schemas/EthFlowDescription'
          minItems: 1
          maxItems: 2
        fNum:
          type: integer
        fDescs:
          type: array
          items:
            $ref: '#/components/schemas/FlowDescription'
          minItems: 1
          maxItems: 2
        fStatus:
          $ref: '#/components/schemas/FlowStatus'
        marBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        marBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        tosTrCl:
          $ref: '#/components/schemas/TosTrafficClass'
        flowUsage:
          $ref: '#/components/schemas/FlowUsage'
    MediaSubComponentRm:
      description: This data type is defined in the same way as the MediaSubComponent data type, but with the OpenAPI nullable property set to true. Removable attributes marBwDl and marBwUl are defined with the corresponding removable data type.
      type: object
      required:
        - fNum
      properties:
        afSigProtocol:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol'
        ethfDescs:
          type: array
          items:
            $ref: '#/components/schemas/EthFlowDescription'
          minItems: 1
          maxItems: 2
          nullable: true
        fNum:
          type: integer
        fDescs:
          type: array
          items:
            $ref: '#/components/schemas/FlowDescription'
          minItems: 1
          maxItems: 2
          nullable: true
        fStatus:
          $ref: '#/components/schemas/FlowStatus'
        marBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        marBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm'
        tosTrCl:
          $ref: '#/components/schemas/TosTrafficClassRm'
        flowUsage:
          $ref: '#/components/schemas/FlowUsage'
      nullable: true
    EventsNotification:
      description: describes the notification of a matched event
      type: object
      required:
        - evSubsUri
        - evNotifs
      properties:
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        addAccessInfo:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo'
        relAccessInfo:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo'
        anChargAddr:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AccNetChargingAddress'
        anChargIds:
          type: array
          items:
            $ref: '#/components/schemas/AccessNetChargingIdentifier'
          minItems: 1
        anGwAddr:
          $ref: '#/components/schemas/AnGwAddress'
        evSubsUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        evNotifs:
          type: array
          items:
            $ref: '#/components/schemas/AfEventNotification'
          minItems: 1
        failedResourcAllocReports:
          type: array
          items:
            $ref: '#/components/schemas/ResourcesAllocationInfo'
          minItems: 1
        succResourcAllocReports:
          type: array
          items:
            $ref: '#/components/schemas/ResourcesAllocationInfo'
          minItems: 1
        noNetLocSupp:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/NetLocAccessSupport'
        outOfCredReports:
          type: array
          items:
            $ref: '#/components/schemas/OutOfCreditInformation'
          minItems: 1
        plmnId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        qncReports:
          type: array
          items:
            $ref: '#/components/schemas/QosNotificationControlInfo'
          minItems: 1
        qosMonReports:
          type: array
          items:
            $ref: '#/components/schemas/QosMonitoringReport'
          minItems: 1
        ranNasRelCauses:
          type: array
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause'
          minItems: 1
          description: Contains the RAN and/or NAS release cause.
        ratType: 
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        ueLoc:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        ueLocTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        ueTimeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        usgRep:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage'
        tsnBridgeManCont:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer'
        tsnPortManContDstt: 
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
        tsnPortManContNwtts: 
          type: array
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
          minItems: 1
    AfEventSubscription:
      description: describes the event information delivered in the subscription
      type: object
      required:
        - event
      properties:
        event:
          $ref: '#/components/schemas/AfEvent'
        notifMethod:
          $ref: '#/components/schemas/AfNotifMethod'
        repPeriod:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
        waitTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
    AfEventNotification:
      description: describes the event information delivered in the notification
      type: object
      required:
        - event
      properties:
        event:
          $ref: '#/components/schemas/AfEvent'
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flows'
          minItems: 1
    TerminationInfo:
      description: indicates the cause for requesting the deletion of the Individual Application Session Context resource
      type: object
      required:
        - termCause
        - resUri
      properties:
        termCause:
          $ref: '#/components/schemas/TerminationCause'
        resUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
    AfRoutingRequirement:
      description: describes the event information delivered in the subscription
      type: object
      properties:
        appReloc:
          type: boolean
        routeToLocs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
        spVal:
          $ref: '#/components/schemas/SpatialValidity'
        tempVals:
          type: array
          items:
            $ref: '#/components/schemas/TemporalValidity'
          minItems: 1
        upPathChgSub:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent'
        addrPreserInd:
          type: boolean
    SpatialValidity:
      description: describes explicitly the route to an Application location
      type: object
      required:
        - presenceInfoList
      properties:
        presenceInfoList:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 1
    SpatialValidityRm:
      description: this data type is defined in the same way as the SpatialValidity data type, but with the OpenAPI nullable property set to true
      type: object
      required:
        - presenceInfoList
      properties:
        presenceInfoList:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 1
      nullable: true
    AfRoutingRequirementRm:
      description: this data type is defined in the same way as the AfRoutingRequirement data type, but with the OpenAPI nullable property set to true and the spVal and tempVals attributes defined as removable.
      type: object
      properties:
        appReloc:
          type: boolean
        routeToLocs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation'
          minItems: 1
          nullable: true
        spVal:
          $ref: '#/components/schemas/SpatialValidityRm'
        tempVals:
          type: array
          items:
            $ref: '#/components/schemas/TemporalValidity'
          minItems: 1
          nullable: true
        upPathChgSub:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent'
        addrPreserInd:
          type: boolean
          nullable: true
      nullable: true
    AnGwAddress:
      description: describes the address of the access network gateway control node
      type: object
      anyOf:
        - required: [anGwIpv4Addr]
        - required: [anGwIpv6Addr]
      properties:
        anGwIpv4Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        anGwIpv6Addr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
    Flows:
      description: Identifies the flows
      type: object
      required:
        - medCompN
      properties:
        contVers:
          type: array
          items:
            $ref: '#/components/schemas/ContentVersion'
          minItems: 1
        fNums:
          type: array
          items:
            type: integer
          minItems: 1
        medCompN:
          type: integer
    EthFlowDescription:
      description: Identifies an Ethernet flow
      type: object
      required:
        - ethType
      properties:
        destMacAddr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
        ethType:
          type: string
        fDesc:
          $ref: '#/components/schemas/FlowDescription'
        fDir:
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowDirection'
        sourceMacAddr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
        vlanTags:
          type: array
          items: 
            type: string
          minItems: 1
          maxItems: 2
        srcMacAddrEnd:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
        destMacAddrEnd:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'


    ResourcesAllocationInfo:
      description: describes the status of the PCC rule(s) related to certain media components.
      type: object
      properties:
        mcResourcStatus:
          $ref: '#/components/schemas/MediaComponentResourcesStatus'
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flows'
          minItems: 1
        altSerReq:
          type: string
    TemporalValidity:
      description: Indicates the time interval(s) during which the AF request is to be applied
      type: object
      properties:
        startTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
        stopTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
#
    QosNotificationControlInfo:
      description: Indicates whether the QoS targets for a GRB flow are not guaranteed or guaranteed again
      type: object
      required:
        - notifType
      properties:
        notifType:
          $ref: '#/components/schemas/QosNotifType'
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flows'
          minItems: 1
        altSerReq:
          type: string
#
    AcceptableServiceInfo:
      description: Indicates the maximum bandwidth that shall be authorized by the PCF.
      type: object
      properties:
        accBwMedComps:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/MediaComponent'
          minProperties: 1
        marBwUl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
        marBwDl:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'

    UeIdentityInfo:
      description: Represents 5GS-Level UE identities.
      type: object
      anyOf:
        - required: [gpsi]
        - required: [pei]
        - required: [supi]
      properties:
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
#
    AccessNetChargingIdentifier:
      description: Describes the access network charging identifier.
      type: object
      required:
        - accNetChaIdValue
      properties:
        accNetChaIdValue:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId'
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flows'
          minItems: 1
#
    OutOfCreditInformation:
      description: Indicates the SDFs without available credit and the corresponding termination action.
      type: object
      required:
        - finUnitAct
      properties:
        finUnitAct:
          $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/FinalUnitAction'
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flows'
          minItems: 1
#
    QosMonitoringInformation:
      description: Indicates the QoS Monitoring information to report, i.e. UL and/or DL and or round trip delay.
      type: object
      properties:
        repThreshDl:
          type: integer
        repThreshUl:
          type: integer
        repThreshRp:
          type: integer
#
#
    PduSessionTsnBridge:
      description: Contains the new 5GS Bridge information and may contain the DS-TT port and/or NW-TT port management information.
      type: object
      required:
        - tsnBridgeInfo
      properties:
        tsnBridgeInfo: 
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/TsnBridgeInfo'
        tsnBridgeManCont: 
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer'
        tsnPortManContDstt: 
          $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
        tsnPortManContNwtts: 
          type: array
          items:
            $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer'
          minItems: 1

#
    QosMonitoringInformationRm:
      description: this data type is defined in the same way as the QosMonitoringInformation data type, but with the OpenAPI nullable property set to true.
      type: object
      properties:
        repThreshDl:
          type: integer
        repThreshUl:
          type: integer
        repThreshRp:
          type: integer
      nullable: true
#
    PcscfRestorationRequestData:
      description: Indicates P-CSCF restoration.
      type: object
      oneOf:
        - required: [ueIpv4]
        - required: [ueIpv6]
      properties:
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        ipDomain:
          type: string
        sliceInfo:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        ueIpv4:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ueIpv6:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'

#
#
    QosMonitoringReport:
      description: QoS Monitoring reporting information
      type: object
      properties:
        flows:
          type: array
          items:
            $ref: '#/components/schemas/Flows'
          minItems: 1
        ulDelays:
          type: array
          items:
            type: integer
          minItems: 1
        dlDelays:
          type: array
          items:
            type: integer
          minItems: 1
        rtDelays:
          type: array
          items:
            type: integer
          minItems: 1
#
    TsnQosContainer:
      description: Indicates TSC Traffic QoS.
      type: object
      properties:
        maxTscBurstSize:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol'
        tscPackDelay:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget'
        tscPrioLevel:
          $ref: '#/components/schemas/TscPriorityLevel'
#
#
    TsnQosContainerRm:
      description: Indicates removable TSC Traffic QoS.
      type: object
      properties:
        maxTscBurstSize:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm'
        tscPackDelay:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudgetRm'
        tscPrioLevel:
          $ref: '#/components/schemas/TscPriorityLevelRm'
      nullable: true
#
    TscaiInputContainer:
      description: Indicates TSC Traffic pattern.
      type: object
      properties:
        periodicity:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        burstArrivalTime:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
      nullable: true
#
#
    EventsSubscPutData:
      description: Identifies the events the application subscribes to within an Events Subscription sub-resource data. It may contain the notification of the already met events
      anyOf:
        - $ref: '#/components/schemas/EventsSubscReqData'
        - $ref: '#/components/schemas/EventsNotification'
#
# EXTENDED PROBLEMDETAILS
#
    ExtendedProblemDetails:
      description: Extends ProblemDetails to also include the acceptable service info.
      allOf:
        - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        - type: object
          properties:
            acceptableServInfo:
              $ref: '#/components/schemas/AcceptableServiceInfo'

#
# SIMPLE DATA TYPES
#
    AfAppId:
      description: Contains an AF application identifier.
      type: string
    AspId:
      description: Contains an identity of an application service provider.
      type: string
    CodecData:
      description: Contains codec related information.
      type: string
    ContentVersion:
      description: Represents the content version of some content.
      type: integer
    FlowDescription:
      description: Defines a packet filter of an IP flow.
      type: string
    SponId:
      description: Contains an identity of a sponsor.
      type: string
    ServiceUrn:
      description: Contains values of the service URN and may include subservices.
      type: string
    TosTrafficClass:
      description: 2-octet string, where each octet is encoded in hexadecimal representation. The first octet contains the IPv4 Type-of-Service or the IPv6 Traffic-Class field and the second octet contains the ToS/Traffic Class mask field.
      type: string
    TosTrafficClassRm:
      description: this data type is defined in the same way as the TosTrafficClass data type, but with the OpenAPI nullable property set to true
      type: string
      nullable: true
    TscPriorityLevel:
      type: integer
      minimum: 1
      maximum: 8
    TscPriorityLevelRm:
      type: integer
      minimum: 1
      maximum: 8
      nullable: true
#
# ENUMERATIONS DATA TYPES
#
    MediaType:
      anyOf:
        - type: string
          enum:
            - AUDIO
            - VIDEO
            - DATA
            - APPLICATION
            - CONTROL
            - TEXT
            - MESSAGE
            - OTHER
        - type: string
#
    ReservPriority:
      anyOf:
        - type: string
          enum:
            - PRIO_1
            - PRIO_2
            - PRIO_3
            - PRIO_4
            - PRIO_5
            - PRIO_6
            - PRIO_7
            - PRIO_8
            - PRIO_9
            - PRIO_10
            - PRIO_11
            - PRIO_12
            - PRIO_13
            - PRIO_14
            - PRIO_15
            - PRIO_16
        - type: string
#        
    ServAuthInfo:
      anyOf:
      - type: string
        enum:
          - TP_NOT_KNOWN
          - TP_EXPIRED
          - TP_NOT_YET_OCURRED
      - type: string
#      
    SponsoringStatus:
      anyOf:
      - type: string
        enum:
          - SPONSOR_DISABLED
          - SPONSOR_ENABLED
      - type: string
#        
    AfEvent:
      anyOf:
      - type: string
        enum:
          - ACCESS_TYPE_CHANGE
          - ANI_REPORT
          - CHARGING_CORRELATION
          - EPS_FALLBACK
          - FAILED_RESOURCES_ALLOCATION
          - OUT_OF_CREDIT
          - PLMN_CHG
          - QOS_MONITORING
          - QOS_NOTIF
          - RAN_NAS_CAUSE
          - REALLOCATION_OF_CREDIT
          - SUCCESSFUL_RESOURCES_ALLOCATION
          - TSN_BRIDGE_INFO
          - USAGE_REPORT
      - type: string
#        
    AfNotifMethod:
      anyOf:
      - type: string
        enum:
          - EVENT_DETECTION
          - ONE_TIME
          - PERIODIC
          - PDU_SESSION_RELEASE
      - type: string
#        
    QosNotifType:
      anyOf:
      - type: string
        enum:
          - GUARANTEED
          - NOT_GUARANTEED
      - type: string
#        
    TerminationCause:
      anyOf:
      - type: string
        enum:
          - ALL_SDF_DEACTIVATION
          - PDU_SESSION_TERMINATION
          - PS_TO_CS_HO
      - type: string
#        
    MediaComponentResourcesStatus:
      anyOf:
      - type: string
        enum:
          - ACTIVE
          - INACTIVE
      - type: string
#
#
    FlowUsage:
      anyOf:
      - type: string
        enum:
          - NO_INFO
          - RTCP
          - AF_SIGNALLING
      - type: string


    FlowStatus:
      anyOf:
      - type: string
        enum:
          - ENABLED-UPLINK
          - ENABLED-DOWNLINK
          - ENABLED
          - DISABLED
          - REMOVED
      - type: string
#        
    RequiredAccessInfo:
      anyOf:
      - type: string
        enum:
          - USER_LOCATION
          - UE_TIME_ZONE
      - type: string
#        
    SipForkingIndication:
      anyOf:
        - type: string
          enum:
            - SINGLE_DIALOGUE
            - SEVERAL_DIALOGUES
        - type: string
#
    AfRequestedData:
      anyOf:
        - type: string
          enum:
            - UE_IDENTITY
        - type: string
#        
    ServiceInfoStatus:
      anyOf:
        - type: string
          enum:
            - FINAL
            - PRELIMINARY
        - type: string
#        
    PreemptionControlInformation:
      anyOf:
        - type: string
          enum:
            - MOST_RECENT
            - LEAST_RECENT
            - HIGHEST_BW
        - type: string
#        
    PrioritySharingIndicator:
      anyOf:
        - type: string
          enum:
            - ENABLED
            - DISABLED
        - type: string
#        
    PreemptionControlInformationRm:
      anyOf:
        - $ref: '#/components/schemas/PreemptionControlInformation'
        - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue'
