openapi.osdu.yaml 72.7 KB
Newer Older
Diego Molteni's avatar
Diego Molteni committed
1
#  ***************************************************************************
Diego Molteni's avatar
Diego Molteni committed
2
#  Copyright 2017 - 2021, Schlumberger
Diego Molteni's avatar
Diego Molteni committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#
#  Licensed under the Apache License, Version 2.0(the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#  ***************************************************************************

# ===========================================================================
# Endpoints Description
# ===========================================================================

21
swagger: "2.0"
Diego Molteni's avatar
Diego Molteni committed
22
23

info:
Daniel Perez's avatar
Daniel Perez committed
24
  title: "Seismic DMS Service"
Daniel Perez's avatar
Daniel Perez committed
25
  version: "3.0.0"
Daniel Perez's avatar
Daniel Perez committed
26
  description: "Seismic Data Management APIs to store and manage seismic datasets ."
27
28
29
  license:
    name: "Apache 2.0"
    url: "https://www.apache.org/licenses/LICENSE-2.0.html"
Diego Molteni's avatar
Diego Molteni committed
30
31
32
33
34
35
36
37
38
39
40
41

consumes:
  - application/json
produces:
  - application/json
schemes:
  - https

# ===========================================================================
# Endpoints Paths Section
# ===========================================================================

42
basePath: #{SDMS_PREFIX}#
43

Diego Molteni's avatar
Diego Molteni committed
44
paths:
Diego Molteni's avatar
Diego Molteni committed
45
46
  /svcstatus:
    get:
Duo Chen's avatar
Duo Chen committed
47
      summary: "Seismic store service status (fast check)."
Diego Molteni's avatar
Diego Molteni committed
48
49
50
51
52
53
54
55
      description: "<ul><li>Return the seismic store service status.</li><li>Required roles: none</li></ul>"
      security:
        - api-key: []
      operationId: service-status
      tags:
        - General
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
56
          description: "Service status."
Diego Molteni's avatar
Diego Molteni committed
57
58
59
          schema:
            type: string
            example: "service OK"
Diego Molteni's avatar
Diego Molteni committed
60

Diego Molteni's avatar
Diego Molteni committed
61
62
  /svcstatus/access:
    get:
varungbt's avatar
varungbt committed
63
64
      summary: "Seismic store service access check."
      description: "<ul><li>Validates if the token audience is allowed</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
65
66
67
68
69
      operationId: service-status-check
      tags:
        - General
      responses:
        200:
varungbt's avatar
varungbt committed
70
          description: "User token audience is allowed by seismic store service."
Diego Molteni's avatar
Diego Molteni committed
71
72
73
          schema:
            $ref: "#/definitions/Status"
        401:
Duo Chen's avatar
Duo Chen committed
74
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
75
        403:
Duo Chen's avatar
Duo Chen committed
76
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
77
78
79

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}:
    post:
Duo Chen's avatar
Duo Chen committed
80
81
      summary: "Register a new dataset."
      description: "<ul><li>Register a new dataset in the seismic store.</li><li>Required roles: subproject.admin, subproject.editor</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
82
83
84
85
      operationId: dataset-register
      tags:
        - Dataset
      parameters:
86
87
88
89
90
91
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
92
        - description: "Legal tag of the dataset."
Diego Molteni's avatar
Diego Molteni committed
93
94
95
96
          in: header
          name: ltag
          type: string
          required: false
Duo Chen's avatar
Duo Chen committed
97
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
98
99
100
101
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
102
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
103
104
105
106
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
107
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
108
109
110
111
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
112
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
113
114
115
116
117
118
119
120
121
122
          in: path
          name: datasetid
          required: true
          type: string
        - description: "Request body"
          in: body
          name: request body
          required: false
          schema:
            $ref: "#/definitions/DatasetRegisterBody"
Diego Molteni's avatar
Diego Molteni committed
123
124
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
125
          description: "Registered dataset metadata."
Diego Molteni's avatar
Diego Molteni committed
126
127
128
          schema:
            $ref: "#/definitions/Dataset"
        400:
Duo Chen's avatar
Duo Chen committed
129
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
130
        401:
Duo Chen's avatar
Duo Chen committed
131
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
132
        403:
Duo Chen's avatar
Duo Chen committed
133
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
134
        404:
Duo Chen's avatar
Duo Chen committed
135
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
136
        409:
Duo Chen's avatar
Duo Chen committed
137
          description: "Conflict."
Diego Molteni's avatar
Diego Molteni committed
138
        423:
Duo Chen's avatar
Duo Chen committed
139
140
141
142
143
          description: "Locked. The error message contains the Reason in the form <b>[RCODE:REASON(2-char-code)TTL(sec-number)]</b>. Possible Reasons code are: <ul>
          <li>WL (Write Locked).</li>
          <li>RL (Read Locked).</li>
          <li>CL (Cannot be Locked).</li>
          <li>UL (Cannot be Unlocked).</ul>\nFor example the reason code <b>[RCODE:RL3600]</b> indicates the dataset is Read Locked with a TTL of 3600 seconds."
Diego Molteni's avatar
Diego Molteni committed
144
    get:
Duo Chen's avatar
Duo Chen committed
145
146
      summary: "Retrieve a dataset."
      description: "<ul><li>Return the dataset metadata from the seismic store.</li><li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
147
148
149
150
      operationId: dataset-get
      tags:
        - Dataset
      parameters:
151
152
153
154
155
156
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
157
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
158
159
160
161
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
162
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
163
164
165
166
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
167
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
168
169
170
171
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
172
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
173
174
175
176
          in: path
          name: datasetid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
177
        - description: "Include the seismic storage metadata record if it exists."
Diego Molteni's avatar
Diego Molteni committed
178
179
180
          in: query
          name: seismicmeta
          required: false
Diego Molteni's avatar
Diego Molteni committed
181
          type: boolean
182
183
184
185
186
187
188
189
        - description: 'If the dataset creator value is a subid, then enable conversion of it to email'
          name: subid-to-email
          in: query
          type: boolean
          default: true
          enum:
            - true
            - false
Diego Molteni's avatar
Diego Molteni committed
190
191
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
192
          description: "Metadata of the dataset."
Diego Molteni's avatar
Diego Molteni committed
193
194
195
          schema:
            $ref: "#/definitions/Dataset"
        400:
Duo Chen's avatar
Duo Chen committed
196
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
197
        401:
Duo Chen's avatar
Duo Chen committed
198
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
199
        403:
Duo Chen's avatar
Duo Chen committed
200
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
201
        404:
Duo Chen's avatar
Duo Chen committed
202
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
203
204

    delete:
Duo Chen's avatar
Duo Chen committed
205
206
      summary: "Delete a dataset."
      description: "<ul><li>Delete a dataset in the seismic store.</li><li>Required roles: subproject.admin, subproject.editor</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
207
208
209
210
      operationId: dataset-delete
      tags:
        - Dataset
      parameters:
211
212
213
214
215
216
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
217
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
218
219
220
221
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
222
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
223
224
225
226
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
227
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
228
229
230
231
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
232
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
233
234
235
236
237
238
239
240
          in: path
          name: datasetid
          required: true
          type: string
      responses:
        200:
          description: "The resource was deleted successfully."
        400:
Duo Chen's avatar
Duo Chen committed
241
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
242
        401:
Duo Chen's avatar
Duo Chen committed
243
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
244
        403:
Duo Chen's avatar
Duo Chen committed
245
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
246
        404:
Duo Chen's avatar
Duo Chen committed
247
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
248
249

    patch:
Duo Chen's avatar
Duo Chen committed
250
251
252
253
254
255
      summary: "Patch the dataset metadata."
      description: "<ul>
      <li>Update the dataset meta information in the seismic store or close (unlock) the dataset. If the endpoint is used without the close parameter, at least one body field is required or the endpoint will return an error.</li>
      <li>Required roles: subproject.admin, subproject.editor</li>
      <li>Patchable fields: <ul>
      <li><b>dataset_new_name:</b> new name to use for the dataset (rename).</li>
Diego Molteni's avatar
Diego Molteni committed
256
      <li><b>filemetadata:</b> This is a seismic store specific field and describes how the physical data is stored in the cloud storage system (GCS/AzureContainer etc.). This metadata is mainly used by client libraries to correctly reconstruct the dataset. For example you can store a dataset as truncated in multiple objects of 64MB each, name them from 0 to N and save the filemetadata = “{nObject: N, totalSize: 1024, objsize: 64, sizeUnit: MB}”.</li>
