A.16 AMInfluence API

29.5223GPP5G SystemNetwork Exposure Function Northbound APIsRelease 18Stage 3TS

openapi: 3.0.0

info:

title: AMInfluence

version: 1.0.1

description: |

AMInfluence API Service.

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

All rights reserved.

externalDocs:

description: >

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

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

servers:

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

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501

security:

– {}

– oAuth2ClientCredentials: []

paths:

/{afId}/subscriptions:

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

get:

summary: Read all of the active subscriptions for the AF.

tags:

– AM Influence Subscription

responses:

‘200’:

description: OK (Successful get all of the active subscriptions for the AF).

content:

application/json:

schema:

type: array

items:

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

‘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’

post:

summary: Create a new subscription to AM influence.

operationId: CreateAMInfluenceSubcription

tags:

– AM Influence Subscription

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘201’:

description: Create a new Individual AM Influence Subscription resource.

content:

application/json:

schema:

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

headers:

Location:

description: >

Contains the URI of the newly created resource, according to the structure

{apiRoot}/3gpp-am-influence/v1/{afId}/subscriptions/{subscriptionId}.

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:

notificationDestination:

‘{$request.body#/notificationDestination}’:

post:

requestBody:

required: true

content:

application/json:

schema:

type: array

items:

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

minItems: 1

responses:

‘204’:

description: No Content, Notification was succesfull

‘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}/subscriptions/{subscriptionId}:

parameters:

– name: afId

in: path

description: Identifier of the AF.

required: true

schema:

type: string

– name: subscriptionId

in: path

description: Identifier of the subscription resource.

required: true

schema:

type: string

get:

summary: Read an active subscription identified by the subscriptionId.

tags:

– Individual AM Influence Subscription

responses:

‘200’:

description: OK (Successful get the active subscription)

content:

application/json:

schema:

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

‘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’

put:

summary: Update/Replace an existing subscription resource.

tags:

– Individual AM Influence Subscription

requestBody:

description: Parameters to update/replace the existing subscription.

required: true

content:

application/json:

schema:

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

responses:

‘200’:

description: OK (Successful update of the subscription)

content:

application/json:

schema:

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

‘204’:

description: No Content

‘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’

patch:

summary: Update/Replace an existing subscription resource.

tags:

– Individual AM Influence Subscription

requestBody:

required: true

content:

application/merge-patch+json:

schema:

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

responses:

‘200’:

description: OK. The subscription was modified successfully.

content:

application/json:

schema:

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

‘204’:

description: No Content

‘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: Delete an existing subscription.

tags:

– Individual AM Influence Subscription

responses:

‘204’:

description: No Content (Successful deletion of the existing subscription)

‘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: ‘{nrfApiRoot}/oauth2/token’

scopes: {}

schemas:

AmInfluSub:

description: Represents an AM influence subscription.

type: object

properties:

afTransId:

type: string

gpsi:

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

externalGroupId:

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

anyUeInd:

type: boolean

description: >

Identifies whether the AF request applies to any UE. This attribute shall

set to "true" if applicable for any UE, otherwise, set to "false".

dnnSnssaiInfos:

type: array

items:

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

minItems: 1

description: Each of the element identifies a (DNN, S-NSSAI) combination.

afAppIds:

type: array

items:

type: string

minItems: 1

description: Each of the element identifies an application.

highThruInd:

type: boolean

geoAreas:

type: array

items:

$ref: ‘TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea’

minItems: 1

description: Identifies geographic areas of the user where the request is applicable.

policyDuration:

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

self:

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

subscribedEvents:

type: array

items:

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

minItems: 1

description: Indicates one or more AM influence related events.

notificationDestination:

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

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’

suppFeat:

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

required:

– afTransId

anyOf:

– required: [highThruInd]

– required: [geoAreas]

oneOf:

– required: [gpsi]

– required: [externalGroupId]

– required: [anyUeInd]

AmInfluSubPatch:

description: >

Represents parameters to request the modification of an AM influence subscription resource.

type: object

properties:

highThruInd:

type: boolean

nullable: true

geoAreas:

type: array

items:

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

minItems: 1

description: Identifies geographic areas of the user where the request is applicable.

nullable: true

policyDuration:

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

dnnSnssaiInfos:

type: array

items:

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

minItems: 1

nullable: true

description: Each of the element identifies a (DNN, S-NSSAI) combination.

afAppIds:

type: array

items:

type: string

minItems: 1

nullable: true

description: Each of the element identifies an application.

subscribedEvents:

type: array

items:

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

minItems: 1

nullable: true

description: Indicates one or more AM influence related events.

notificationDestination:

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

AmInfluEventNotif:

description: Represents an AM influence event notification.

type: object

properties:

afTransId:

type: string

event:

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

geoAreas:

type: array

items:

$ref: ‘TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea’

minItems: 1

description: Identifies geographic areas of the user where the request is applicable.

required:

– event

– afTransId

DnnSnssaiInformation:

description: Represents a (DNN, SNSSAI) combination.

type: object

properties:

dnn:

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

snssai:

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

# ENUMERATIONS DATA TYPES

#

AmInfluEvent:

description: Represents the service area coverage outcome event.

anyOf:

– type: string

enum:

– SERVICE_AREA_COVRG_OUTCOME

– 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.