A.2 Naf_ProSe API
29.5573GPP5G SystemApplication Function ProSe ServiceRelease 18Stage 3TS
openapi: 3.0.0
info:
title: Naf_ProSe API
version: 1.1.0-alpha.1
description: |
Naf_ProSe Service.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: >
3GPP TS 29.557 V18.0.0; 5G System; Application Function ProSe Service; Stage 3.
url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.557/
servers:
– url: ‘{apiRoot}/naf-prose/v1’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501
security:
– {}
– oAuth2ClientCredentials:
– naf-prose
paths:
/authorize-discovery:
post:
summary: Obtain the authorization of Discovery Request from 5G DDNMF for a UE
operationId: ObtainDiscAuth
tags:
– Obtain the authorization of Discovery Request for a UE
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/AuthDisReqData’
responses:
‘200’:
description: Expected response to a valid request
content:
application/json:
schema:
$ref: ‘#/components/schemas/AuthDisResData’
‘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:
DiscoveryAuthorizationUpdateNotify:
‘{$request.body#/authUpdateCallbackUri}’:
post:
requestBody:
description: >
update of authorization information to revoke discovery permissions
relating to some other users in the NF consumer for Restricted ProSe Direct Discovery
content:
application/json:
schema:
$ref: ‘#/components/schemas/AuthUpdateData’
responses:
‘204’:
description: Expected response to a valid notification
‘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’
‘504’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/504’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
/authorization-update-result:
post:
summary: >
report the result of update of authorization information to revoke discovery
permissions relating to some other users in the NF consumer for Restricted ProSe Direct
Discovery
operationId: AuthorizationUpdateResult
tags:
– Authorization Information Update Result
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/AuthUpdateData’
required: true
responses:
‘204’:
description: Expected response to a successful cancellation
‘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’
‘504’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/504’
default:
$ref: ‘TS29571_CommonData.yaml#/components/responses/default’
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: ‘{nrfApiRoot}/oauth2/token’
scopes:
naf-prose: Access to the Naf_ProSe API
schemas:
# COMPLEX TYPES:
AuthDisReqData:
type: object
description: >
Represents Data used to request the authorization for a UE of a 5G ProSe Direct
Discovery request.
required:
– authRequestType
properties:
authRequestType:
$ref: ‘#/components/schemas/AuthRequestType’
proseAppId:
type: array
items:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/ProseApplicationId’
allowedSuffixNum:
$ref: ‘#/components/schemas/AllowedSuffixNum’
appLevelContainer:
$ref: ‘#/components/schemas/AppLevelContainer’
rpauid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid’
targetRpauid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid’
authUpdateCallbackUri:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
AuthDisResData:
type: object
description: >
Represents the obtained authorization Data for a UE of a 5G ProSe Direct Discovery
request.
required:
– authResponseType
properties:
authResponseType:
$ref: ‘#/components/schemas/AuthResponseType’
proseAppCodeSuffixPool:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/ProseApplicationCodeSuffixPool’
pduids:
type: array
items:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid’
restrictedCodeSuffixPool:
type: array
items:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/RestrictedCodeSuffixPool’
proseAppMasks:
type: array
items:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/ProseApplicationMask’
proSeRestrictedMasks:
type: array
items:
$ref: ‘#/components/schemas/ProSeRestrictedMask’
resAppLevelContainer:
$ref: ‘#/components/schemas/AppLevelContainer’
targetDataSet:
type: array
items:
$ref: ‘#/components/schemas/TargetData’
targetPduid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid’
metaData:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/MetaData’
TargetData:
type: object
description: Represents a set of Target PDUID – Target RPAUID – Metadata Indicator.
required:
– targetRpauid
– pduid
properties:
targetRpauid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid’
pduid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid’
metadataIndic:
$ref: ‘#/components/schemas/MetadataIndic’
AuthUpdateData:
type: object
description: >
Represents the update data and resulting update data of authorization information
for Restricted ProSe Direct Discovery.
required:
– targetRpauid
– bannedAuthData
properties:
targetRpauid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid’
bannedAuthData:
type: array
items:
$ref: ‘#/components/schemas/BannedAuthData’
minItems: 1
BannedAuthData:
type: object
description: Represents a set of Banned PDUID – Banned RPAUID.
required:
– bannedRpauid
– bannedPduid
properties:
bannedRpauid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Rpauid’
bannedPduid:
$ref: ‘TS29555_N5g-ddnmf_Discovery.yaml#/components/schemas/Pduid’
revocationResult:
$ref: ‘#/components/schemas/RevocationResult’
# SIMPLE TYPES:
AllowedSuffixNum:
description: contains the allowed number of suffixes.
type: integer
AppLevelContainer:
description: Contains the Application Level Container.
type: string
ProSeRestrictedMask:
description: Contains a ProSe Restricted Mask.
type: string
# ENUMS:
AuthRequestType:
anyOf:
– type: string
enum:
– OPEN_DISCOVERY_EXTENSION_ANNOUNCE
– RESTRICTED_DISCOVERY_ANNOUNCE
– RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE
– OPEN_DISCOVERY_EXTENSION_MONITOR
– RESTRICTED_DISCOVERY_MONITOR
– RESTRICTED_DISCOVERY_EXTENSION_MONITOR
– RESTRICTED_DISCOVERY_PERMISSION
– RESTRICTED_DISCOVERY_RESPONSE
– RESTRICTED_DISCOVERY_QUERY
– RESTRICTED_DISCOVERY_MATCH
– 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:
– OPEN_DISCOVERY_EXTENSION_ANNOUNCE: Indicates that the Authorization Request Type is
open discovery with application-controlled extension/announce.
– RESTRICTED_DISCOVERY_ANNOUNCE: Indicates that the Authorization Request Type is restricted
discovery/announce.
– RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE: Indicates that the Authorization Request Type is
restricted discovery with application-controlled extension/announce.
– OPEN_DISCOVERY_EXTENSION_MONITOR: Indicates that the Authorization Request Type is open
discovery with application-controlled extension/monitor.
– RESTRICTED_DISCOVERY_MONITOR: Indicates that the Authorization Request Type is restricted
discovery/monitor.
– RESTRICTED_DISCOVERY_EXTENSION_MONITOR: Indicates that the Authorization Request Type is
restricted discovery with application-controlled extension/monitor.
– RESTRICTED_DISCOVERY_PERMISSION: Indicates that the Authorization Request Type is
restricted discovery/permission.
– RESTRICTED_DISCOVERY_RESPONSE: Indicates that the Authorization Request Type is restricted
discovery/response.
– RESTRICTED_DISCOVERY_QUERY: Indicates that the Authorization Request Type is restricted
discovery/query.
– RESTRICTED_DISCOVERY_MATCH: Indicates that the Authorization Request Type is restricted
discovery/match.
AuthResponseType:
anyOf:
– type: string
enum:
– OPEN_DISCOVERY_EXTENSION_ANNOUNCE_ACK
– RESTRICTED_DISCOVERY_ANNOUNCE_ACK
– RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE_ACK
– OPEN_DISCOVERY_EXTENSION_MONITOR_ACK
– RESTRICTED_DISCOVERY_MONITOR_ACK
– RESTRICTED_DISCOVERY_EXTENSION_MONITOR_ACK
– RESTRICTED_DISCOVERY_PERMISSION_ACK
– RESTRICTED_DISCOVERY_RESPONSE_ACK
– RESTRICTED_DISCOVERY_QUERY_ACK
– RESTRICTED_DISCOVERY_MATCH_ACK
– 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:
– OPEN_DISCOVERY_EXTENSION_ANNOUNCE_ACK: Indicates that the Authorization Response Type is
open discovery with application-controlled extension/announce ack.
– RESTRICTED_DISCOVERY_ANNOUNCE_ACK: Indicates that the Authorization Response Type is
restricted discovery/announce ack.
– RESTRICTED_DISCOVERY_EXTENSION_ANNOUNCE_ACK: Indicates that the Authorization Response
Type is restricted discovery with application-controlled extension/announce ack.
– OPEN_DISCOVERY_EXTENSION_MONITOR_ACK: Indicates that the Authorization Response Type is
open discovery with application-controlled extension/monitor ack.
– RESTRICTED_DISCOVERY_MONITOR_ACK: Indicates that the Authorization Response Type is
restricted discovery/monitor ack.
– RESTRICTED_DISCOVERY_EXTENSION_MONITOR_ACK: Indicates that the Authorization Response Type
is restricted discovery with application-controlled extension/monitor ack.
– RESTRICTED_DISCOVERY_PERMISSION_ACK: Indicates that the Authorization Response Type is
restricted discovery/permission ack.
– RESTRICTED_DISCOVERY_RESPONSE_ACK: Indicates that the Authorization Response Type is
restricted discovery/response ack.
– RESTRICTED_DISCOVERY_QUERY_ACK: Indicates that the Authorization Response Type is
restricted discovery/query ack.
– RESTRICTED_DISCOVERY_MATCH_ACK: Indicates that the Authorization Response Type is
restricted discovery/match ack.
MetadataIndic:
anyOf:
– type: string
enum:
– NO_METADATA
– METADATA_UPDATE_DISALLOWED
– METADATA_UPDATE_ALLOWED
– 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:
– NO_METADATA: This value may be used to indicate that there is no metadata associated with
the target RPAUID. This is the default value applicable if this IE is not supplied.
– METADATA_UPDATE_DISALLOWED: This value shall be used to indicate that there exists
metadata associated with the target RPAUID, but the metadata is not allowed to be updated.
– METADATA_UPDATE_ALLOWED: This value shall be used to indicate that there exists metadata
associated with the target RPAUID, and the metadata is allowed to be updated.
RevocationResult:
anyOf:
– type: string
enum:
– REVOCATION_SUCCESSFUL
– REVOCATION_NOT_SUCCESSFUL
– 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:
– REVOCATION_SUCCESSFUL: Indicates the successful revocation for a set of Banned RPAUID –
Banned PDUID for Restricted ProSe Direct Discovery.
– REVOCATION_NOT_SUCCESSFUL: Indicates that unsuccessful revocation for a set of Banned
RPAUID – Banned PDUID for Restricted ProSe Direct Discovery.
Annex B (informative):
Change history
|
Change history |
|||||||
|
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
|
2021-04 |
CT3#115-e |
C3-212446 |
Draft skeleton provided by the rapporteur. |
0.0.0 |
|||
|
2021-05 |
CT3#116-e |
C3-213504 |
Implementing the following p-CR agreed by CT3: Editorial change from the rapporteur. Specification number added. |
0.1.0 |
|||
|
2021-08 |
CT3#117-e |
C3-214590 |
Implementing the following p-CR agreed by CT3: Editorial change from the rapporteur. |
0.2.0 |
|||
|
2021-09 |
CT3#117-e |
C3-214590 |
Change filename – removed Stable |
0.2.1 |
|||
|
2021-09 |
CT#93-e |
CP-212188 |
The p-CRs are agreed in CT#93-e. |
0.2.1 |
|||
|
2021-10 |
CT3#118-e |
C3-215453 |
Implementing the following p-CR agreed by CT3: |
0.3.0 |
|||
|
2021-12 |
CT#94-e |
CP-213209 |
Presentation for information |
1.0.0 |
|||
|
2022-01 |
CT3#119bis-e |
C3-220451 |
Implementing the following p-CR agreed by CT3: |
1.1.0 |
|||
|
2022-02 |
CT3#120-e |
C3-221556 |
Implementing the following p-CR agreed by CT3: |
1.2.0 |
|||
|
2022-03 |
CT#95e |
CP-220157 |
Presentation to TSG CT for approval |
2.0.0 |
|||
|
2022-03 |
CT#95e |
CP-220157 |
Approved by TSG CT |
17.0.0 |
|||
|
2022-06 |
CT#96 |
CP-221116 |
0001 |
1 |
F |
Adding the missing description fields in the OpenAPI file |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221116 |
0002 |
1 |
F |
Miscellaneous corrections |
17.1.0 |
|
2022-06 |
CT#96 |
CP-221116 |
0003 |
F |
API URI of the Naf_ProSe API |
17.1.0 |
|
|
2022-06 |
CT#96 |
CP-221152 |
0004 |
F |
Update of info and externalDocs fields |
17.1.0 |
|
|
2022-09 |
CT#97e |
CP-222132 |
0005 |
1 |
F |
Application errors reference update in the tables defining methods on the resources for Naf_ProSe API |
17.2.0 |
|
2022-12 |
CT#98e |
CP-223162 |
0007 |
1 |
F |
Correction to AuthDisResData data type |
17.3.0 |
|
2022-12 |
CT#98e |
CP-223162 |
0008 |
1 |
F |
Correction to AuthDisReqData data type |
17.3.0 |
|
2022-12 |
CT#98e |
CP-223162 |
0009 |
1 |
F |
Corrections to DiscoveryAuthorization service operation |
17.3.0 |
|
2022-12 |
CT#98e |
CP-223162 |
0011 |
1 |
F |
Add the missing status codes for the HTTP operations |
17.3.0 |
|
2022-12 |
CT#98e |
CP-223162 |
0012 |
1 |
F |
Corrections for data types and API of Naf_ProSe service |
17.3.0 |
|
2022-12 |
CT#98e |
CP-223188 |
0017 |
F |
Update of info and externalDocs fields |
17.3.0 |
|
|
2022-12 |
CT#98e |
CP-223191 |
0006 |
F |
Adding the mandatory error code 502 Bad Gateway |
18.0.0 |
|
|
2022-12 |
CT#98e |
CP-223192 |
0010 |
1 |
F |
Enumeration definitions in the OpenAPI file |
18.0.0 |
|
2022-12 |
CT#98e |
CP-223199 |
0013 |
1 |
F |
Update for the Naf_ProSe Service architecture |
18.0.0 |
|
2022-12 |
CT#98e |
CP-223190 |
0018 |
F |
Update of info and externalDocs fields |
18.0.0 |
|