-
Notifications
You must be signed in to change notification settings - Fork 253
/
TS29222_CAPIF_API_Provider_Management_API.yaml
341 lines (331 loc) · 13.1 KB
/
TS29222_CAPIF_API_Provider_Management_API.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
openapi: 3.0.0
info:
title: CAPIF_API_Provider_Management_API
description: |
API for API provider domain functions management.
© 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
version: "1.2.0-alpha.3"
externalDocs:
description: 3GPP TS 29.222 V18.5.0 Common API Framework for 3GPP Northbound APIs
url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/
servers:
- url: '{apiRoot}/api-provider-management/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222
paths:
/registrations:
post:
description: Registers a new API Provider domain with API provider domain functions profiles.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/APIProviderEnrolmentDetails'
responses:
'201':
description: API provider domain registered successfully
content:
application/json:
schema:
$ref: '#/components/schemas/APIProviderEnrolmentDetails'
headers:
Location:
description: >
Contains the URI of the newly created resource, according to the structure
{apiRoot}/api-provider-management/v1/registrations/{registrationId}
required: true
schema:
type: string
'400':
$ref: 'TS29122_CommonData.yaml#/components/responses/400'
'401':
$ref: 'TS29122_CommonData.yaml#/components/responses/401'
'403':
$ref: 'TS29122_CommonData.yaml#/components/responses/403'
'404':
$ref: 'TS29122_CommonData.yaml#/components/responses/404'
'411':
$ref: 'TS29122_CommonData.yaml#/components/responses/411'
'413':
$ref: 'TS29122_CommonData.yaml#/components/responses/413'
'415':
$ref: 'TS29122_CommonData.yaml#/components/responses/415'
'429':
$ref: 'TS29122_CommonData.yaml#/components/responses/429'
'500':
$ref: 'TS29122_CommonData.yaml#/components/responses/500'
'503':
$ref: 'TS29122_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29122_CommonData.yaml#/components/responses/default'
/registrations/{registrationId}:
delete:
description: Deregisters API provider domain by deleting API provider domain and functions.
parameters:
- name: registrationId
in: path
description: String identifying an registered API provider domain resource.
required: true
schema:
type: string
responses:
'204':
description: The API provider domain matching registrationId is deleted.
'307':
$ref: 'TS29122_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29122_CommonData.yaml#/components/responses/308'
'400':
$ref: 'TS29122_CommonData.yaml#/components/responses/400'
'401':
$ref: 'TS29122_CommonData.yaml#/components/responses/401'
'403':
$ref: 'TS29122_CommonData.yaml#/components/responses/403'
'404':
$ref: 'TS29122_CommonData.yaml#/components/responses/404'
'429':
$ref: 'TS29122_CommonData.yaml#/components/responses/429'
'500':
$ref: 'TS29122_CommonData.yaml#/components/responses/500'
'503':
$ref: 'TS29122_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29122_CommonData.yaml#/components/responses/default'
put:
description: Updates an API provider domain's registration details.
parameters:
- name: registrationId
in: path
description: String identifying an registered API provider domain resource.
required: true
schema:
type: string
requestBody:
description: >
Representation of the API provider domain registration details to be updated
in CAPIF core function.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/APIProviderEnrolmentDetails'
responses:
'200':
description: API provider domain registration details updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/APIProviderEnrolmentDetails'
'204':
description: No Content
'307':
$ref: 'TS29122_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29122_CommonData.yaml#/components/responses/308'
'400':
$ref: 'TS29122_CommonData.yaml#/components/responses/400'
'401':
$ref: 'TS29122_CommonData.yaml#/components/responses/401'
'403':
$ref: 'TS29122_CommonData.yaml#/components/responses/403'
'404':
$ref: 'TS29122_CommonData.yaml#/components/responses/404'
'411':
$ref: 'TS29122_CommonData.yaml#/components/responses/411'
'413':
$ref: 'TS29122_CommonData.yaml#/components/responses/413'
'415':
$ref: 'TS29122_CommonData.yaml#/components/responses/415'
'429':
$ref: 'TS29122_CommonData.yaml#/components/responses/429'
'500':
$ref: 'TS29122_CommonData.yaml#/components/responses/500'
'503':
$ref: 'TS29122_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29122_CommonData.yaml#/components/responses/default'
patch:
description: Modify an individual API provider details.
operationId: ModifyIndApiProviderEnrolment
tags:
- Individual API Provider enrolment details
parameters:
- name: registrationId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/APIProviderEnrolmentDetailsPatch'
responses:
'200':
description: >
The definition of the service API is modified successfully and a
representation of the updated service API is returned in the request body.
content:
application/json:
schema:
$ref: '#/components/schemas/APIProviderEnrolmentDetails'
'204':
description: No Content. The definition of the service API is modified successfully.
'307':
$ref: 'TS29122_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29122_CommonData.yaml#/components/responses/308'
'400':
$ref: 'TS29122_CommonData.yaml#/components/responses/400'
'401':
$ref: 'TS29122_CommonData.yaml#/components/responses/401'
'403':
$ref: 'TS29122_CommonData.yaml#/components/responses/403'
'404':
$ref: 'TS29122_CommonData.yaml#/components/responses/404'
'411':
$ref: 'TS29122_CommonData.yaml#/components/responses/411'
'413':
$ref: 'TS29122_CommonData.yaml#/components/responses/413'
'415':
$ref: 'TS29122_CommonData.yaml#/components/responses/415'
'429':
$ref: 'TS29122_CommonData.yaml#/components/responses/429'
'500':
$ref: 'TS29122_CommonData.yaml#/components/responses/500'
'503':
$ref: 'TS29122_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29122_CommonData.yaml#/components/responses/default'
components:
schemas:
APIProviderEnrolmentDetails:
type: object
description: Represents an API provider domain's enrolment details.
properties:
apiProvDomId:
type: string
description: >
API provider domain ID assigned by the CAPIF core function to the API management
function while registering the API provider domain. Shall not be present in the
HTTP POST request from the API Management function to the CAPIF core function,
to on-board itself. Shall be present in all other HTTP requests and responses.
readOnly: true
regSec:
type: string
description: >
Security information necessary for the CAPIF core function to validate the
registration of the API provider domain. Shall be present in HTTP POST request
from API management function to CAPIF core function for API provider domain
registration.
apiProvFuncs:
type: array
items:
$ref: '#/components/schemas/APIProviderFunctionDetails'
minItems: 1
description: >
A list of individual API provider domain functions details. When included by
the API management function in the HTTP request message, it lists the API
provider domain functions that the API management function intends to
register/update in registration or update registration procedure. When
included by the CAPIF core function in the HTTP response message, it lists
the API domain functions details that are registered or updated successfully.
apiProvDomInfo:
type: string
description: >
Generic information related to the API provider domain such as details
of the API provider applications.
suppFeat:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
failReason:
type: string
description: >
Registration or update specific failure information of failed API provider
domain function registrations.Shall be present in the HTTP response
body if atleast one of the API provider domain function registration or update
registration fails.
apiProvName:
type: string
description: Represents the API provider name.
required:
- regSec
APIProviderFunctionDetails:
type: object
description: Represents an API provider domain function's details.
properties:
apiProvFuncId:
type: string
description: >
API provider domain functionID assigned by the CAPIF core function to the
API provider domain function while registering/updating the API provider domain.
Shall not be present in the HTTP POST request from the API management function to
the CAPIF core function, to register itself. Shall be present in all other HTTP
requests and responses.
regInfo:
$ref: '#/components/schemas/RegistrationInformation'
apiProvFuncRole:
$ref: '#/components/schemas/ApiProviderFuncRole'
apiProvFuncInfo:
type: string
description: >
Generic information related to the API provider domain function such as details
of the API provider applications.
required:
- regInfo
- apiProvFuncRole
RegistrationInformation:
type: object
description: >
Represents registration information of an individual API provider domain function.
properties:
apiProvPubKey:
type: string
description: Public Key of API Provider domain function.
apiProvCert:
type: string
description: API provider domain function's client certificate
required:
- apiProvPubKey
APIProviderEnrolmentDetailsPatch:
type: object
description: >
Represents a list of modifications for the API provider domain's enrolment details.
properties:
apiProvFuncs:
type: array
items:
$ref: '#/components/schemas/APIProviderFunctionDetails'
minItems: 1
description: >
A list of individual API provider domain functions details. When included by
the API management function in the HTTP request message, it lists the API
provider domain functions that the API management function intends to
register/update in registration or update registration procedure.
apiProvDomInfo:
type: string
description: >
Generic information related to the API provider domain such as details
of the API provider applications.
# Simple data types and enumerations
ApiProviderFuncRole:
anyOf:
- type: string
enum:
- AEF
- APF
- AMF
- type: string
description: >
This string provides forward-compatiblity with future extensions to the enumeration
but is not used to encode content defined in the present version of this API.
description: |
Indicates the role (e.g. AEF, APF, etc.) of an API provider domain function.
Possible values are:
- AEF: API provider function is API Exposing Function.
- APF: API provider function is API Publishing Function.
- AMF: API Provider function is API Management Function.