Duo Chen's avatar
Duo Chen committed
257
258
259
260
261
      <li><b>last_modified_date:</b> Mark this field as true to update the dataset last modified date.</li>
      <li><b>gtags:</b> Upsert tags to an existing dataset metadata. If the dataset metadata already has gtags, then new gtags are appended to this list.</li>
      <li><b>ltag:</b> Update the existing legalTag value.</b></li>
      <li><b>readonly:</b> Update the dataset mode to readonly (true) or to read/write (false).</li>
      <li><b>seismicmeta:</b> Update the Data Ecosystem storage metadata. (Refer to the Data Ecosystem storage service tutorial for more information.)</b></li></ul></li></ul>"
Diego Molteni's avatar
Diego Molteni committed
262
263
      operationId: dataset-patch
      tags:
Diego Molteni's avatar
Diego Molteni committed
264
        - Dataset
Diego Molteni's avatar
Diego Molteni committed
265
      parameters:
266
267
268
269
270
271
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
272
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
273
274
275
276
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
277
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
278
279
280
281
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
282
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
283
284
285
286
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
287
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
288
289
290
291
292
293
294
295
296
          in: path
          name: datasetid
          required: true
          type: string
        - description: "Request body"
          in: body
          name: request body
          schema:
            $ref: "#/definitions/DatasetPatch"
Duo Chen's avatar
Duo Chen committed
297
        - description: "Non null sbit value of the dataset. Using this value here will close the dataset."
Diego Molteni's avatar
Diego Molteni committed
298
299
300
          in: query
          name: close
          required: false
Diego Molteni's avatar
Diego Molteni committed
301
          type: string
Diego Molteni's avatar
Diego Molteni committed
302
303
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
304
          description: "Metadata of the patched dataset."
Diego Molteni's avatar
Diego Molteni committed
305
306
307
          schema:
            $ref: "#/definitions/Dataset"
        400:
Duo Chen's avatar
Duo Chen committed
308
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
309
        401:
Duo Chen's avatar
Duo Chen committed
310
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
311
        403:
Duo Chen's avatar
Duo Chen committed
312
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
313
        404:
Duo Chen's avatar
Duo Chen committed
314
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
315
        409:
Duo Chen's avatar
Duo Chen committed
316
          description: "Conflict."
Diego Molteni's avatar
Diego Molteni committed
317
        423:
Duo Chen's avatar
Duo Chen committed
318
319
320
321
322
          description: "Locked. The error message contains the Reason in the form <b>[RCODE:REASON(2-char-code)TTL(sec-number)]</b>. Possible Reasons code are: <ul>
          <li>WL (Write Locked).</li>
          <li>RL (Read Locked).</li>
          <li>CL (Cannot be Locked).</li>
          <li>UL (Cannot be Unlocked).</ul>\nFor example the reason code <b>[RCODE:RL3600]</b> indicates the dataset is Read Locked with a TTL of 3600 seconds."
Diego Molteni's avatar
Diego Molteni committed
323
324
325

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/lock:
    put:
Duo Chen's avatar
Duo Chen committed
326
327
328
329
330
      summary: "Acquire a lock for a dataset id."
      description: "<ul>
      <li>Open a dataset for read or write and lock its state.</li>
      <li>Required roles open lock for write: subproject.admin, subproject.editor</li>
      <li>Required roles open lock for read: subproject.admin, subproject.editor, subproject.viewer</ul>"
Diego Molteni's avatar
Diego Molteni committed
331
332
333
334
      operationId: dataset-lock
      tags:
        - Dataset
      parameters:
335
336
337
338
339
340
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
341
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
342
343
344
345
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
346
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
347
348
349
350
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
351
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
352
353
354
355
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
356
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
357
358
359
360
          in: path
          name: datasetid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
361
        - description: "Type of the lock which can be set to 'read' (default) or 'write'."
Diego Molteni's avatar
Diego Molteni committed
362
363
364
365
          in: query
          name: openmode
          required: false
          type: string
Duo Chen's avatar
Duo Chen committed
366
        - description: "Session identifier issued for a previous write lock acquisition operation."
