A.2 Nucmf_UECapabilityManagement API

29.6733GPP5G SystemRelease 18Stage 3TSUE radio capability management services

openapi: 3.0.0

info:

title: Nucmf_UECapabilityManagement

version: 1.2.0-alpha.1

description: |

Nucmf_UECapabilityManagement Service.

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

All rights reserved.

externalDocs:

description: 3GPP TS 29.673 V18.0.0; 5G System; UE Radio Capability Management Services

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

servers:

– url: ‘{apiRoot}/nucmf-uecm/v1’

variables:

apiRoot:

default: https://example.com

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

security:

– {}

– oAuth2ClientCredentials:

– nucmf-uecm

paths:

/dic-entries:

get:

summary: retrieve a dictionary entry matching query parameters

operationId: RetrieveDictionaryEntry

tags:

– Dictionary Entry (Store)

parameters:

– name: ue-radio-capa-id

in: query

required: true

description: UE Radio Capability ID, either PLMN Assigned or Manufacturer Assigned

schema:

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

– name: rac-format

in: query

description: Encoding format of RAC Info

schema:

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

– name: supported-features

in: query

description: supported features of the NF consumer

schema:

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

responses:

‘200’:

description: Expected response to a valid request

content:

multipart/related: # message with binary body part(s)

schema:

type: object

properties: # Request parts

jsonData:

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

binaryDataUeRadioCapability5GS:

type: string

format: binary

binaryDataUeRadioCapabilityEPS:

type: string

format: binary

binaryDataUeRadioCap5GSForPaging:

type: string

format: binary

binaryDataUeRadioCapEPSForPaging:

type: string

format: binary

encoding:

jsonData:

contentType: application/json

binaryDataUeRadioCapability5GS:

contentType: application/vnd.3gpp.ngap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCapabilityEPS:

contentType: application/vnd.3gpp.s1ap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCap5GSForPaging:

contentType: application/vnd.3gpp.ngap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCapEPSForPaging:

contentType: application/vnd.3gpp.s1ap

headers:

Content-Id:

schema:

type: string

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

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

‘501’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/501’

‘502’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/502’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

post:

summary: Create a dictionary entry in the UCMF

tags:

– a dictionary entry (Document)

operationId: CreateDictionaryEntry

requestBody:

content:

multipart/related: # message with binary body part(s)

schema:

type: object

properties: # Request parts

jsonData:

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

binaryDataUeRadioCapability5GS:

type: string

format: binary

binaryDataUeRadioCapabilityEPS:

type: string

format: binary

binaryDataUeRadioCap5GSForPaging:

type: string

format: binary

binaryDataUeRadioCapEPSForPaging:

type: string

format: binary

encoding:

jsonData:

contentType: application/json

binaryDataUeRadioCapability5GS:

contentType: application/vnd.3gpp.ngap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCapabilityEPS:

contentType: application/vnd.3gpp.s1ap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCap5GSForPaging:

contentType: application/vnd.3gpp.ngap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCapEPSForPaging:

contentType: application/vnd.3gpp.s1ap

headers:

Content-Id:

schema:

type: string

responses:

‘201’:

description: Dictionary Created

headers:

Location:

description: ‘Contains the URI of the newly created resource, according to the structure: {apiRoot}/nucmf-uecm/<apiVersion>/dic-entries/{dicEntryId}’

required: true

schema:

type: string

content:

application/json:

schema:

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

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

‘501’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/501’

‘502’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/502’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

/dic-entries/{dicEntryId}:

get:

summary: Get an individual dictionary entry via dicEntryId

operationId: GetDicEntry

tags:

– dic Entry Id (Document)

parameters:

– name: dicEntryId

in: path

description: the ID of a dictionary entry in the UCMF

required: true

schema:

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

– name: rac-format

in: query

description: Encoding format of of RAC Info

schema:

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

– name: supported-features

in: query

description: supported features of the NF consumer

schema:

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

responses:

‘200’:

description: Expected response to a valid request

content:

multipart/related: # message with binary body part(s)

schema:

type: object

properties: # Request parts

jsonData:

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

binaryDataUeRadioCapability5GS:

type: string

format: binary

binaryDataUeRadioCapabilityEPS:

type: string

format: binary

binaryDataUeRadioCap5GSForPaging:

type: string

format: binary

