A.15 AMPolicyAuthorization API

29.5223GPP5G SystemNetwork Exposure Function Northbound APIsRelease 18Stage 3TS

openapi: 3.0.0

info:

title: 3gpp-am-policyauthorization

version: 1.0.2

description: |

API for AM policy authorization.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

externalDocs:

description: >

3GPP TS 29.522 V17.8.0; 5G System; Network Exposure Function Northbound APIs.

url: ‘https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/’

security:

– {}

– oAuth2ClientCredentials: []

servers:

– url: ‘{apiRoot}/3gpp-am-policyauthorization/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:

/{afId}/app-am-contexts:

post:

summary: Creates a new Individual application AM Context resource

operationId: PostAppAmContexts

tags:

– Application AM Contexts

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

requestBody:

description: new resource creation

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/AppAmContextExpData’

responses:

‘201’:

description: Created (Successful creation)

content:

application/json:

schema:

$ref: ‘#/components/schemas/AppAmContextExpRespData’

headers:

Location:

description: Contains the URI of the newly created resource.

required: true

schema:

type: string

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

callbacks:

amEventNotification:

‘{$request.body#/evSubscs/eventNotifUri}’:

post:

requestBody:

description: Notification of an event occurrence.

required: true

content:

application/json:

schema:

$ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification’

responses:

‘204’:

description: The receipt of the notification is acknowledged

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

/{afId}/app-am-contexts/{appAmContextId}:

get:

summary: read an existing Individual application AM context

operationId: GetAppAmContext

tags:

– Individual Application AM Context

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: appAmContextId

in: path

description: Identifier of the Individual application AM context

required: true

schema:

type: string

responses:

‘200’:

description: OK (A representation of the resource is successfully returned)

content:

application/json:

schema:

$ref: ‘#/components/schemas/AppAmContextExpData’

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘406’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/406’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

patch:

summary: partial modifies an existing Individual application AM context

operationId: ModAppAmContext

tags:

– Individual Application AM Context

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: appAmContextId

in: path

description: Identifier of the application AM context resource

required: true

schema:

type: string

requestBody:

required: true

content:

application/merge-patch+json:

schema:

$ref: ‘#/components/schemas/AppAmContextExpUpdateData’

responses:

‘200’:

description: >

successful modification of the resource and a representation of that

resource is returned. If a subscribed event is matched, the event

notification is also included in the response.

content:

application/json:

schema:

$ref: ‘#/components/schemas/AppAmContextExpRespData’

‘204’:

description: The successful modification

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

delete:

summary: Deletes an existing Individual Application AM Context

operationId: DeleteAppAmContext

tags:

– Individual Application AM Context

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: appAmContextId

in: path

description: string identifying the Individual aaplication AM context resource

required: true

schema:

type: string

responses:

‘204’:

description: The deletion is confirmed without returning additional data.

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

/{afId}/app-am-contexts/{appAmContextId}/events-subscription:

put:

summary: creates or modifies an AM Policy Events Subscription sub-resource.

operationId: UpdateAmEventsSubsc

tags:

– AM Policy Events Subscription

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: appAmContextId

in: path

description: string identifying the AM Policy Events Subscription subresource

required: true

schema:

type: string

requestBody:

description: >

Creation or modification of an application AM Policy Events Subscription sub-resource.

required: true

content:

application/json:

schema:

$ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscData’

responses:

‘201’:

description: >

The creation of the application AM Policy Events Subscription sub-resource

is confirmed and its representation is returned. If an AM Event is matched,

the response also includes the notification.

content:

application/json:

schema:

$ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscRespData’

headers:

Location:

description: >

Contains the URI of the created AM Policy Events Subscription

subresource, according to the structure

{apiRoot}/3gpp-am-policyauthorization/v1/{afId}/app-am-

contexts/{appAmContextId}/events-subscription}

required: true

schema:

type: string

‘200’:

description: >

The modification of the AM Policy Events Subscription subresource is confirmed

and its representation is returned. If an AM Event is matched, the response also

includes the notification.

content:

application/json:

schema:

$ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscRespData’

‘204’:

description: >

The modification of the AM Policy Events Subscription subresource is confirmed

without returning additional data.

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

callbacks:

amEventNotification:

‘{$request.body#/evSubscs/eventNotifUri}’:

post:

requestBody:

description: Contains the information for the notification of an event occurrence.

required: true

content:

application/json:

schema:

$ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification’

responses:

‘204’:

description: The receipt of the notification is acknowledged.

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

delete:

summary: deletes the AM Policy Events Subscription sub-resource

operationId: DeleteAmEventsSubsc

tags:

– AM Policy Events Subscription

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: appAmContextId

in: path

description: string identifying the Individual Application AM Context resource.

required: true

schema:

type: string

responses:

‘204’:

description: >

The deletion of the of the AM Policy Events Subscription subresource

is confirmed without returning additional data.

‘307’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/307’

‘308’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/308’

‘400’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/404’

‘429’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29122_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29122_CommonData.yaml#/components/responses/default’

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{tokenUrl}’

scopes: {}

schemas:

AppAmContextExpData:

description: Represents an Individual application AM context exposure resource.

type: object

properties:

self:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Link’

evSubscs:

$ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscData’

gpsi:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’

highThruInd:

type: boolean

covReqs:

type: array

items:

$ref: ‘#/components/schemas/GeographicalArea’

minItems: 1

nullable: true

policyDuration:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/DurationSecRm’

suppFeat:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’

requestTestNotification:

type: boolean

description: >

Set to true by the AF to request the NEF to send a test notification

as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise.

websockNotifConfig:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig’

required:

– gpsi

anyOf:

– required: [highThruInd]

– required: [covReqs]

AppAmContextExpUpdateData:

description: >

Contains the modification(s) to be applied to the Individual application

AM context exposure resource.

type: object

properties:

evSubscs:

$ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsSubscDataRm’

highThruInd:

type: boolean

covReqs:

type: array

items:

$ref: ‘#/components/schemas/GeographicalArea’

minItems: 1

policyDuration:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/DurationSec’

GeographicalArea:

description: Contains geographical area information (e.g.a civic address or shapes).

type: object

properties:

civicAddress:

$ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress’

shapes:

$ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea’

AppAmContextExpRespData:

description: >

It represents a response to a modification or creation request of an Individual

Application AM resource. It may contain the notification of the already met events

anyOf:

– $ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AppAmContextData’

– $ref: ‘TS29534_Npcf_AMPolicyAuthorization.yaml#/components/schemas/AmEventsNotification’