Npcf_AMPolicyControl

The Access and Mobility Policy Control Service (Npcf_AMPolicyControl) is part of the Npcf service-based interface exhibited by the Policy Control Function (PCF).

The known consumers of the Npcf_AMPolicyControl service are the Access and Mobility Management Function (AMF) and the Visited Policy Control Function (V-PCF).

Reference: 3GPP TS 29.507 version 15.0.0 Release 15

OpenAPI

OpenAPI Version: 3.0.0

Info


Description: Access and Mobility Policy Control Service API 
Version: "1.0.0" 
Title: Npcf_AMPolicyControl 

Servers


  URL: '{apiRoot}/npcf-am-policy-control/v1' 
  Variables: 
    API Root: 
      Default: https://example.com 
      Description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501 

Security


- {} 
- oAuth2ClientCredentials: 
  - npcf-am-policy-control 

Paths

/policies


  Method: Post 
    Request Body: 
      Required/Optional: true 
      Content: 
        Application/JSON: 
          Schema: 
            Reference: '#/components/schemas/PolicyAssociationRequest' 
 
    Responses: 
      '201': 
        Description: Created 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: '#/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/Optional: true 
            Schema: 
              Type: string 
      '400': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/400' 
      '401': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/401' 
      '403': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/404' 
      '411': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/411' 
      '413': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/413' 
      '415': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/415' 
      '429': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/429' 
      '500': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/500' 
      '503': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: 'TS29571_CommonData.yaml#/components/responses/default' 
    Callbacks: 
      policyUpdateNotification: 
        '{$request.body#/notificationUri}/update': 
          Method: Post 
            Request Body: 
              Required/Optional: true 
              Content: 
                Application/JSON: 
                  Schema: 
                    Reference: '#/components/schemas/PolicyUpdate' 
 
            Responses: 
              '204': 
                Description: No Content, Notification was succesfull 
              '307': 
                Description: temporary redirect 
              '400': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/400' 
              '401': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/401' 
              '403': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/403' 
              '404': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/404' 
              '411': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/411' 
              '413': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/413' 
              '415': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/415' 
              '429': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/429' 
              '500': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/500' 
              '503': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/503' 
              Default: 
                Reference: 'TS29571_CommonData.yaml#/components/responses/default' 
      policyAssocitionTerminationRequestNotification: 
        '{$request.body#/notificationUri}/terminate': 
          Method: Post 
            Request Body: 
              Required/Optional: true 
              Content: 
                Application/JSON: 
                  Schema: 
                    Reference: '#/components/schemas/TerminationNotification' 
 
            Responses: 
              '204': 
                Description: No Content, Notification was succesfull 
              '307': 
                Description: temporary redirect 
              '400': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/400' 
              '401': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/401' 
              '403': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/403' 
              '404': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/404' 
              '411': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/411' 
              '413': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/413' 
              '415': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/415' 
              '429': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/429' 
              '500': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/500' 
              '503': 
                Reference: 'TS29571_CommonData.yaml#/components/responses/503' 
              Default: 
                Reference: 'TS29571_CommonData.yaml#/components/responses/default' 

/policies/{polAssoId}


  get: 
 
    Parameters: 
      - Name: polAssoId 
        In: path 
        Description: Identifier of a policy association 
        Required/Optional: true 
        Schema: 
          Type: string 
 
    Responses: 
      '200': 
        Description: OK. Resource representation is returned 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: '#/components/schemas/PolicyAssociation' 
      '400': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/400' 
      '401': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/401' 
      '403': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/404' 
      '406': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/406' 
      '429': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/429' 
      '500': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/500' 
      '503': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: 'TS29571_CommonData.yaml#/components/responses/default' 
  delete: 
 
    Parameters: 
      - Name: polAssoId 
        In: path 
        Description: Identifier of a policy association 
        Required/Optional: true 
        Schema: 
          Type: string 
 
    Responses: 
      '204': 
        Description: No Content. Resource was succesfully deleted 
      '400': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/400' 
      '401': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/401' 
      '403': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/404' 
      '429': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/429' 
      '500': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/500' 
      '503': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: 'TS29571_CommonData.yaml#/components/responses/default' 