binaryDataUeRadioCapEPSForPaging:

type: string

format: binary

encoding:

jsonData:

contentType: application/json

binaryDataUeRadioCapability5GS:

contentType: application/vnd.3gpp.ngap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCapabilityEPS:

contentType: application/vnd.3gpp.s1ap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCap5GSForPaging:

contentType: application/vnd.3gpp.ngap

headers:

Content-Id:

schema:

type: string

binaryDataUeRadioCapEPSForPaging:

contentType: application/vnd.3gpp.s1ap

headers:

Content-Id:

schema:

type: string

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

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

‘501’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/501’

‘502’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/502’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

/subscriptions:

post:

summary: Nucmf_UECapabilityManagement Subscribe service Operation

operationId: CreateIndividualSubcription

tags:

– Subscriptions (Collection)

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘201’:

description: Success

content:

application/json:

schema:

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

headers:

Location:

description: ‘Contains the URI of the newly created resource, according to the structure: {apiRoot}/nucmf-uecm/<apiVersion>/subscriptions/{subscriptionId}’

required: true

schema:

type: string

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

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

callbacks:

myNotification:

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

post:

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘204’:

description: No Content, Notification was succesfull

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

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

/subscriptions/{subscriptionId}:

delete:

summary: unsubscribe from notifications

operationId: DeleteIndividualSubcription

tags:

– IndividualSubscription (Document)

parameters:

– name: subscriptionId

in: path

description: Event Subscription ID

required: true

schema:

type: string

responses:

‘204’:

description: No Content. Resource was succesfully 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’

‘502’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/502’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{nrfApiRoot}/oauth2/token’

scopes:

nucmf-uecm: Access to the Nucmf_UECapabilityManagement API

schemas:

DicEntryData:

description: A dictionary entry for a UE radio capability ID in the UCMF

type: object

required:

– typeAllocationCode

properties:

dicEntryId:

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

typeAllocationCode:

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

plmnAssiUeRadioCapId:

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

manAssiUeRadioCapId:

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

ueRadioCapability5GS:

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

ueRadioCapabilityEPS:

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

ueRadioCap5GSForPaging:

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

ueRadioCapEPSForPaging:

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

DicEntryCreateData:

description: Data for a creating a dictionary entry request

type: object

required:

– typeAllocationCode

properties:

typeAllocationCode:

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

ueRadioCapability5GS:

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

ueRadioCapabilityEPS:

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

supportedFeatures:

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

ueRadioCap5GSForPaging:

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

ueRadioCapEPSForPaging:

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

DicEntryCreatedData:

description: Data for a creating a dictionary entry response

type: object

required:

– plmnAssiUeRadioCapId

properties:

plmnAssiUeRadioCapId:

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

UeRadioCapaId:

description: UE Radio Capability ID

type: object

properties:

plmnAssiUeRadioCapId:

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

manAssiUeRadioCapId:

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

CreateSubscription:

description: Data for a creating a subscription request

type: object

required:

– ucmfNotificationUri

properties:

nfId:

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

ucmfNotificationUri:

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

suggestedExpires:

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

supportedFeatures:

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

CreatedSubscription:

description: Data for a creating a subscription response

type: object

required:

– dicEntryId

properties:

dicEntryId:

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

confirmedExpires:

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

supportedFeatures:

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

UcmfNotification:

description: Data for a notification request from a UCMF

type: object

required:

– dicEntryId

– eventType

properties:

dicEntryId:

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

eventType:

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

manAssOpRequestlist:

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

minItems: 1

versionId:

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

manAssOpRequestlist:

description: Manufacturer Assigned operation requested list

type: object

oneOf:

– required: [plmnAssiUeRadioCapId]

– required: [typeAllocationCod]

properties:

plmnAssiUeRadioCapId:

type: array

items:

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

minItems: 1

typeAllocationCode:

type: array

items:

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

#

# SIMPLE DATA TYPES

#

DicEntryId:

type: integer

minimum: 0

maximum: 4294967295

#

# ENUMERATIONS

#

EventType:

anyOf:

– type: string

enum:

– CREATION_OF_DICTIONARY_ENTRY

– DELETION_OF_PLMN_ASSIGNED_IDS

– NEW_VERSION_ID_OF_PLMN_ASSIGNED_IDs

– type: string

RacFormat:

anyOf:

– type: string

