A.2 N5g-ddnmf_Discovery API

29.5553GPP5G Direct Discovery Name Management Services5G SystemRelease 18Stage 3TS

openapi: 3.0.0

info:

title: N5g-ddnmf_Discovery API

version: ‘1.1.0-alpha.1’

description: |

N5g-ddnmf_Discovery Service.

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

All rights reserved.

externalDocs:

description: 3GPP TS 29.555 V18.0.0; 5G System; 5G Direct Discovery Name Management Services; Stage 3.

url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.555/

servers:

– url: ‘{apiRoot}/n5g-ddnmf-disc/v1’

variables:

apiRoot:

default: https://example.com

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

security:

– {}

– oAuth2ClientCredentials:

– n5g-ddnmf-disc

paths:

/{ueId}/announce-authorize/{discEntryId}:

put:

summary: Obtain the authorization to announce for a UE

operationId: ObtainAnnounceAuth

tags:

– Obtain the authorization to announce for a UE

parameters:

– name: ueId

in: path

description: Identifier of the UE

required: true

schema:

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

– name: discEntryId

in: path

description: Discovery Entry Id

required: true

schema:

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

requestBody:

content:

application/json:

schema:

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

required: true

responses:

‘201’:

description: Successful creation of the resource

headers:

Location:

description: >

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

{apiRoot}/n5g-ddnmf-disc>/<apiVersion>/{ueId}/announce-authorize/{discEntryId}

required: true

schema:

type: string

‘204’:

description: Successful update of the resource.

‘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

patch:

summary: Update the authorization for announcing for a UE

operationId: UpdateAnnounceAuth

tags:

– Update the authorization for announcing for a UE

parameters:

– name: ueId

in: path

description: Identifier of the UE

required: true

schema:

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

– name: discEntryId

in: path

description: Discovery Entry Id

required: true

schema:

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

requestBody:

content:

application/merge-patch+json:

schema:

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

required: true

responses:

‘200’:

description: Expected response to a valid request

content:

application/json:

schema:

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

‘204’:

description: Expected response to a valid request

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

‘422’:

description: Unprocessable Request

content:

application/problem+json:

schema:

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

‘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

/{ueId}/monitor-authorize/{discEntryId}:

put:

summary: Obtain the authorization to monitor for a UE

operationId: ObtainMonitorAuth

tags:

– Obtain the authorization to monitor for a UE

parameters:

– name: ueId

in: path

description: Identifier of the UE

required: true

schema:

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

– name: discEntryId

in: path

description: Discovery Entry Id

required: true

schema:

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

requestBody:

content:

application/json:

schema:

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

required: true

responses:

‘201’:

description: Created

content:

application/json:

schema:

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

headers:

Location:

description: >

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

{apiRoot}/n5g-ddnmf-disc>/<apiVersion>/{ueId}/monitor-authorize/{discEntryId}

required: true

schema:

type: string

‘204’:

description: Successful update of the resource.

‘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

patch:

summary: Update the authorization for monitoring for a UE

operationId: UpdateMonitorAuth

tags:

– Update the authorization for monitoring for a UE

parameters:

– name: ueId

in: path

description: Identifier of the UE

required: true

schema:

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

– name: discEntryId

in: path

description: Discovery Entry Id

required: true

schema:

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

requestBody:

content:

application/merge-patch+json:

schema:

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

required: true

responses:

‘200’:

description: Expected response to a valid request

content:

application/json:

schema:

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

‘204’:

description: Expected response to a valid request

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

‘422’:

description: Unprocessable Request

content:

application/problem+json:

schema:

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

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

onMonitorUpdateResult:

‘{request.body#/monitorUpdateResultCallbackRef}’:

post:

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘204’:

description: Successful Notification response

‘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

onMatchInformation:

‘{request.body#/matchInfoCallbackRef}’:

post:

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘204’:

description: Successful Notification response

‘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

/{ueId}/discovery-authorize/{discEntryId}:

put:

summary: Obtain the authorization from the 5G DDNMF for a discoverer UE in the PLMN to operate Model B restricted discovery

operationId: ObtainDiscAuth

tags:

– Obtain the authorization for a discoverer UE

parameters:

– name: ueId

in: path

description: Identifier of the UE

required: true

schema:

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

– name: discEntryId

in: path

description: Discovery Entry Id

required: true

schema:

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

requestBody:

content:

application/json:

schema:

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

required: true

responses:

‘201’:

description: Created

content:

application/json:

schema:

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

headers:

Location:

description: >

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

{apiRoot}/n5g-ddnmf-disc>/<apiVersion>/{ueId}/discovery-authorize/{discEntryId}

required: true

schema:

type: string

‘204’:

description: Successful update of the resource.

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

onMatchInformation:

‘{request.body#/matchInfoCallbackRef}’:

post:

requestBody:

required: true

content:

application/json:

schema:

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

responses:

‘204’:

description: Successful Notification response

‘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

/{ueId}/match-report:

post:

summary: Obtain the information about the indicated discovery code from the 5G DDNMF

operationId: MatchReport

tags:

– Obtain the information about the indicated discovery code

parameters:

– name: ueId

in: path

description: Identifier of the UE

required: true

schema:

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

requestBody:

content:

application/json:

schema:

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

responses:

‘200’:

description: Expected response to a valid request

content:

application/json:

schema:

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

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

n5g-ddnmf-disc: Access to the N5g-ddnmf_Discovery API

schemas:

# COMPLEX TYPES:

AnnounceAuthReqData:

type: object

description: Represents Data used to request the authorization to announce for a UE

required:

– discType

properties:

discType:

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

openDiscData:

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

restrictedDiscData:

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

AnnounceDiscDataForOpen:

type: object

description: Represents Data for open discovery used to request the authorization to announce for a UE

required:

– proseAppId

– validityTime

properties:

proseAppId:

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

validityTime:

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

proseAppCode:

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

proseAppCodePrefix:

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

proseAppCodeSuffixPool:

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

metaData:

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

AnnounceDiscDataForRestricted:

type: object

description: Represents Data for restricted discovery used to request the authorization to announce for a UE

required:

– rpauid

– appId

– validityTime

properties:

rpauid:

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

appId:

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

validityTime:

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

proseRestrictedCode:

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

proseRestrictedPrefix:

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

codeSuffixPool:

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

AnnounceUpdateData:

type: object

description: Represents Announce Authorize Data to update

required:

– discType

– validityTime

properties:

discType:

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

validityTime:

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

proseAppCode:

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

MonitorAuthReqData:

type: object

description: Represents Data used to request the authorization to monitor for a UE

required:

– discType

properties:

discType:

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

openDiscData:

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

restrictedDiscData:

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

MonitorAuthRespData:

type: object

description: Represents the obtained Monitor Authorize Data for a UE

properties:

authDataOpen:

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

authDataRestricted:

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

MonitorDiscDataForOpen:

type: object

description: Represents Data for open discovery used to request the authorization to monitor for a UE

required:

– proseAppIdNames

properties:

proseAppIdNames:

type: array

items:

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

minItems: 1

MonitorDiscDataForRestricted:

type: object

description: Represents Data for restricted discovery used to request the authorization to monitor for a UE

required:

– rpauid

– targetPduid

– appId

– targetRpauid

properties:

rpauid:

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

targetPduid:

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

appId:

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

targetRpauid:

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

MonitorAuthDataForOpen:

type: object

description: Represents the obtained Announce Authorize Data for open discovery for a UE

required:

– proseAppMasks

– ttl

properties:

proseAppCodes:

type: array

items:

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

minItems: 1

proseAppPrefix:

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

proseAppMasks:

type: array

items:

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

minItems: 1

ttl:

type: integer

MonitorAuthDataForRestricted:

type: object

description: Represents the obtained Announce Authorize Data for restricted discovery for a UE

required:

– proseRestrictedCode

– validityTime

properties:

proseRestrictedCode:

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

validityTime:

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

MonitorUpdateData:

type: object

description: Represents Monitor Authorize Data to update.

required:

– discType

properties:

discType:

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

openUpdateData:

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

restrictedUpdateData:

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

DiscoveryAuthReqData:

type: object

description: Represents Data used to request the authorization for a discoverer UE.

required:

– discType

properties:

discType:

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

restrictedDiscData:

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

DiscoveryAuthRespData:

type: object

description: Represents the obtained authorization Data for a discoverer UE

properties:

authDataRestricted:

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

DiscDataForRestricted:

type: object

description: Represents Data for restricted discovery used to request the authorization for a discoverer UE

required:

– rpauid

– targetPduid

– appId

– targetRpauid

properties:

rpauid:

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

targetPduid:

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

appId:

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

targetRpauid:

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

AuthDataForRestricted:

type: object

description: Represents obtained authorization Data for restricted discovery for a discoverer UE

required:

– proseQueryCodes

– proseRespCode

– validityTime

properties:

proseQueryCodes:

items:

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

minItems: 1

proseRespCode:

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

validityTime:

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

MatchReportReqData:

type: object

description: Represents the Match Report information

required:

– discType

properties:

discType:

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

proseAppCodes:

items:

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

minItems: 1

moniteredPlmnId:

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

MatchReportRespData:

type: object

description: Represents Match Report Acknowledgement

properties:

proseAppIdNames:

items:

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

minItems: 1

validityTime:

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

metaData:

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

metaDataIndexMasks:

items:

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

minItems: 1

MonitorUpdateResult:

type: object

description: Represents the monitoring revocation results.

required:

– discType

– proseRestrictedCode

– appId

– bannedRpauid

– bannedPduid

– revocationResult

properties:

discType:

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

proseRestrictedCode:

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

appId:

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

bannedRpauid:

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

bannedPduid:

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

revocationResult:

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

MatchInformation:

type: object

description: >

Represents a report including a matching result, and the information that

can be used for charging purpose.

required:

– discType

properties:

discType:

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

openMatchInfoForOpen:

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

restrictedMatchInfo:

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

MatchInfoForOpen:

type: object

description: >

Represents a report including a matching result, and the information that

can be used for charging purpose for the open discovery type.

required:

– supi

– appId

properties:

supi:

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

appId:

items:

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

minItems: 1

MatchInfoForRestricted:

type: object

description: >

Represents a report including a matching result, and the information that

can be used for charging purpose for the restricted discovery type.

required:

– supi

– rpauid

– targetRpauid

– proseRestrictedCode

properties:

supi:

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

rpauid:

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

targetRpauid:

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

proseRestrictedCode:

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

RestrictedCodeSuffixPool:

type: object

description: Contains the Restricted Code Suffix Pool.

anyOf:

– required: [ codeSuffixList ]

– required: [ codeSuffixRangeList ]

properties:

codeSuffixList:

type: array

items:

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

minItems: 1

codeSuffixRangeList:

type: array

items:

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

minItems: 1

RestrictedCodeSuffixRange:

type: object

description: Contains a range of the Restricted Code Suffixes which are consecutive.

required:

– beginningSuffix

– endingSuffix

properties:

beginningSuffix:

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

endingSuffix:

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

ProseApplicationCodeSuffixPool:

type: object

description: Contains the Prose Application Code Suffix Pool.

anyOf:

– required: [ codeSuffix ]

– required: [ codeSuffixRange ]

properties:

codeSuffix:

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

codeSuffixRange:

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

ProseAppCodeSuffixRange:

type: object

description: Contains a range of the Prose Application Code Suffixes which are consecutive.

required:

– beginningSuffix

– endingSuffix

properties:

beginningSuffix:

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

endingSuffix:

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

MonitorUpdateDataForOpen:

type: object

description: Represents Monitor Update Data for the Discovery Type "OPEN".

required:

– proseAppIdName

– ttl

properties:

proseAppIdName:

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

ttl:

type: integer

minimum: 0

MonitorUpdateDataForRestricted:

type: object

description: Represents Monitor Update Data for the Discovery Type "RESTRICTED".

required:

– proseRestrictedCode

– appId

– bannedRpauid

– bannedPduid

properties:

proseRestrictedCode:

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

appId:

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

bannedRpauid:

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

bannedPduid:

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

monitorUpdateResultCallbackRef:

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

# SIMPLE TYPES:

DiscoveryEntryId:

description: Contains the Discovery Entry ID.

type: string

ProseApplicationId:

description: Contains the ProSe Application ID.

type: string

ProseApplicationCode:

description: Contains the ProSe Application Code.

type: string

Rpauid:

description: Contains the RPAUID.

type: string

ApplicationId:

description: Contains the Application ID.

type: string

ProseRestrictedCode:

description: Contains the ProSe Restricted Code.

type: string

ProseRestrictedPrefix:

description: Contains the ProSe Restricted Code Prefix.

type: string

MetaData:

description: Contains the metadata.

type: string

ProseApplicationIdName:

description: Contains the ProSe Application ID name.

type: string

Pduid:

description: Contains the PDUID.

type: string

ProseApplicationPrefix:

description: Contains the Prose Application Code Prefix.

type: string

ProseApplicationMask:

description: Contains the Prose Application Mask.

type: string

ProseQueryCode:

description: Contains the ProSe Query Code.

type: string

ProseResponseCode:

description: Contains the ProSe Response Code.

type: string

MetaDataIndexMask:

description: Contains the Meta Data Index Mask.

type: string

RestrictedCodeSuffix:

description: Contains the ProSe Restricted Code Suffix.

type: string

ProseAppCodeSuffix:

description: Contains the ProSe Application Code Suffix.

type: string

# ENUMS:

DiscoveryType:

anyOf:

– type: string

enum:

– OPEN

– RESTRICTED

– 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.

description: >

Possible values are

– OPEN: Discovery type is "open".

– RESTRICTED: Discovery type is "restricted".

RevocationResult:

anyOf:

– type: string

enum:

– SUCCESSFUL

– FAILED

– 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.

description: >

Possible values are

– SUCCESSFUL: The Monitoring Revocation is successful.

– FAILED: The Monitoring Revocation is failed.

Annex B (informative):
Change history

Change history

Date

Meeting

TDoc

CR

Rev

Cat

Subject/Comment

New version

2021-04

C4#103-e

C4-212597

Implementation of pCRs agreed in CT4 # 103-e including C4-212149, C4-212151, C4-212455.

0.1.0

2021-06

C4#104-e

C4-213528

Implementation of pCRs agreed in CT4#104-e including C4-213188, C4-213207, C4-213338, C4-213340, C4-213341, C4-213342, C4-213455, C4-213457, C4-213463.

0.2.0

2021-09

C4#105-e

C4-214757

Implementation of pCRs agreed in CT4#105-e including C4-214266, C4-214267, C4-214268, C4-214269, C4-214433, C4-214435, C4-214436, C4-214437, C4-214438, C4-214439, C4-214441, C4-214442, C4-214604, C4-214605, C4-214830, C4-214832.

0.3.0

2021-10

C4#105-e

C4-215521

Implementation of pCRs agreed in CT4#106-e including C4-215097, C4-215353, C4-215448, C4-215449.

0.4.0

2021-12

CT#94e

CP-213159

V1.0.0 presented for information

1.0.0

2022-01

CT4#107-bis-e

C4-220455

Implementation of pCRs agreed in CT4#107-bis-e including C4-220281

1.1.0

2022-03

CT4#108-e

C4-221593

Implementation of pCRs agreed in CT4#108-e including C4-221337, C4-221349

1.2.0

2022-03

CT#95e

CP-220108

TS presented for information

2.0.0

2022-03

CT#95e

TS approved

17.0.0

2022-06

CT#96

CP-221043

0001

1

F

Correction on the description of RevocationResult

17.1.0

2022-06

CT#96

CP-221029

0002

1

F

Remove the apiVersion placeholder from the resource URI variables table

17.1.0

2022-06

CT#96

CP-221299

0003

1

F

29.555 0003 Rel-17 API version and External doc update

17.1.0

2022-12

CT#98-e

CP-223028

0005

1

F

Missing Mandatory Status Codes in OpenAPI

18.0.0

2022-12

CT#98-e

CP-223033

0006

F

29.555 Rel-18 API version and External doc update

18.0.0