openapi: 3.0.0
info:
  version: 1.2.0-alpha.3
  title: Npcf_AMPolicyControl
  description: |
    Access and Mobility Policy Control Service.
    © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 29.507 V17.2.0; 5G System; Access and Mobility Policy Control Service.
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.507/'
servers:
  - url: '{apiRoot}/npcf-am-policy-control/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501
security:
  - {}
  - oAuth2ClientCredentials:
    - npcf-am-policy-control
paths:
  /policies:
    post:
      operationId: CreateIndividualAMPolicyAssociation
      summary: Create individual AM policy association.
      tags:
        - AM Policy Associations (Collection)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyAssociationRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyAssociation'
          headers:
            Location:
              description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/npcf-am-policy-control/v1/policies/{polAssoId}'
              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:
        policyUpdateNotification:
          '{$request.body#/notificationUri}/update': 
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/PolicyUpdate'
              responses: 
                '200':
                  description: OK. The current applicable values corresponding to the policy control request trigger is reported
                  content:
                    application/json:
                      schema:
                        $ref: '#/components/schemas/AmRequestedValueRep'
                '204':
                  description: No Content, Notification was successful.
                '307':
                  description: temporary redirect
                  content:
                    application/problem+json:
                      schema:
                        $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  headers:
                    Location:
                      description: ' A URI pointing to the endpoint of an alternative NF consumer (service) instance towards which the notification should be redirected.'
                      required: true
                      schema:
                        type: string
                    3gpp-Sbi-Target-Nf-Id:
                      description: 'Identifier of the target NF (service) instance towards which the notification request is redirected'
                      schema:
                        type: string
                '308':
                  description: Permanent Redirect
                  content:
                    application/problem+json:
                      schema:
                        $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  headers:
                    Location:
                      required: true
                      description: 'A URI pointing to the endpoint of an alternative NF consumer (service) instance towards which the notification should be redirected.'
                      schema:
                        type: string
                    3gpp-Sbi-Target-Nf-Id:
                      description: 'Identifier of the target NF (service) instance towards which the notification request is redirected'
                      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'
        policyAssocitionTerminationRequestNotification:
          '{$request.body#/notificationUri}/terminate': 
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/TerminationNotification'
              responses:
                '204':
                  description: No Content, Notification was successful.
                '307':
                  description: temporary redirect
                  content:
                    application/problem+json:
                      schema:
                        $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  headers:
                    Location:
                      description: ' A URI pointing to the endpoint of an alternative NF consumer (service) instance towards which the notification should be redirected.'
                      required: true
                      schema:
                        type: string
                    3gpp-Sbi-Target-Nf-Id:
                      description: 'Identifier of the target NF (service) instance towards which the notification request is redirected'
                      schema:
                        type: string
                '308':
                  description: Permanent Redirect
                  content:
                    application/problem+json:
                      schema:
                        $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
                  headers:
                    Location:
                      required: true
                      description: 'A URI pointing to the endpoint of an alternative NF consumer (service) instance towards which the notification should be redirected.'
                      schema:
                        type: string
                    3gpp-Sbi-Target-Nf-Id:
                      description: 'Identifier of the target NF (service) instance towards which the notification request is redirected'
                      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'
  /policies/{polAssoId}:
    get:
      operationId: ReadIndividualAMPolicyAssociation
      summary: Read individual AM policy association.
      tags:
        - Individual AM Policy Association (Document)
      parameters:
        - name: polAssoId
          in: path
          description: Identifier of a policy association
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. Resource representation is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyAssociation'
        '307':
          description: Temporary Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
          headers:
            Location:
              description: 'An alternative URI of the resource located on an alternative PCF (service) instance.'
              required: true
              schema:
                type: string
            3gpp-Sbi-Target-Nf-Id:
              description: 'Identifier of the target NF (service) instance towards which the request is redirected'
              schema:
                type: string
        '308':
          description: Permanent Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
          headers:
            Location:
              description: 'An alternative URI of the resource located on an alternative PCF (service) instance.'
              required: true
              schema:
                type: string
            3gpp-Sbi-Target-Nf-Id:
              description: 'Identifier of the target NF (service) instance towards which the request is redirected'
              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'
        '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:
      operationId: DeleteIndividualAMPolicyAssociation
      summary: Delete individual AM policy association.
      tags:
        - Individual AM Policy Association (Document)
      parameters:
        - name: polAssoId
          in: path
          description: Identifier of a policy association
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content. Resource was successfully deleted.
        '307':
          description: Temporary Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
          headers:
            Location:
              description: 'An alternative URI of the resource located on an alternative PCF (service) instance.'
              required: true
              schema:
                type: string
            3gpp-Sbi-Target-Nf-Id:
              description: 'Identifier of the target NF (service) instance towards which the request is redirected'
              schema:
                type: string
        '308':
          description: Permanent Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
          headers:
            Location:
              description: 'An alternative URI of the resource located on an alternative PCF (service) instance.'
              required: true
              schema:
                type: string
            3gpp-Sbi-Target-Nf-Id:
              description: 'Identifier of the target NF (service) instance towards which the request is redirected'
              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'
        '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'
  /policies/{polAssoId}/update:
    post:
      operationId: ReportObservedEventTriggersForIndividualAMPolicyAssociation
      summary: Report observed event triggers and obtain updated policies for an individual AM policy association.
      tags:
        - Individual AM Policy Association (Document)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyAssociationUpdateRequest'
      parameters:
        - name: polAssoId
          in: path
          description: Identifier of a policy association
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK. Updated policies are returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyUpdate'
        '307':
          description: Temporary Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
          headers:
            Location:
              description: 'An alternative URI of the resource located on an alternative PCF (service) instance.'
              required: true
              schema:
                type: string
            3gpp-Sbi-Target-Nf-Id:
              description: 'Identifier of the target NF (service) instance towards which the request is redirected'
              schema:
                type: string
        '308':
          description: Permanent Redirect
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
          headers:
            Location:
              description: 'An alternative URI of the resource located on an alternative PCF (service) instance.'
              required: true
              schema:
                type: string
            3gpp-Sbi-Target-Nf-Id:
              description: 'Identifier of the target NF (service) instance towards which the request is redirected'
              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'