enum:

– 5GS

– EPS

– type: string

Annex B (informative):
Change history

Change history

Date

Meeting

TDoc

CR

Rev

Cat

Subject/Comment

New version

2019-09

CT4#93

C4-193849

Initial draft

0.1.0

2019-10

CT4#94

C4-194356

Subscribe, Unsubscribe and Notify

0.2.0

2019-10

CT4#94

C4-194357

Individual dictionary entry resource

0.2.0

2019-11

CT4#95

C4-195436

Data type and openAPI related to Resolve, Assign

0.3.0

2019-11

CT4#95

C4-195438

Data type and openAPI related to (un)Subscribe/Notify

0.3.0

2019-12

CT#86

CP-193069

TS presented for information

1.0.0

2020-03

CT4#96e

C4-200622

UcmfNotification for deletion

1.1.0

2020-03

CT4#96e

C4-200623

Other alignment with stage 2 requirements

1.1.0

2020-03

CT#87e

CP-200067

TS presented for approval

2.0.0

2020-03

CT#87e

Approved at CT#87e

16.0.0

2020-06

CT#88e

CP-201279

0001

2

B

Multiple RAC Coding Format Support in RACS Operation

16.1.0

2020-06

CT#88e

CP-201035

0003

 

F

Storage of YAML files in ETSI Forge

16.1.0

2020-06

CT#88e

CP-201035

0004

 

B

New application error at receiving out-dated UE RAC-ID

16.1.0

2020-06

CT#88e

CP-201035

0005

1

B

Populating New Version Id via Notification

16.1.0

2020-06

CT#88e

CP-201187

0006

F

3GPP TS 29.673 API version update Rel-16

16.1.0

2020-09

CT#89e

CP-202108

0007

F

DicEntryId in DicEntryData

16.2.0

2020-09

CT#89e

CP-202108

0008

F

UE Radio Capability ID retrieval

16.2.0

2020-09

CT#89e

CP-202108

0009

F

Optionality of ProblemDetails in TS29.673 cleanup

16.2.0

2020-09

CT#89e

CP-202096

0010

F

29.673 Rel-16 API version and External doc update

16.2.0

2020-12

CT#90e

CP-203047

0011

1

F

TAC is mandatory in DicEntryData

16.3.0

2020-12

CT#90e

CP-203036

0012

29.673 Rel-16 API version and External doc update

16.3.0

2021-03

CT#91e

CP-210043

0014

 

F

Storage of YAML files

17.0.0

2021-03

CT#91e

CP-210037

0015

1

F

HTTP 3xx redirection

17.0.0

2021-03

CT#91e

CP-210034

0016

1

F

OpenAPI Reference

17.0.0

2021-03

CT#91e

CP-210054

0018

F

29.673 Rel-16 API version and External doc update

17.0.0

2021-06

CT#92e

CP-211028

0019

 

F

Data Type Description for Nucmf_UECapabilityManagement Service API

17.1.0

2021-06

CT#92e

CP-211028

0021

1

F

EventType Data Type

17.1.0

2021-06

CT#92e

CP-211059

0023

 

A

Redirect Response for Nucmf_UECapabilityManagement

17.1.0

2021-06

CT#92e

CP-211050

0024

 

F

29.673 Rel-17 API version and External doc update

17.1.0

2021-09

CT#93e

CP-212065

0027

1

A

Handling of UE Radio Capability for Paging

17.2.0

2021-09

CT#93e

CP-212060

0029

 

A

3xx description correction for SCP

17.2.0

2021-09

CT#93e

CP-212059

0030

 

F

29.673 Rel-17 API version and External doc update

17.2.0

2021-12

CT#94e

CP-213120

0034

 

F

307/308 redirection

17.3.0

2021-12

CT#94e

CP-213130

0033

1

A

Binary Information for UE Radio Capability for Paging

17.3.0

2021-12

CT#94e

CP-213121

0035

 

F

29.673 Rel-17 API version and External doc update

17.3.0

2022-06

CT#96e

CP-221051

0038

F

29.673 Rel-17 API version and External doc update

17.4.0

2022-12

CT#98

CP-223028

0040

1

F

Missing Mandatory Status Codes in OpenAPI

18.0.0

2022-12

CT#98

CP-223033

0041

 

F

29.673 Rel-18 API version and External doc update

18.0.0