Diego Molteni's avatar
Diego Molteni committed
367
368
369
          in: query
          name: wid
          required: false
Diego Molteni's avatar
Diego Molteni committed
370
          type: number
Diego Molteni's avatar
Diego Molteni committed
371
372
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
373
          description: "Acquired a lock and the return value is the dataset metadata with session identifier stored in the 'sbit' attribute."
Diego Molteni's avatar
Diego Molteni committed
374
375
376
          schema:
            $ref: "#/definitions/Dataset"
        400:
Duo Chen's avatar
Duo Chen committed
377
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
378
        401:
Duo Chen's avatar
Duo Chen committed
379
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
380
        403:
Duo Chen's avatar
Duo Chen committed
381
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
382
        404:
Duo Chen's avatar
Duo Chen committed
383
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
384
        423:
Duo Chen's avatar
Duo Chen committed
385
386
387
388
389
          description: "Locked. The error message contains the Reason in the form <b>[RCODE:REASON(2-char-code)TTL(sec-number)]</b>. Possible Reasons code are: <ul>
          <li>WL (Write Locked).</li>
          <li>RL (Read Locked).</li>
          <li>CL (Cannot be Locked).</li>
          <li>UL (Cannot be Unlocked).</ul>\nFor example the reason code <b>[RCODE:RL3600]</b> indicates the dataset is Read Locked with a TTL of 3600 seconds."
Diego Molteni's avatar
Diego Molteni committed
390
391
392
393

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/unlock:
    put:
      summary: "Remove the lock associated with a dataset id."
Diego Molteni's avatar
Diego Molteni committed
394
      description: "<ul><li>Removes the lock for a dataset id.</li><li>Required roles: subproject.admin</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
395
396
397
398
      operationId: dataset-lock-rm
      tags:
        - Dataset
      parameters:
399
400
401
402
403
404
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
405
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
406
407
408
409
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
410
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
411
412
413
414
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
415
        - description: "Hierarchical path for the dataset."
Diego Molteni's avatar
Diego Molteni committed
416
417
418
419
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
420
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
421
422
423
424
425
426
          in: path
          name: datasetid
          required: true
          type: string
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
427
          description: "Removed the lock value associated with dataset id."
Diego Molteni's avatar
Diego Molteni committed
428
        400:
Duo Chen's avatar
Duo Chen committed
429
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
430
        401:
Duo Chen's avatar
Duo Chen committed
431
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
432
        403:
Duo Chen's avatar
Duo Chen committed
433
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
434
        404:
Duo Chen's avatar
Duo Chen committed
435
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
436
        423:
Duo Chen's avatar
Duo Chen committed
437
438
439
440
441
          description: "Locked. The error message contains the Reason in the form <b>[RCODE:REASON(2-char-code)TTL(sec-number)]</b>. Possible Reasons code are: <ul>
          <li>WL (Write Locked).</li>
          <li>RL (Read Locked).</li>
          <li>CL (Cannot be Locked).</li>
          <li>UL (Cannot be Unlocked).</ul>\nFor example the reason code <b>[RCODE:RL3600]</b> indicates the dataset is Read Locked with a TTL of 3600 seconds."
Diego Molteni's avatar
Diego Molteni committed
442
443
444
445
446
447
448
449
450

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/permission:
    get:
      summary: "Retrieve the access permissions of a user on a dataset id."
      description: "<ul><li>Retrieve the access permission of a user on a dataset.</li><li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
      operationId: dataset-permission
      tags:
        - Dataset
      parameters:
451
452
453
454
455
456
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
457
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
458
459
460
461
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
462
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
463
464
465
466
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
467
        - description: "Hierarchical path for the dataset."
Diego Molteni's avatar
Diego Molteni committed
468
469
470
471
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
472
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
473
474
475
476
477
478
479
480
481
482
          in: path
          name: datasetid
          required: true
          type: string
      responses:
        200:
          description: "User access permission on the dataset."
          schema:
            $ref: "#/definitions/DatasetPermission"
        400:
Duo Chen's avatar
Duo Chen committed
483
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
484
        401:
Duo Chen's avatar
Duo Chen committed
485
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
486
        403:
Duo Chen's avatar
Duo Chen committed
487
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
488
        404:
