open5gs/lib/sbi/support/r17-20230301-openapitools-6.4.0/modified/TS29517_Naf_EventExposure.yaml
2023-03-01 17:50:25 +09:00

828 lines
29 KiB
YAML

openapi: 3.0.0
info:
version: 1.2.0
title: Naf_EventExposure
description: |
AF Event Exposure Service.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: >
3GPP TS 29.517 V17.7.0; 5G System; Application Function Event Exposure Service; Stage 3.
url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.517/
servers:
- url: '{apiRoot}/naf-eventexposure/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501
security:
- {}
- oAuth2ClientCredentials: []
paths:
/subscriptions:
post:
summary: Creates a new Individual Application Event Exposure Subscription resource
operationId: PostAfEventExposureSubsc
tags:
- Application Event Subscription (Collection)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AfEventExposureSubsc'
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AfEventExposureSubsc'
headers:
Location:
description: >
Contains the URI of the created individual application event subscription resource
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:
AfEventExposureNotif:
'{$request.body#/notifUri}':
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AfEventExposureNotif'
responses:
'204':
description: No Content, Notification was successful
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
/subscriptions/{subscriptionId}:
get:
summary: "Reads an existing Individual Application Event Subscription"
operationId: GetAfEventExposureSubsc
tags:
- Individual Application Event Subscription (Document)
parameters:
- name: subscriptionId
in: path
description: Application Event Subscription ID
required: true
schema:
type: string
- name: supp-feat
in: query
description: Features supported by the NF service consumer
required: false
schema:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
responses:
'200':
description: OK. Resource representation is returned
content:
application/json:
schema:
$ref: '#/components/schemas/AfEventExposureSubsc'
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
put:
summary: "Modifies an existing Individual Application Event Subscription "
operationId: PutAfEventExposureSubsc
tags:
- Individual Application Event Subscription (Document)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AfEventExposureSubsc'
parameters:
- name: subscriptionId
in: path
description: Application Event Subscription ID
required: true
schema:
type: string
responses:
'200':
description: OK. Resource was successfully modified and representation is returned
content:
application/json:
schema:
$ref: '#/components/schemas/AfEventExposureSubsc'
'204':
description: No Content. Resource was successfully modified
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
delete:
summary: "Cancels an existing Individual Application Event Subscription "
operationId: DeleteAfEventExposureSubsc
tags:
- Individual Application Event Subscription (Document)
parameters:
- name: subscriptionId
in: path
description: Application Event Subscription ID
required: true
schema:
type: string
responses:
'204':
description: No Content. Resource was successfully deleted
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: '{tokenUri}'
scopes: {}
description: >
For trusted AF, the 'naf-eventexposure' shall be used as 'scopes' and
'{nrfApiRoot}/oauth2/token' shall be used as 'tokenUri'.
schemas:
AfEventExposureNotif:
description: >
Represents notifications on application event(s) that occurred for an Individual Application
Event Subscription resource.
type: object
properties:
notifId:
type: string
eventNotifs:
type: array
items:
$ref: '#/components/schemas/AfEventNotification'
minItems: 1
required:
- notifId
- eventNotifs
AfEventExposureSubsc:
description: Represents an Individual Application Event Subscription resource.
type: object
properties:
dataAccProfId:
type: string
eventsSubs:
type: array
items:
$ref: '#/components/schemas/EventsSubs'
minItems: 1
eventsRepInfo:
$ref: 'TS29523_Npcf_EventExposure.yaml#/components/schemas/ReportingInformation'
notifUri:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
notifId:
type: string
eventNotifs:
type: array
items:
$ref: '#/components/schemas/AfEventNotification'
minItems: 1
suppFeat:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
required:
- eventsSubs
- eventsRepInfo
- notifId
- notifUri
AfEventNotification:
description: Represents information related to an event to be reported.
type: object
properties:
event:
$ref: '#/components/schemas/AfEvent'
timeStamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
svcExprcInfos:
type: array
items:
$ref: '#/components/schemas/ServiceExperienceInfoPerApp'
minItems: 1
ueMobilityInfos:
type: array
items:
$ref: '#/components/schemas/UeMobilityCollection'
minItems: 1
ueCommInfos:
type: array
items:
$ref: '#/components/schemas/UeCommunicationCollection'
minItems: 1
excepInfos:
type: array
items:
$ref: '#/components/schemas/ExceptionInfo'
minItems: 1
congestionInfos:
type: array
items:
$ref: '#/components/schemas/UserDataCongestionCollection'
minItems: 1
perfDataInfos:
type: array
items:
$ref: '#/components/schemas/PerformanceDataCollection'
minItems: 1
dispersionInfos:
type: array
items:
$ref: '#/components/schemas/DispersionCollection'
minItems: 1
collBhvrInfs:
type: array
items:
$ref: '#/components/schemas/CollectiveBehaviourInfo'
minItems: 1
msQoeMetrInfos:
type: array
items:
$ref: '#/components/schemas/MsQoeMetricsCollection'
minItems: 1
msConsumpInfos:
type: array
items:
$ref: '#/components/schemas/MsConsumptionCollection'
minItems: 1
msNetAssInvInfos:
type: array
items:
$ref: '#/components/schemas/MsNetAssInvocationCollection'
minItems: 1
msDynPlyInvInfos:
type: array
items:
$ref: '#/components/schemas/MsDynPolicyInvocationCollection'
minItems: 1
msAccActInfos:
type: array
items:
$ref: '#/components/schemas/MSAccessActivityCollection'
minItems: 1
required:
- event
- timeStamp
EventsSubs:
description: Represents an event to be subscribed and the related event filter information.
type: object
properties:
event:
$ref: '#/components/schemas/AfEvent'
eventFilter:
$ref: '#/components/schemas/EventFilter'
required:
- event
- eventFilter
EventFilter:
description: Represents event filter information for an event.
type: object
properties:
gpsis:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
minItems: 1
supis:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
minItems: 1
exterGroupIds:
type: array
items:
$ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId'
minItems: 1
interGroupIds:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
anyUeInd:
type: boolean
appIds:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
minItems: 1
locArea:
$ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G'
collAttrs:
type: array
items:
$ref: '#/components/schemas/CollectiveBehaviourFilter'
minItems: 1
ServiceExperienceInfoPerApp:
description: Contains service experience information associated with an application.
type: object
properties:
appId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
appServerIns:
$ref: '#/components/schemas/AddrFqdn'
svcExpPerFlows:
type: array
items:
$ref: '#/components/schemas/ServiceExperienceInfoPerFlow'
minItems: 1
gpsis:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
minItems: 1
supis:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
minItems: 1
required:
- svcExpPerFlows
ServiceExperienceInfoPerFlow:
description: Contains service experience information associated with a service flow.
type: object
properties:
svcExprc:
$ref: '#/components/schemas/SvcExperience'
timeIntev:
$ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow'
dnai:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
ipTrafficFilter:
$ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
ethTrafficFilter:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
SvcExperience:
description: Contains a mean opinion score with the customized range.
type: object
properties:
mos:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
upperRange:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
lowerRange:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Float'
UeMobilityCollection:
description: Contains UE mobility information associated with an application.
type: object
properties:
gpsi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
appId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
ueTrajs:
type: array
items:
$ref: '#/components/schemas/UeTrajectoryCollection'
minItems: 1
required:
- appId
- ueTrajs
UeCommunicationCollection:
description: Contains UE communication information associated with an application.
type: object
properties:
gpsi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
exterGroupId:
$ref: 'TS29503_Nudm_SDM.yaml#/components/schemas/ExtGroupId'
interGroupId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/GroupId'
appId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
comms:
type: array
items:
$ref: '#/components/schemas/CommunicationCollection'
minItems: 1
required:
- appId
- comms
UeTrajectoryCollection:
description: Contains UE trajectory information associated with an application.
type: object
properties:
ts:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
locArea:
$ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G'
required:
- ts
- locArea
CommunicationCollection:
description: Contains communication information.
type: object
properties:
startTime:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
endTime:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
ulVol:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Volume'
dlVol:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Volume'
required:
- startTime
- endTime
- ulVol
- dlVol
ExceptionInfo:
description: Represents the exceptions information provided by the AF.
type: object
properties:
ipTrafficFilter:
$ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
ethTrafficFilter:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/EthFlowDescription'
exceps:
type: array
items:
$ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/Exception'
minItems: 1
required:
- exceps
oneOf:
- required: [ipTrafficFilter]
- required: [ethTrafficFilter]
UserDataCongestionCollection:
description: Contains User Data Congestion Analytics related information collection.
type: object
properties:
appId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
ipTrafficFilter:
$ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
timeInterv:
$ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow'
thrputUl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
thrputDl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
thrputPkUl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
thrputPkDl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
oneOf:
- required: [appId]
- required: [ipTrafficFilter]
PerformanceDataCollection:
description: Contains Performance Data Analytics related information collection.
type: object
properties:
appId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
ueIpAddr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
ipTrafficFilter:
$ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
ueLoc:
$ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G'
appLocs:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
minItems: 1
asAddr:
$ref: '#/components/schemas/AddrFqdn'
perfData:
$ref: '#/components/schemas/PerformanceData'
timeStamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
required:
- perfData
- timeStamp
PerformanceData:
description: Contains Performance Data.
type: object
properties:
pdb:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget'
plr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRate'
thrputUl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
thrputDl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
AddrFqdn:
description: IP address and/or FQDN.
type: object
properties:
ipAddr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
fqdn:
type: string
description: Indicates an FQDN.
DispersionCollection:
description: Contains the dispersion information collected for an AF.
type: object
properties:
gpsi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
ueAddr:
$ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
dataUsage:
$ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold'
flowDesp:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/FlowDescription'
appId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
dnais:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnai'
minItems: 1
appDur:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec'
required:
- dataUsage
oneOf:
- required: [gpsi]
- required: [supi]
- required: [ueAddr]
CollectiveBehaviourFilter:
description: Contains the collective behaviour filter information to be collected from UE.
type: object
properties:
type:
$ref: '#/components/schemas/CollectiveBehaviourFilterType'
value:
type: string
description: Value of the parameter type as in the type attribute.
listOfUeInd:
type: boolean
description: >
Indicates whether request list of UE IDs that fulfill a collective behaviour within the
area of interest. This attribute shall set to "true" if request the list of UE IDs,
otherwise, set to "false". May only be present and sets to "true" if "AfEvent" sets to
"COLLECTIVE_BEHAVIOUR".
required:
- type
- value
CollectiveBehaviourInfo:
description: Contains the collective behaviour information to be reported to the subscriber.
type: object
properties:
colAttrib:
type: array
items:
$ref: '#/components/schemas/PerUeAttribute'
minItems: 1
noOfUes:
type: integer
description: Total number of UEs that fulfil a collective within the area of interest.
appIds:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId'
minItems: 1
extUeIds:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
minItems: 1
ueIds:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
minItems: 1
required:
- colAttrib
oneOf:
- required: [extUeIds]
- required: [ueIds]
PerUeAttribute:
description: UE application data collected per UE.
type: object
properties:
ueDest:
$ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G'
route:
type: string
avgSpeed:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
timeOfArrival:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
MsQoeMetricsCollection:
description: >
Contains the Media Streaming QoE metrics information collected for an UE Application via AF.
type: object
properties:
msQoeMetrics:
type: array
items:
type: string
minItems: 1
required:
- msQoeMetrics
MsConsumptionCollection:
description: >
Contains the Media Streaming Consumption information collected for an UE Application via AF.
type: object
properties:
msConsumps:
type: array
items:
type: string
description: >
Represents the Media Streaming Consumption reports with formatting as specified in
clause 11.3.3 of 3GPP TS 26.512 [30], if required for Media Streaming UE Application.
minItems: 1
required:
- msConsumps
MsNetAssInvocationCollection:
description: >
Contains the Media Streaming Network Assistance invocation collected for an UE Application
via AF.
type: object
properties:
msNetAssInvocs:
type: array
items:
$ref: 'TS26512_M5_NetworkAssistance.yaml#/components/schemas/NetworkAssistanceSession'
minItems: 1
required:
- msNetAssInvocs
MsDynPolicyInvocationCollection:
description: >
Contains the Media Streaming Dynamic Policy invocation collected for an UE
Application via AF.
type: object
properties:
msDynPlyInvocs:
type: array
items:
$ref: 'TS26512_M5_DynamicPolicies.yaml#/components/schemas/DynamicPolicy'
minItems: 1
required:
- msDynPlyInvocs
MSAccessActivityCollection:
description: Contains Media Streaming access activity collected for an UE Application via AF.
type: object
properties:
msAccActs:
type: array
items:
$ref: 'TS26512_R4_DataReporting.yaml#/components/schemas/MediaStreamingAccessRecord'
minItems: 1
required:
- msAccActs
# Simple data types and Enumerations
AfEvent:
# description: Represents Application Events.
# anyOf:
# - type: string
enum:
- SVC_EXPERIENCE
- UE_MOBILITY
- UE_COMM
- EXCEPTIONS
- USER_DATA_CONGESTION
- PERF_DATA
- DISPERSION
- COLLECTIVE_BEHAVIOUR
- MS_QOE_METRICS
- MS_CONSUMPTION
- MS_NET_ASSIST_INVOCATION
- MS_DYN_POLICY_INVOCATION
- MS_ACCESS_ACTIVITY
# - 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.
CollectiveBehaviourFilterType:
# description: Represents collective behaviour parameter type.
# anyOf:
# - type: string
enum:
- COLLECTIVE_ATTRIBUTE
- DATA_PROCESSING
# - 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.