A.2 Nmbsf_MBSUserService API

29.5803GPP5G SystemMulticast/Broadcast Service Function servicesRelease 17Stage 3TS

openapi: 3.0.0

info:

title: nmbsf-mbs-us

version: 1.0.1

description: |

API for MBS User Service.

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

All rights reserved.

externalDocs:

description: >

3GPP TS 29.580 V17.1.0; 5G System; Multicast/Broadcast Service Function Services.

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

servers:

– url: ‘{apiRoot}/nmbsf-mbs-us/v1’

variables:

apiRoot:

default: https://example.com

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

security:

– {}

– oAuth2ClientCredentials: []

paths:

/mbs-user-services:

get:

summary: Retrieve all the active MBS User Service resources managed by the MBSF.

tags:

– MBS User Services (Collection)

operationId: RetrieveMBSUserServices

responses:

‘200’:

description: >

OK. All the active MBS User Services managed by the MBSF are returned.

content:

application/json:

schema:

type: array

items:

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

minItems: 0

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

post:

summary: Request the creation of a new MBS User Service.

tags:

– MBS User Services (Collection)

operationId: CreateMBSUserService

requestBody:

description: >

Contains the parameters to request the creation of a new MBS User Service at the MBSF.

required: true

content:

application/json:

schema:

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

responses:

‘201’:

description: >

Created. A new MBS User Service is successfully created and a representation of the

created Individual MBS User Service resource is returned.

content:

application/json:

schema:

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

headers:

Location:

description: >

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

{apiRoot}/nmbsf-mbs-us/v1/mbs-user-services/{mbsUserServId}

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’

/mbs-user-services/{mbsUserServId}:

parameters:

– name: mbsUserServId

in: path

description: Identifier of the Individual MBS User Service resource.

required: true

schema:

type: string

get:

summary: Retrieve an existing Individual MBS User Service resource.

tags:

– Individual MBS User Service (Document)

operationId: RetrieveIndMBSUserService

responses:

‘200’:

description: >

OK. The requested Individual MBS User Service resource is successfully returned.

content:

application/json:

schema:

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

‘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: Request the update of an existing Individual MBS User Service resource.

tags:

– Individual MBS User Service (Document)

operationId: UpdateIndMBSUserService

requestBody:

description: >

Contains the updated representation of the Individual MBS User Service resource.

required: true

content:

application/json:

schema:

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

responses:

‘200’:

description: >

OK. The concerned Individual MBS User Service resource is successfully updated and a

representation of the updated resource is returned in the response body.

content:

application/json:

schema:

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

‘204’:

description: >

No Content. The concerned Individual MBS User Service resource is successfully updated

and no content is returned in the response body.

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

patch:

summary: Request the modification of an existing Individual MBS User Service resource.

tags:

– Individual MBS User Service (Document)

operationId: ModifyIndMBSUserService

requestBody:

description: >

Contains the parameters to request the modification of the Individual MBS User Service

resource.

required: true

content:

application/merge-patch+json:

schema:

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

responses:

‘200’:

description: >

OK. The concerned Individual MBS User Service resource is successfully modified and a

representation of the updated resource is returned in the response body.

content:

application/json:

schema:

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

‘204’:

description: >

No Content. The concerned Individual MBS User Service resource is successfully modified

and no content is returned in the response body.

‘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: Request the deletion of an existing Individual MBS User Service resource.

tags:

– Individual MBS User Service (Document)

operationId: DeleteIndMBSUserService

responses:

‘204’:

description: >

No Content. The concerned Individual MBS User Service resource is 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 MBSF, the ‘nmbsf-mbs-us’ shall be used as ‘scopes’ and

‘{nrfApiRoot}/oauth2/token’ shall be used as ‘tokenUri’.

#

# STRUCTURED DATA TYPES

#

schemas:

MBSUserService:

description: Represents the parameters of an MBS User Service.

type: object

properties:

extServiceIds:

type: array

items:

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

minItems: 1

servType:

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

servClass:

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

servAnnModes:

type: array

items:

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

minItems: 1

servNameDescs:

type: array

items:

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

minItems: 1

mainServLang:

type: string

suppFeat:

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

required:

– extServiceIds

– servType

– servClass

– servAnnModes

– servNameDescs

ServiceNameDescription:

description: >

Represents a set of per language service names and/or service descriptions.

type: object

properties:

servName:

type: string

servDescrip:

type: string

language:

type: string

required:

– language

anyOf:

– required: [servName]

– required: [servDescrip]

MBSUserServicePatch:

description: >

Represents the requested modifications to the parameters of an MBS User Service.

type: object

properties:

extServiceIds:

type: array

items:

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

minItems: 1

servClass:

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

servAnnModes:

type: array

items:

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

minItems: 1

servNameDescs:

type: array

items:

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

minItems: 1

mainServLang:

type: string

# SIMPLE DATA TYPES

#

#

# ENUMERATIONS

#

ServiceAnnouncementMode:

anyOf:

– type: string

enum:

– VIA_MBS_5

– VIA_MBS_DISTRIBUTION_SESSION

– PASSED_BACK

– type: string

description: >

This string provides forward-compatibility with future extensions to the enumeration

and is not used to encode content defined in the present version of this API.

description: |

Possible values are:

– VIA_MBS_5: Indicates the MBS User Service Announcement compiled by the MBSF is advertised to the MBSF Client at reference point MBS-5.

– VIA_MBS_DISTRIBUTION_SESSION: Indicates the MBS User Service Announcement compiled by the MBSF is advertised to the MBSF Client via the MBS Distribution Session.

– PASSED_BACK: Indicates the MBS User Service Announcement compiled by the MBSF is passed back to the MBS Application Provider.