Duo Chen's avatar
Duo Chen committed
489
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
490
491
492

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/ctagcheck:
    get:
Diego Molteni's avatar
Diego Molteni committed
493
494
      summary: "Validate if a dataset ctag matches the pre-existing ctag in metadata catalog."
      description: "<ul><li>Check if the provided dataset cTag match the one stored in the metadata catalog.</li><li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
495
496
497
498
      operationId: ctag-check
      tags:
        - Dataset
      parameters:
499
500
501
502
503
504
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
505
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
506
507
508
509
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
510
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
511
512
513
514
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
515
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
516
517
518
519
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
520
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
521
522
523
524
          in: path
          name: datasetid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
525
        - description: "Ctag to be validated."
Diego Molteni's avatar
Diego Molteni committed
526
527
528
529
530
531
          in: query
          name: ctag
          required: true
          type: string
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
532
          description: "Return true if the ctag is valid or false if it is invalid."
Diego Molteni's avatar
Diego Molteni committed
533
534
          schema:
            type: boolean
Diego Molteni's avatar
Diego Molteni committed
535
            example: "true"
Diego Molteni's avatar
Diego Molteni committed
536
        400:
Duo Chen's avatar
Duo Chen committed
537
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
538
        401:
Duo Chen's avatar
Duo Chen committed
539
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
540
        403:
Duo Chen's avatar
Duo Chen committed
541
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
542
        404:
Duo Chen's avatar
Duo Chen committed
543
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
544
545
546

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/gtags:
    put:
Duo Chen's avatar
Duo Chen committed
547
548
549
550
      summary: "Upsert tags to a dataset."
      description: "<ul>
      <li>Upsert tags to an existing dataset metadata. If the dataset metadata already has gtags, then  new gtags are appended to this list.</li>
      <li>Required roles: subproject.admin, subproject.editor</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
551
552
553
554
      operationId: add-tag
      tags:
        - Dataset
      parameters:
555
556
557
558
559
560
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
561
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
562
563
564
565
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
566
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
567
568
569
570
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
571
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
572
573
574
575
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
576
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
577
578
579
580
          in: path
          name: datasetid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
581
        - description: "Gtags array list."
Diego Molteni's avatar
Diego Molteni committed
582
          in: query
Diego Molteni's avatar
Diego Molteni committed
583
          name: gtag
Diego Molteni's avatar
Diego Molteni committed
584
585
586
587
588
589
590
591
592
593
          required: true
          type: array
          items:
            type: string
            default: "tag1"
          collectionFormat: multi
      responses:
        200:
          description: "Gtags were upserted to the dataset metadata."
        400:
Duo Chen's avatar
Duo Chen committed
594
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
595
        401:
Duo Chen's avatar
Duo Chen committed
596
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
597
        403:
Duo Chen's avatar
Duo Chen committed
598
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
599
        404:
Duo Chen's avatar
Duo Chen committed
600
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
601
602

  # To deprecate in favor of /utility/ls
Diego Molteni's avatar
Diego Molteni committed
603
604
  /dataset/tenant/{tenantid}/subproject/{subprojectid}/readdsdirfulllist:
    get:
Duo Chen's avatar
Duo Chen committed
605
606
607
608
      summary: "Content list."
      description: "<ul>
      <li>List datasets and sub-directories for a directory path.</li>
      <li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
609
610
611
612
      operationId: dataset-read-directory
      tags:
        - Dataset
      parameters:
613
614
615
616
617
618
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
619
        - description: "The tenant project name."
Diego Molteni's avatar
Diego Molteni committed
620
621
622
623
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
624
        - description: "The sub-project name."
Diego Molteni's avatar
Diego Molteni committed
625
626
627
628
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
629
        - description: "The hierarchy path."
Diego Molteni's avatar
Diego Molteni committed
630
631
632
633
634
635
636
637
638
          in: query
          name: path
          required: true
          type: string
      responses:
        200:
          description: "The list of datasets and directories in the requested directory path."
          schema:
            $ref: "#/definitions/DatasetAndDirectories"
Diego Molteni's avatar
Diego Molteni committed
639
640
641
642

  /dataset/tenant/{tenantid}/subproject/{subprojectid}:
    get:
      summary: "Get the list of datasets in a subproject."
