OpenAPI
OpenAPI Version: 3.0.0
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
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 Version: 3.0.0
Description: Access and Mobility Policy Control Service API
Version: "1.0.0"
Title: Npcf_AMPolicyControl
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
- {}
- oAuth2ClientCredentials:
- npcf-am-policy-control
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'
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'
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'
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.