A.3 Nnsacf_SliceEventExposure API
29.5363GPP5G SystemNetwork Slice Admission Control ServicesRelease 18Stage 3TS
openapi: 3.0.0
info:
title: Nnsacf_SliceEventExposure
version: 1.1.0-alpha.1
description: |
Nnsacf_SliceEventExposure Service.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.536 V18.0.0; 5G System; Network Slice Admission Control Services; Stage 3.
url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.536/
servers:
– url: ‘{apiRoot}/nnsacf-slice-ee/v1’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501
security:
– {}
– oAuth2ClientCredentials:
– nnsacf-slice-ee
paths:
/subscriptions:
post:
summary: Nnsacf_SliceEventExposure Subscribe service Operation
tags:
– Subscriptions collection (Collection)
operationId: CreateSubscription
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/SACEventSubscription’
required: true
responses:
‘201’:
description: Subsription Created
headers:
Location:
description: ‘Contains the URI of the newly created resource, according to the structure: {apiRoot}/nnsacf-slice-ee/<apiVersion>/subscriptions/{subscriptionId}’
required: true
schema:
type: string
content:
application/json:
schema:
$ref: ‘#/components/schemas/CreatedSACEventSubscription’
‘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’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
description: Unexpected error
callbacks:
eventReport:
‘{$request.body#/subscription/eventNotifyUri}’:
post:
summary: Event Notificaiton Delivery
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/SACEventReport’
required: true
responses:
‘204’:
description: Successful acknowledgement
‘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’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
description: Unexpected error
/subscriptions/{subscriptionId}:
patch:
summary: Nnsacf_SliceEventExposure Subscribe partial modify service Operation
tags:
– Individual subscription (Document)
operationId: PartialModifySubscription
parameters:
– name: subscriptionId
in: path
required: true
description: Unique ID of the subscription to be modified
schema:
type: string
requestBody:
content:
application/json-patch+json:
schema:
type: array
items:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/PatchItem’
minItems: 1
required: true
responses:
‘200’:
description: Subsription modified successfully
content:
application/json:
schema:
$ref: ‘#/components/schemas/CreatedSACEventSubscription’
‘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’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
description: Unexpected error
put:
summary: Nnsacf_SliceEventExposure Subscribe complete modify service Operation
tags:
– Individual subscription (Document)
operationId: CompleteModifySubscription
parameters:
– name: subscriptionId
in: path
required: true
description: Unique ID of the subscription to be modified
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/SACEventSubscription’
required: true
responses:
‘200’:
description: Subsription modified successfully
content:
application/json:
schema:
$ref: ‘#/components/schemas/CreatedSACEventSubscription’
‘204’:
description: Events subscription modification is accepted entirely
‘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’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
description: Unexpected error
delete:
summary: Nnsacf_SliceEventExposure Unsubscribe service Operation
tags:
– Individual subscription (Document)
operationId: DeleteSubscription
parameters:
– name: subscriptionId
in: path
required: true
description: Unique ID of the subscription to be deleted
schema:
type: string
responses:
‘204’:
description: Subsription deleted successfully
‘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’
‘502’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/502’
‘503’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/503’
default:
description: Unexpected error
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: ‘{nrfApiRoot}/oauth2/token’
scopes:
nnsacf-slice-ee: Access to the Nnsacf_SliceEventExposure API
schemas:
#
# STRUCTURED DATA TYPES
#
SACEventSubscription:
description: Request data to create the event subscription
type: object
required:
– event
– eventNotifyUri
– nfId
properties:
event:
$ref: ‘#/components/schemas/SACEvent’
eventNotifyUri:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
nfId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/NfInstanceId’
notifyCorrelationId:
type: string
maxReports:
type: integer
expiry:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’
supportedFeatures:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
CreatedSACEventSubscription:
description: Response data on created event subscription
type: object
required:
– subscription
– subscriptionId
properties:
subscription:
$ref: ‘#/components/schemas/SACEventSubscription’
subscriptionId:
type: string
report:
$ref: ‘#/components/schemas/SACEventReportItem’
supportedFeatures:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
SACEventReport:
description: Event notification
type: object
required:
– report
properties:
report:
$ref: ‘#/components/schemas/SACEventReportItem’
notifyCorrelationId:
type: string
SACEvent:
description: Describes an event to be subscribed
type: object
required:
– eventType
– eventFilter
properties:
eventType:
$ref: ‘#/components/schemas/SACEventType’
eventTrigger:
$ref: ‘#/components/schemas/SACEventTrigger’
eventFilter:
type: array
items:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’
minItems: 1
notificationPeriod:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/DurationSec’
notifThreshold:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SACInfo’
immediateFlag:
type: boolean
default: false
SACEventReportItem:
description: Represents a report triggered by a subscribed event type
type: object
required:
– eventType
– eventState
– timeStamp
– eventFilter
properties:
eventType:
$ref: ‘#/components/schemas/SACEventType’
eventState:
$ref: ‘#/components/schemas/SACEventState’
timeStamp:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’
eventFilter:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’
sliceStautsInfo:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SACEventStatus’
SACEventState:
description: Represents the state of a subscribed event
type: object
required:
– active
properties:
active:
type: boolean
remainReports:
type: integer
remainDuration:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/DurationSec’
#
# SIMPLE DATA TYPES
#
#
# ENUMERATIONS
#
SACEventType:
description: Describes the supported event types
anyOf:
– type: string
enum:
– NUM_OF_REGD_UES
– NUM_OF_ESTD_PDU_SESSIONS
– type: string
SACEventTrigger:
description: Describes how NSACF should generate the report for the event
anyOf:
– type: string
enum:
– THRESHOLD
– PERIODIC
– type: string
Annex B (informative):
Change history
|
Change history |
|||||||
|
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
|
2021-04 |
CT4#103E |
C4-212108 |
TS skeleton |
0.0.1 |
|||
|
2021-04 |
CT4#103E |
C4-212430, etc. |
Implementation of pCRs agreed in CT4#103E (C4-212430, C4-212610, C4-212432, C4-212112) |
0.1.0 |
|||
|
2021-06 |
CT4#104E |
C4-213440, etc. |
Implementation of pCRs agreed in CT4#104E (C4-213440, C4-213441, C4-213442, C4-213443, C4-213444, C4-213445, C4-213446, C4-213435, C4-213436, C4-213437, C4-213438) |
0.2.0 |
|||
|
2021-09 |
CT4#105E |
C4-214694, etc. |
Implementation of pCRs agreed in CT4#105E (C4-214694, C4-214695, C4-214645, C4-214646, C4-214647, C4-214098, C4-214610, C4-214611, C4-214107, C4-214292, C4-214593, C4-214594, C4-214595, C4-214317, C4-214318, C4-214729, C4-214730, C4-214337) |
0.3.0 |
|||
|
2021-10 |
CT4#106E |
C4-215382, etc. |
Implementation of pCRs agreed in CT4#106E (C4-215382, C4-215116, C4-215470, C4-215383, C4-215385, C4-215386, C4-215388, C4-215389, C4-215390, C4-215391, C4-215392, C4-215393, C4-215394, C4-215395, C4-215525, C4-215415, C4-215416, C4-215264) |
0.4.0 |
|||
|
2021-11 |
CT4#107E |
C4-216052, etc. |
Implementation of pCRs agreed in CT4#107E (C4-216052, C4-216240, C4-216241, C4-216414, C4-216415, C4-216416, C4-216429, C4-216446, C4-216516) |
0.5.0 |
|||
|
2021-12 |
CT#94e |
CP-213155 |
V1.0.0 presented for information |
1.0.0 |
|||
|
2022-01 |
CT4#107bis-E |
C4-220378, etc. |
Implementation of pCRs agreed in CT4#107bis-E (C4-220379, C4-220357, C4-220459, C4-220070, C4-220389, C4-220345, C4-220346, C4-220348, C4-220372, C4-220411, C4-220413, C4-220284) |
1.1.0 |
|||
|
2022-03 |
CT4#108-E |
C4-221040, etc. |
Implementation of pCRs agreed in CT4#108-E (C4-221040, C4-221046, C4-221450, C4-221505, C4-221302) |
1.2.0 |
|||
|
2022-03 |
CT#95e |
CP-220104 |
TS presented for approval |
2.0.0 |
|||
|
2022-03 |
CT#95e |
TS approved |
17.0.0 |
||||
|
2022-06 |
CT#96 |
CP-221033 |
0003 |
1 |
F |
NSAC for emergency and priority sessions alignment |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221033 |
0005 |
1 |
F |
Session continuity guarantee with multiple NSACFs deployment |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221038 |
0008 |
– |
F |
Consumers of NSACF event exposure service |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221028 |
0010 |
1 |
F |
Reuse of type Fqdn from 29.571 |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221033 |
0011 |
1 |
F |
Clarification on Per Access NSAC |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221033 |
0012 |
1 |
F |
Removal of NSACF from HPLMN in LBO Model |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221051 |
0013 |
– |
F |
API version and External doc update |
17.1.0 |
|
2022-09 |
CT#97 |
CP-222028 |
0014 |
1 |
F |
Clarification on per access failure reason |
17.2.0 |
|
2022-12 |
CT#98 |
CP-223095 |
0016 |
2 |
F |
Missing mandatory status codes in OpenAPI |
18.0.0 |
|
2022-12 |
CT#98 |
CP-223033 |
0017 |
– |
F |
29.536 Rel-18 API version and External doc update |
18.0.0 |