Duo Chen's avatar
Duo Chen committed
643
644
645
      description: "<ul>
      <li>Return the list of datasets in a sub-project. If gtags are in the request parameters, then get only those datasets that have the exact list of gtags.</li>
      <li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
646
647
      operationId: dataset-list
      tags:
Diego Molteni's avatar
Diego Molteni committed
648
        - Dataset
Diego Molteni's avatar
Diego Molteni committed
649
      parameters:
650
651
652
653
654
655
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
656
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
657
658
659
660
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
661
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
662
663
664
665
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
666
        - description: "Gtags associated with dataset metadata."
Diego Molteni's avatar
Diego Molteni committed
667
668
669
          in: query
          name: gtag
          type: array
Diego Molteni's avatar
Diego Molteni committed
670
          items:
Diego Molteni's avatar
Diego Molteni committed
671
672
            type: string
          collectionFormat: multi
673
674
675
676
677
678
679
680
        - description: 'Limit the number of datasets in the response'
          in: query
          name: limit
          type: string 
        - description: 'Cursor for pagination on the datasets list'
          in: query
          name: cursor
          type: string 
Diego Molteni's avatar
Diego Molteni committed
681
682
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
683
          description: "The list of all datasets in the subproject if no gtags are in the request parameters. If gtags exist in the request parameters, then list all datasets that have the same list of gtags."
Diego Molteni's avatar
Diego Molteni committed
684
685
686
687
          schema:
            type: array
            items:
              $ref: "#/definitions/Dataset"
688
689
690
691
        201:
          description: "Paginated dataset list with nextPageCursor. For documentation purposes, if limit or cursor is given, status code here is 200."
          schema:
            $ref: "#/definitions/PaginatedDatasets"
Diego Molteni's avatar
Diego Molteni committed
692
        400:
Duo Chen's avatar
Duo Chen committed
693
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
694
        401:
Duo Chen's avatar
Duo Chen committed
695
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
696
        403:
Duo Chen's avatar
Duo Chen committed
697
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
698
        404:
Duo Chen's avatar
Duo Chen committed
699
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
700
701
702

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/exist:
    post:
Duo Chen's avatar
Duo Chen committed
703
704
705
706
      summary: "Check to see if a list of datasets exists in the subproject."
      description: "<ul>
      <li>Check if the dataset exists.</li>
      <li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
707
708
      operationId: dataset-exist
      tags:
Diego Molteni's avatar
Diego Molteni committed
709
        - Dataset
Diego Molteni's avatar
Diego Molteni committed
710
      parameters:
711
712
713
714
715
716
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
717
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
718
719
720
721
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
722
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
723
724
725
726
727
728
729
730
731
          in: path
          name: subprojectid
          required: true
          type: string
        - description: "Request body"
          in: body
          name: request body
          required: true
          schema:
Diego Molteni's avatar
Diego Molteni committed
732
            $ref: "#/definitions/DatasetCheckList"
Diego Molteni's avatar
Diego Molteni committed
733
734
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
735
          description: "A list of Boolean values for all the input datasets in the request body. If a value is true, then the corresponding dataset exists and if it is false, then the dataset does not exist."
Diego Molteni's avatar
Diego Molteni committed
736
737
738
739
740
741
          schema:
            type: array
            items:
              type: boolean
            example: [true, false]
        400:
Duo Chen's avatar
Duo Chen committed
742
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
743
        401:
Duo Chen's avatar
Duo Chen committed
744
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
745
        403:
Duo Chen's avatar
Duo Chen committed
746
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
747
        404:
Duo Chen's avatar
Duo Chen committed
748
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
749
750
751

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/sizes:
    post:
Duo Chen's avatar
Duo Chen committed
752
753
754
755
      summary: "Retrieve the size of datasets."
      description: "<ul>
      <li>Return a list with the sizes of the requested datasets.</li>
      <li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
756
757
758
759
      operationId: dataset-sizes
      tags:
        - Dataset
      parameters:
760
761
762
763
764
765
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
766
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
767
768
769
770
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
771
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
772
773
774
775
776
777
778
779
780
          in: path
          name: subprojectid
          required: true
          type: string
        - description: "Request body"
          in: body
          name: request body
          required: true
          schema:
Diego Molteni's avatar
Diego Molteni committed
781
            $ref: "#/definitions/DatasetCheckList"
Diego Molteni's avatar
Diego Molteni committed
782
783
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
784
          description: "The list of sizes of all the datasets. If the dataset does not exist, the size returns -1."
Diego Molteni's avatar
Diego Molteni committed
785
786
787
788
789
790
          schema:
            type: array
            items:
              type: number
            example: [1024, -1]
        400:
Duo Chen's avatar
Duo Chen committed
791
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
792
        401:
Duo Chen's avatar
Duo Chen committed
793
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
794
        403:
Duo Chen's avatar
Duo Chen committed
795
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
796
        404:
Duo Chen's avatar
Duo Chen committed
797
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
798
799
800

  /utility/ls:
    get:
Duo Chen's avatar
Duo Chen committed
801
802
803
804
      summary: "Retrieve the list of datasets and sub-directories inside a seismic store path."
      description: "<ul>
      <li>Return the list of datasets and sub-directories of a seismic store path.</li>
      <li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
805
806
      operationId: ls
      tags:
Diego Molteni's avatar
Diego Molteni committed
807
        - Utility
Diego Molteni's avatar
Diego Molteni committed
808
      parameters:
809
810
811
812
813
814
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
815
        - description: "Seismic store path, sd://tenant/sub-project/path."
Diego Molteni's avatar
Diego Molteni committed
816
817
818
819
820
          in: query
          name: sdpath
          required: true
          type: string
          default: sd://common/carbon/a/b/c
Duo Chen's avatar
Duo Chen committed
821
        - description: "Working mode, directories or datasets or undefined for both."
Diego Molteni's avatar
Diego Molteni committed
822
823
824
825
          in: query
          name: wmode
          required: false
          type: string
Duo Chen's avatar
Duo Chen committed
826
        - description: "Limits the total number of datasets to return."
Diego Molteni's avatar
Diego Molteni committed
827
828
829
830
          in: query
          name: limit
          required: false
          type: number
Duo Chen's avatar
Duo Chen committed
831
        - description: "Pagination token - this query parameter can be omitted on first call."
Diego Molteni's avatar
Diego Molteni committed
832
833
834
835
836
837
          in: query
          name: cursor
          required: false
          type: string
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
838
          description: "Seismic store path content."
Diego Molteni's avatar
Diego Molteni committed
839
          schema:
Diego Molteni's avatar
Diego Molteni committed
840
            $ref: "#/definitions/LsDatasets"
Diego Molteni's avatar
Diego Molteni committed
841
        201:
Duo Chen's avatar
Duo Chen committed
842
          description: "Paginated seismic store path content - For documentation purposes, if limit or cursor is given, status code here is 200."
Diego Molteni's avatar
Diego Molteni committed
843
          schema:
Diego Molteni's avatar
Diego Molteni committed
844
            $ref: "#/definitions/LsPaginatedDatasets"
Diego Molteni's avatar
Diego Molteni committed
845
        400:
Duo Chen's avatar
Duo Chen committed
846
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
847
        401:
Duo Chen's avatar
Duo Chen committed
848
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
849
        403:
Duo Chen's avatar
Duo Chen committed
850
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
851
        404:
Duo Chen's avatar
Duo Chen committed
852
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
853
854
855

  /utility/cp:
    post:
Duo Chen's avatar
Duo Chen committed
856
857
858
859
      summary: "Copy dataset."
      description: "<ul>
      <li>Copy a seismic store dataset. The source and destination dataset must be in the same sub-project.</li>
      <li>Required roles: subproject.admin, subproject.editor</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
860
861
      operationId: cp
      tags:
Diego Molteni's avatar
Diego Molteni committed
862
        - Utility
Diego Molteni's avatar
Diego Molteni committed
863
      parameters:
864
865
866
867
868
869
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
870
        - description: "Seismic store source dataset path."
Diego Molteni's avatar
Diego Molteni committed
871
872
873
874
          in: query
          name: sdpath_from
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
875
        - description: "Seismic store destination dataset path."
Diego Molteni's avatar
Diego Molteni committed
876
877
878
879
          in: query
          name: sdpath_to
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
880
        - description: "Lock source and destination while copying."
Diego Molteni's avatar
Diego Molteni committed
881
882
883
          in: query
          name: lock
          required: false
