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