/policies/{polAssoId}/update


  Method: Post 
    Request Body: 
      Required/Optional: true 
      Content: 
        Application/JSON: 
          Schema: 
            Reference: '#/components/schemas/PolicyAssociationUpdateRequest' 
 
    Parameters: 
      - Name: polAssoId 
        In: path 
        Description: Identifier of a policy association 
        Required/Optional: true 
        Schema: 
          Type: string 
 
    Responses: 
      '200': 
        Description: OK. Updated policies are returned 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: '#/components/schemas/PolicyUpdate' 
      '400': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/400' 
      '401': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/401' 
      '403': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/404' 
      '411': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/411' 
      '413': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/413' 
      '415': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/415' 
      '429': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/429' 
      '500': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/500' 
      '503': 
        Reference: 'TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: '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: 
    Type: object 
    Properties: 
      request: 
        Reference: '#/components/schemas/PolicyAssociationRequest' 
      triggers: 
        Type: array 
        Items: 
          Reference: '#/components/schemas/RequestTrigger' 
        minItems: 1 
        Description: Request Triggers that the PCF subscribes. Only values "LOC_CH" and "PRA_CH" are permitted. 
      servAreaRes: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' 
      rfsp: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' 
      pras: 
        Type: object 
        additionalProperties: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' 
        minProperties: 1 
      suppFeat: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' 
    Required: 
      - suppFeat 
  PolicyAssociationRequest: 
    Type: object 
    Properties: 
      notificationUri: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Uri' 
      altNotifIpv4Addrs: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' 
        minItems: 1 
        Description: Alternate or backup IPv4 Address(es) where to send Notifications. 
      altNotifIpv6Addrs: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' 
        minItems: 1 
        Description: Alternate or backup IPv6 Address(es) where to send Notifications. 
      supi: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Supi' 
      gpsi: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' 
      accessType: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/AccessType' 
      pei: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Pei' 
      userLoc: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' 
      timeZone: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' 
      servingPlmn: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/NetworkId' 
      ratType: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/RatType' 
      groupIds: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/GroupId' 
        minItems: 1 
      servAreaRes: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' 
      rfsp: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' 
      guami: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Guami' 
      serviveName: 
        Type: string 
        Description: If the NF service consumer is an AMF, it should provide the name of a service produced by the AMF that makes use of information received within the Npcf_AMPolicyControl_UpdateNotify service operation. 
      traceReq: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/TraceData' 
      suppFeat: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' 
    Required: 
      - notificationUri 
      - suppFeat 
      - supi 
  PolicyAssociationUpdateRequest: 
    Type: object 
    Properties: 
      notificationUri: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Uri' 
      altNotifIpv4Addrs: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' 
        minItems: 1 
        Description: Alternate or backup IPv4 Address(es) where to send Notifications. 
      altNotifIpv6Addrs: 
        Type: array 
        Items: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' 
        minItems: 1 
        Description: Alternate or backup IPv6 Address(es) where to send Notifications. 
      triggers: 
        Type: array 
        Items: 
          Reference: '#/components/schemas/RequestTrigger' 
        minItems: 1 
        Description: Request Triggers that the NF service consumer observes. 
      servAreaRes: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' 
      rfsp: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' 
      praStatuses: 
        Type: object 
        additionalProperties: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' 
        minProperties: 1 
        Description: Map of PRA status information. 
      userLoc: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' 
      traceReq: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/TraceData' 
  PolicyUpdate: 
    Type: object 
    Properties: 
      resourceUri: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Uri' 
      triggers: 
        Type: array 
        Items: 
          Reference: '#/components/schemas/RequestTrigger' 
        minItems: 1 
        nullable: true 
        Description: Request Triggers that the PCF subscribes. Only values "LOC_CH" and "PRA_CH" are permitted. 
      servAreaRes: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/ServiceAreaRestriction' 
      rfsp: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/RfspIndex' 
      pras: 
        Type: object 
        additionalProperties: 
          Reference: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfoRm' 
        Description: Map of PRA information. 
        minProperties: 1 
        nullable: true 
    Required: 
      - resourceUri 
  TerminationNotification: 
    Type: object 
    Properties: 
      resourceUri: 
        Reference: 'TS29571_CommonData.yaml#/components/schemas/Uri' 
      cause: 
        Reference: '#/components/schemas/PolicyAssociationReleaseCause' 
    Required: 
      - resourceUri 
      - cause 
  RequestTrigger: 
    anyOf: 
    - type: string 
      enum: 
        - LOC_CH 
        - PRA_CH 
        - SERV_AREA_CH 
        - RFSP_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 UE is entering/leaving a 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. 
  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.