Diego Molteni's avatar
Diego Molteni committed
884
          type: boolean
Diego Molteni's avatar
Diego Molteni committed
885
886
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
887
          description: "Copy operation succeeded."
Diego Molteni's avatar
Diego Molteni committed
888
889
890
          schema:
            type: object
        400:
Duo Chen's avatar
Duo Chen committed
891
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
892
        401:
Duo Chen's avatar
Duo Chen committed
893
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
894
        403:
Duo Chen's avatar
Duo Chen committed
895
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
896
        404:
Duo Chen's avatar
Duo Chen committed
897
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
898
        409:
Duo Chen's avatar
Duo Chen committed
899
          description: "Conflict."
Diego Molteni's avatar
Diego Molteni committed
900
        423:
Duo Chen's avatar
Duo Chen committed
901
902
903
904
905
          description: "Locked. The error message contains the Reason in the form <b>[RCODE:REASON(2-char-code)TTL(sec-number)]</b>. Possible Reasons code are: <ul>
          <li>WL (Write Locked)</li>
          <li>RL (Read Locked)</li>
          <li>CL (Cannot be Locked)</li>
          <li>UL (Cannot be Unlocked)</ul>\nFor example the reason code <b>[RCODE:RL3600]</b> indicates the dataset is Read Locked with a TTL of 3600 seconds."
Diego Molteni's avatar
Diego Molteni committed
906
907
908

  /utility/gcs-access-token:
    get:
Duo Chen's avatar
Duo Chen committed
909
      summary: "Generate a GCS access token."
Diego Molteni's avatar
Diego Molteni committed
910
      description: "<ul><li>Generate a GCS access token for a specified seismic store resource. The source and destination dataset must be in the same sub-project.</li><li>Required roles: subproject.admin, subproject.editor, subproject.viewer</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
911
912
      operationId: gcs-access-token
      tags:
Diego Molteni's avatar
Diego Molteni committed
913
        - Utility
Diego Molteni's avatar
Diego Molteni committed
914
      parameters:
915
916
917
918
919
920
        - description: "The impersonation token context (required only with impersonation token credentials)"
          in: header
          name: impersonation-token-context
          type: string
          required: false
          default: ""      
Duo Chen's avatar
Duo Chen committed
921
        - description: "Seismic store path in the format sd://tenant/sub-project."
Diego Molteni's avatar
Diego Molteni committed
922
923
924
925
926
          in: query
          name: sdpath
          type: string
          required: true
          default: sd://common/carbon
Duo Chen's avatar
Duo Chen committed
927
        - description: "Readonly access, true(default) or false."
Diego Molteni's avatar
Diego Molteni committed
928
929
930
          in: query
          name: readonly
          type: boolean
Diego Molteni's avatar
Diego Molteni committed
931
932
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
933
          description: "The GCS access token."
Diego Molteni's avatar
Diego Molteni committed
934
          schema:
Diego Molteni's avatar
Diego Molteni committed
935
            $ref: "#/definitions/AccessToken"
Diego Molteni's avatar
Diego Molteni committed
936
        400:
Duo Chen's avatar
Duo Chen committed
937
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
938
        401:
Duo Chen's avatar
Duo Chen committed
939
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
940
        403:
Duo Chen's avatar
Duo Chen committed
941
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
942
        404:
Duo Chen's avatar
Duo Chen committed
943
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
944

Diego Molteni's avatar
Diego Molteni committed
945
946
  /imptoken:
    post:
Duo Chen's avatar
Duo Chen committed
947
948
949
950
      summary: "Generate impersonation credentials token."
      description: "<ul>
      <li>Generate an impersonation credential token of a user for a set of subproject resources.</li>
      <li>Required roles: app.trusted</li></ul>"
Diego Molteni's avatar
Diego Molteni committed
951
952
      operationId: imp-token
      tags:
Diego Molteni's avatar
Diego Molteni committed
953
        - Impersonation Token (Obsolete)
Diego Molteni's avatar
Diego Molteni committed
954
955
956
957
958
959
      parameters:
        - description: "Request body"
          in: body
          name: request body
          required: true
          schema:
960
            $ref: "#/definitions/ImpTokenRequest"
Diego Molteni's avatar