components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{nrfApiRoot}/oauth2/token'
          scopes:
            npcf-am-policy-control: Access to the Npcf_AMPolicyControl API
  schemas:
    PolicyAssociation:
      description: Represents an individual AM Policy Association resource.
      type: object
      properties:
        request:
          $ref: '#/components/schemas/PolicyAssociationRequest'
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/RequestTrigger'
          minItems: 1
          description: Request Triggers that the PCF subscribes.
        servAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
        wlServAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
        rfsp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
        smfSelInfo:
          $ref: '#/components/schemas/SmfSelectionData'
        ueAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        pras:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 1
          description: Contains the presence reporting area(s) for which reporting was requested. The praId attribute within the PresenceInfo data type is the key of the map.
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - suppFeat
    PolicyAssociationRequest: 
      description: Information which the NF service consumer provides when requesting the creation of a policy association. The serviveName property corresponds to the serviceName in the main body of the specification.
      type: object
      properties:
        notificationUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        altNotifIpv4Addrs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
          minItems: 1
          description: Alternate or backup IPv4 Address(es) where to send Notifications.
        altNotifIpv6Addrs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
          minItems: 1
          description: Alternate or backup IPv6 Address(es) where to send Notifications. 
        altNotifFqdns:
          type: array
          items:
            $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
          minItems: 1
          description: Alternate or backup FQDN(s) where to send Notifications.
        supi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        accessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
        accessTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
          minItems: 1
        pei:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei'
        userLoc:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        timeZone:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone'
        servingPlmn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid'
        ratType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
        ratTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
          minItems: 1
        groupIds:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
          minItems: 1
        servAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
        wlServAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
        rfsp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
        ueAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        allowedSnssais:
          description: array of allowed S-NSSAIs for the 3GPP access. 
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1
        mappingSnssais:
          description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. 
          type: array
          items:
            $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai'
          minItems: 1
        n3gAllowedSnssais:
          description: array of allowed S-NSSAIs for the Non-3GPP access. 
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1
        guami:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
        serviveName:
          $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/ServiceName'
        traceReq:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      required:
        - notificationUri
        - suppFeat
        - supi
    PolicyAssociationUpdateRequest:
      description: Represents information that the NF service consumer provides when requesting the update of a policy association.
      type: object
      properties:
        notificationUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        altNotifIpv4Addrs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
          minItems: 1
          description: Alternate or backup IPv4 Address(es) where to send Notifications.
        altNotifIpv6Addrs:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
          minItems: 1
          description: Alternate or backup IPv6 Address(es) where to send Notifications. 
        altNotifFqdns:
          type: array
          items:
            $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn'
          minItems: 1
          description: Alternate or backup FQDN(s) where to send Notifications.
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/RequestTrigger'
          minItems: 1
          description: Request Triggers that the NF service consumer observes.
        servAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
        wlServAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
        rfsp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
        smfSelInfo:
          $ref: '#/components/schemas/SmfSelectionData'
        ueAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        praStatuses:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 1
          description: Contains the UE presence status for tracking area for which changes of the UE presence occurred. The praId attribute within the PresenceInfo data type is the key of the map.
        userLoc:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        allowedSnssais:
          description: array of allowed S-NSSAIs for the 3GPP access. 
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1
        mappingSnssais:
          description: mapping of each S-NSSAI of the Allowed NSSAI to the corresponding S-NSSAI of the HPLMN. 
          type: array
          items:
            $ref: 'TS29531_Nnssf_NSSelection.yaml#/components/schemas/MappingOfSnssai'
          minItems: 1
        accessTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
          minItems: 1
        ratTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'
          minItems: 1
        n3gAllowedSnssais:
          description: array of allowed S-NSSAIs for the Non-3GPP access. 
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
          minItems: 1
        traceReq:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/TraceData'
        guami:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Guami'
    PolicyUpdate:
      description: Represents updated policies that the PCF provides in a notification or in a reply to an Update Request.
      type: object
      properties:
        resourceUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        triggers:
          type: array
          items:
            $ref: '#/components/schemas/RequestTrigger'
          minItems: 1
          nullable: true
          description: Request Triggers that the PCF subscribes.
        servAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction'
        wlServAreaRes:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/WirelineServiceAreaRestriction'
        rfsp:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex'
        smfSelInfo:
          $ref: '#/components/schemas/SmfSelectionData'
        ueAmbr:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ambr'
        pras:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm'
          description: Contains the presence reporting area(s) for which reporting was requested. The praId attribute within the PresenceInfo data type is the key of the map.
          minProperties: 1
          nullable: true
      required:
        - resourceUri
    TerminationNotification:
      description: Represents a request to terminate a policy Association that the PCF provides in a notification.
      type: object
      properties:
        resourceUri:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        cause:
          $ref: '#/components/schemas/PolicyAssociationReleaseCause'
      required:
        - resourceUri
        - cause
    SmfSelectionData:
      description: Represents the SMF Selection information that may be replaced by the PCF.
      type: object
      properties:
        unsuppDnn:
          type: boolean
        candidates:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CandidateForReplacement'
          minProperties: 1
          description: Contains the list of DNNs per S-NSSAI that are candidates for replacement. The snssai attribute within the CandidateForReplacement data type is the key of the map.
          nullable: true
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        mappingSnssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
      nullable: true
    CandidateForReplacement:
      description: Represents a list of candidate DNNs for replacement for an S-NSSAI.
      type: object
      properties:
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        dnns:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
          minItems: 1
          nullable: true
      required:
        - snssai
      nullable: true
    AmRequestedValueRep:
      description: Represents the current applicable values corresponding to the policy control request triggers.
      type: object
      properties:
        userLoc:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation'
        praStatuses:
          type: object
          additionalProperties:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo'
          minProperties: 1
          description: Contains the UE presence statuses for tracking areas. The praId attribute within the PresenceInfo data type is the key of the map.
        accessTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType'
          minItems: 1
        ratTypes:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType'

    RequestTrigger:
      anyOf:
      - type: string
        enum:
          - LOC_CH
          - PRA_CH
          - SERV_AREA_CH
          - RFSP_CH
          - ALLOWED_NSSAI_CH
          - UE_AMBR_CH
          - SMF_SELECT_CH
          - ACCESS_TYPE_CH
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: >
        Possible values are
        - LOC_CH: Location change (tracking area). The tracking area of the UE has changed.
        - PRA_CH: Change of UE presence in PRA. The AMF reports the current presence status of the UE in a Presence Reporting Area, and notifies that the UE enters/leaves the Presence Reporting Area.
        - SERV_AREA_CH: Service Area Restriction change. The UDM notifies the AMF that the subscribed service area restriction information has changed.
        - RFSP_CH: RFSP index change. The UDM notifies the AMF that the subscribed RFSP index has changed.
        - ALLOWED_NSSAI_CH: Allowed NSSAI change. The AMF notifies that the set of UE allowed S-NSSAIs has changed.
        - UE_AMBR_CH: UE-AMBR change. The UDM notifies the AMF that the subscribed UE-AMBR has changed.
        - SMF_SELECT_CH: SMF selection information change. The UE requested for an unsupported DNN or UE requested for a DNN within the list of DNN candidates for replacement per S-NSSAI.
        - ACCESS_TYPE_CH: Access Type change. The AMF notifies that the access type and the RAT type combinations available in the AMF for a UE with simultaneous 3GPP and non-3GPP connectivity has changed. 
    PolicyAssociationReleaseCause:
      anyOf:
      - type: string
        enum:
          - UNSPECIFIED
          - UE_SUBSCRIPTION
          - INSUFFICIENT_RES
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: >
        Possible values are
        - UNSPECIFIED: This value is used for unspecified reasons.
        - UE_SUBSCRIPTION: This value is used to indicate that the session needs to be terminated because the subscription of UE has changed (e.g. was removed).
        - INSUFFICIENT_RES: This value is used to indicate that the server is overloaded and needs to abort the session.