openapi.osdu.yaml 70.9 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
43
basePath: /seistore-svc/api/v3

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
Diego Molteni's avatar
Diego Molteni committed
182
183
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
184
          description: "Metadata of the dataset."
Diego Molteni's avatar
Diego Molteni committed
185
186
187
          schema:
            $ref: "#/definitions/Dataset"
        400:
Duo Chen's avatar
Duo Chen committed
188
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
189
        401:
Duo Chen's avatar
Duo Chen committed
190
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
191
        403:
Duo Chen's avatar
Duo Chen committed
192
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
193
        404:
Duo Chen's avatar
Duo Chen committed
194
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
195
196

    delete:
Duo Chen's avatar
Duo Chen committed
197
198
      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
199
200
201
202
      operationId: dataset-delete
      tags:
        - Dataset
      parameters:
203
204
205
206
207
208
        - 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
209
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
210
211
212
213
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
214
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
215
216
217
218
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
219
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
220
221
222
223
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
224
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
225
226
227
228
229
230
231
232
          in: path
          name: datasetid
          required: true
          type: string
      responses:
        200:
          description: "The resource was deleted successfully."
        400:
Duo Chen's avatar
Duo Chen committed
233
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
234
        401:
Duo Chen's avatar
Duo Chen committed
235
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
236
        403:
Duo Chen's avatar
Duo Chen committed
237
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
238
        404:
Duo Chen's avatar
Duo Chen committed
239
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
240
241

    patch:
Duo Chen's avatar
Duo Chen committed
242
243
244
245
246
247
      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
248
      <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
249
250
251
252
253
      <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
254
255
      operationId: dataset-patch
      tags:
Diego Molteni's avatar
Diego Molteni committed
256
        - Dataset
Diego Molteni's avatar
Diego Molteni committed
257
      parameters:
258
259
260
261
262
263
        - 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
264
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
265
266
267
268
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
269
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
270
271
272
273
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
274
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
275
276
277
278
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
279
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
280
281
282
283
284
285
286
287
288
          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
289
        - description: "Non null sbit value of the dataset. Using this value here will close the dataset."
Diego Molteni's avatar
Diego Molteni committed
290
291
292
          in: query
          name: close
          required: false
Diego Molteni's avatar
Diego Molteni committed
293
          type: string
Diego Molteni's avatar
Diego Molteni committed
294
295
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
296
          description: "Metadata of the patched dataset."
Diego Molteni's avatar
Diego Molteni committed
297
298
299
          schema:
            $ref: "#/definitions/Dataset"
        400:
Duo Chen's avatar
Duo Chen committed
300
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
301
        401:
Duo Chen's avatar
Duo Chen committed
302
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
303
        403:
Duo Chen's avatar
Duo Chen committed
304
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
305
        404:
Duo Chen's avatar
Duo Chen committed
306
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
307
        409:
Duo Chen's avatar
Duo Chen committed
308
          description: "Conflict."
Diego Molteni's avatar
Diego Molteni committed
309
        423:
Duo Chen's avatar
Duo Chen committed
310
311
312
313
314
          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
315
316
317

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/lock:
    put:
Duo Chen's avatar
Duo Chen committed
318
319
320
321
322
      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
323
324
325
326
      operationId: dataset-lock
      tags:
        - Dataset
      parameters:
327
328
329
330
331
332
        - 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
333
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
334
335
336
337
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
338
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
339
340
341
342
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
343
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
344
345
346
347
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
348
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
349
350
351
352
          in: path
          name: datasetid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
353
        - description: "Type of the lock which can be set to 'read' (default) or 'write'."
Diego Molteni's avatar
Diego Molteni committed
354
355
356
357
          in: query
          name: openmode
          required: false
          type: string
Duo Chen's avatar
Duo Chen committed
358
        - description: "Session identifier issued for a previous write lock acquisition operation."
Diego Molteni's avatar
Diego Molteni committed
359
360
361
          in: query
          name: wid
          required: false
Diego Molteni's avatar
Diego Molteni committed
362
          type: number
Diego Molteni's avatar
Diego Molteni committed
363
364
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
365
          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
366
367
368
          schema:
            $ref: "#/definitions/Dataset"
        400:
Duo Chen's avatar
Duo Chen committed
369
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
370
        401:
Duo Chen's avatar
Duo Chen committed
371
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
372
        403:
Duo Chen's avatar
Duo Chen committed
373
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
374
        404:
Duo Chen's avatar
Duo Chen committed
375
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
376
        423:
Duo Chen's avatar
Duo Chen committed
377
378
379
380
381
          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
382
383
384
385

  /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
386
      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
387
388
389
390
      operationId: dataset-lock-rm
      tags:
        - Dataset
      parameters:
391
392
393
394
395
396
        - 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
397
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
398
399
400
401
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
402
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
403
404
405
406
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
407
        - description: "Hierarchical path for the dataset."
Diego Molteni's avatar
Diego Molteni committed
408
409
410
411
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
412
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
413
414
415
416
417
418
          in: path
          name: datasetid
          required: true
          type: string
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
419
          description: "Removed the lock value associated with dataset id."
Diego Molteni's avatar
Diego Molteni committed
420
        400:
Duo Chen's avatar
Duo Chen committed
421
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
422
        401:
Duo Chen's avatar
Duo Chen committed
423
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
424
        403:
Duo Chen's avatar
Duo Chen committed
425
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
426
        404:
Duo Chen's avatar
Duo Chen committed
427
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
428
        423:
Duo Chen's avatar
Duo Chen committed
429
430
431
432
433
          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
434
435
436
437
438
439
440
441
442

  /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:
443
444
445
446
447
448
        - 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
449
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
450
451
452
453
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
454
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
455
456
457
458
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
459
        - description: "Hierarchical path for the dataset."
Diego Molteni's avatar
Diego Molteni committed
460
461
462
463
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
464
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
465
466
467
468
469
470
471
472
473
474
          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
475
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
476
        401:
Duo Chen's avatar
Duo Chen committed
477
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
478
        403:
Duo Chen's avatar
Duo Chen committed
479
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
480
        404:
Duo Chen's avatar
Duo Chen committed
481
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
482
483
484

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/ctagcheck:
    get:
Diego Molteni's avatar
Diego Molteni committed
485
486
      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
487
488
489
490
      operationId: ctag-check
      tags:
        - Dataset
      parameters:
491
492
493
494
495
496
        - 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
497
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
498
499
500
501
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
502
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
503
504
505
506
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
507
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
508
509
510
511
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
512
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
513
514
515
516
          in: path
          name: datasetid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
517
        - description: "Ctag to be validated."
Diego Molteni's avatar
Diego Molteni committed
518
519
520
521
522
523
          in: query
          name: ctag
          required: true
          type: string
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
524
          description: "Return true if the ctag is valid or false if it is invalid."
Diego Molteni's avatar
Diego Molteni committed
525
526
          schema:
            type: boolean
Diego Molteni's avatar
Diego Molteni committed
527
            example: "true"
Diego Molteni's avatar
Diego Molteni committed
528
        400:
Duo Chen's avatar
Duo Chen committed
529
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
530
        401:
Duo Chen's avatar
Duo Chen committed
531
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
532
        403:
Duo Chen's avatar
Duo Chen committed
533
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
534
        404:
Duo Chen's avatar
Duo Chen committed
535
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
536
537
538

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/dataset/{datasetid}/gtags:
    put:
Duo Chen's avatar
Duo Chen committed
539
540
541
542
      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
543
544
545
546
      operationId: add-tag
      tags:
        - Dataset
      parameters:
547
548
549
550
551
552
        - 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
553
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
554
555
556
557
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
558
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
559
560
561
562
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
563
        - description: "Hierarchical path of the dataset."
Diego Molteni's avatar
Diego Molteni committed
564
565
566
567
          in: query
          name: path
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
568
        - description: "Name of the dataset."
Diego Molteni's avatar
Diego Molteni committed
569
570
571
572
          in: path
          name: datasetid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
573
        - description: "Gtags array list."
Diego Molteni's avatar
Diego Molteni committed
574
          in: query
Diego Molteni's avatar
Diego Molteni committed
575
          name: gtag
Diego Molteni's avatar
Diego Molteni committed
576
577
578
579
580
581
582
583
584
585
          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
586
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
587
        401:
Duo Chen's avatar
Duo Chen committed
588
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
589
        403:
Duo Chen's avatar
Duo Chen committed
590
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
591
        404:
Duo Chen's avatar
Duo Chen committed
592
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
593
594

  # To deprecate in favor of /utility/ls
Diego Molteni's avatar
Diego Molteni committed
595
596
  /dataset/tenant/{tenantid}/subproject/{subprojectid}/readdsdirfulllist:
    get:
Duo Chen's avatar
Duo Chen committed
597
598
599
600
      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
601
602
603
604
      operationId: dataset-read-directory
      tags:
        - Dataset
      parameters:
605
606
607
608
609
610
        - 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
611
        - description: "The tenant project name."
Diego Molteni's avatar
Diego Molteni committed
612
613
614
615
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
616
        - description: "The sub-project name."
Diego Molteni's avatar
Diego Molteni committed
617
618
619
620
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
621
        - description: "The hierarchy path."
Diego Molteni's avatar
Diego Molteni committed
622
623
624
625
626
627
628
629
630
          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
631
632
633
634

  /dataset/tenant/{tenantid}/subproject/{subprojectid}:
    get:
      summary: "Get the list of datasets in a subproject."
Duo Chen's avatar
Duo Chen committed
635
636
637
      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
638
639
      operationId: dataset-list
      tags:
Diego Molteni's avatar
Diego Molteni committed
640
        - Dataset
Diego Molteni's avatar
Diego Molteni committed
641
      parameters:
642
643
644
645
646
647
        - 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
648
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
649
650
651
652
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
653
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
654
655
656
657
          in: path
          name: subprojectid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
658
        - description: "Gtags associated with dataset metadata."
Diego Molteni's avatar
Diego Molteni committed
659
660
661
          in: query
          name: gtag
          type: array
Diego Molteni's avatar
Diego Molteni committed
662
          items:
Diego Molteni's avatar
Diego Molteni committed
663
664
            type: string
          collectionFormat: multi
665
666
667
668
669
670
671
672
        - 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
673
674
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
675
          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
676
677
678
679
          schema:
            type: array
            items:
              $ref: "#/definitions/Dataset"
680
681
682
683
        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
684
        400:
Duo Chen's avatar
Duo Chen committed
685
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
686
        401:
Duo Chen's avatar
Duo Chen committed
687
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
688
        403:
Duo Chen's avatar
Duo Chen committed
689
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
690
        404:
Duo Chen's avatar
Duo Chen committed
691
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
692
693
694

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/exist:
    post:
Duo Chen's avatar
Duo Chen committed
695
696
697
698
      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
699
700
      operationId: dataset-exist
      tags:
Diego Molteni's avatar
Diego Molteni committed
701
        - Dataset
Diego Molteni's avatar
Diego Molteni committed
702
      parameters:
703
704
705
706
707
708
        - 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
709
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
710
711
712
713
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
714
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
715
716
717
718
719
720
721
722
723
          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
724
            $ref: "#/definitions/DatasetCheckList"
Diego Molteni's avatar
Diego Molteni committed
725
726
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
727
          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
728
729
730
731
732
733
          schema:
            type: array
            items:
              type: boolean
            example: [true, false]
        400:
Duo Chen's avatar
Duo Chen committed
734
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
735
        401:
Duo Chen's avatar
Duo Chen committed
736
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
737
        403:
Duo Chen's avatar
Duo Chen committed
738
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
739
        404:
Duo Chen's avatar
Duo Chen committed
740
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
741
742
743

  /dataset/tenant/{tenantid}/subproject/{subprojectid}/sizes:
    post:
Duo Chen's avatar
Duo Chen committed
744
745
746
747
      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
748
749
750
751
      operationId: dataset-sizes
      tags:
        - Dataset
      parameters:
752
753
754
755
756
757
        - 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
758
        - description: "Name of the tenant."
Diego Molteni's avatar
Diego Molteni committed
759
760
761
762
          in: path
          name: tenantid
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
763
        - description: "Name of the subproject."
Diego Molteni's avatar
Diego Molteni committed
764
765
766
767
768
769
770
771
772
          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
773
            $ref: "#/definitions/DatasetCheckList"
Diego Molteni's avatar
Diego Molteni committed
774
775
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
776
          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
777
778
779
780
781
782
          schema:
            type: array
            items:
              type: number
            example: [1024, -1]
        400:
Duo Chen's avatar
Duo Chen committed
783
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
784
        401:
Duo Chen's avatar
Duo Chen committed
785
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
786
        403:
Duo Chen's avatar
Duo Chen committed
787
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
788
        404:
Duo Chen's avatar
Duo Chen committed
789
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
790
791
792

  /utility/ls:
    get:
Duo Chen's avatar
Duo Chen committed
793
794
795
796
      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
797
798
      operationId: ls
      tags:
Diego Molteni's avatar
Diego Molteni committed
799
        - Utility
Diego Molteni's avatar
Diego Molteni committed
800
      parameters:
801
802
803
804
805
806
        - 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
807
        - description: "Seismic store path, sd://tenant/sub-project/path."
Diego Molteni's avatar
Diego Molteni committed
808
809
810
811
812
          in: query
          name: sdpath
          required: true
          type: string
          default: sd://common/carbon/a/b/c
Duo Chen's avatar
Duo Chen committed
813
        - description: "Working mode, directories or datasets or undefined for both."
Diego Molteni's avatar
Diego Molteni committed
814
815
816
817
          in: query
          name: wmode
          required: false
          type: string
Duo Chen's avatar
Duo Chen committed
818
        - description: "Limits the total number of datasets to return."
Diego Molteni's avatar
Diego Molteni committed
819
820
821
822
          in: query
          name: limit
          required: false
          type: number
Duo Chen's avatar
Duo Chen committed
823
        - description: "Pagination token - this query parameter can be omitted on first call."
Diego Molteni's avatar
Diego Molteni committed
824
825
826
827
828
829
          in: query
          name: cursor
          required: false
          type: string
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
830
          description: "Seismic store path content."
Diego Molteni's avatar
Diego Molteni committed
831
          schema:
Diego Molteni's avatar
Diego Molteni committed
832
            $ref: "#/definitions/LsDatasets"
Diego Molteni's avatar
Diego Molteni committed
833
        201:
Duo Chen's avatar
Duo Chen committed
834
          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
835
          schema:
Diego Molteni's avatar
Diego Molteni committed
836
            $ref: "#/definitions/LsPaginatedDatasets"
Diego Molteni's avatar
Diego Molteni committed
837
        400:
Duo Chen's avatar
Duo Chen committed
838
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
839
        401:
Duo Chen's avatar
Duo Chen committed
840
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
841
        403:
Duo Chen's avatar
Duo Chen committed
842
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
843
        404:
Duo Chen's avatar
Duo Chen committed
844
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
845
846
847

  /utility/cp:
    post:
Duo Chen's avatar
Duo Chen committed
848
849
850
851
      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
852
853
      operationId: cp
      tags:
Diego Molteni's avatar
Diego Molteni committed
854
        - Utility
Diego Molteni's avatar
Diego Molteni committed
855
      parameters:
856
857
858
859
860
861
        - 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
862
        - description: "Seismic store source dataset path."
Diego Molteni's avatar
Diego Molteni committed
863
864
865
866
          in: query
          name: sdpath_from
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
867
        - description: "Seismic store destination dataset path."
Diego Molteni's avatar
Diego Molteni committed
868
869
870
871
          in: query
          name: sdpath_to
          required: true
          type: string
Duo Chen's avatar
Duo Chen committed
872
        - description: "Lock source and destination while copying."
Diego Molteni's avatar
Diego Molteni committed
873
874
875
          in: query
          name: lock
          required: false
Diego Molteni's avatar
Diego Molteni committed
876
          type: boolean
Diego Molteni's avatar
Diego Molteni committed
877
878
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
879
          description: "Copy operation succeeded."
Diego Molteni's avatar
Diego Molteni committed
880
881
882
          schema:
            type: object
        400:
Duo Chen's avatar
Duo Chen committed
883
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
884
        401:
Duo Chen's avatar
Duo Chen committed
885
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
886
        403:
Duo Chen's avatar
Duo Chen committed
887
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
888
        404:
Duo Chen's avatar
Duo Chen committed
889
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
890
        409:
Duo Chen's avatar
Duo Chen committed
891
          description: "Conflict."
Diego Molteni's avatar
Diego Molteni committed
892
        423:
Duo Chen's avatar
Duo Chen committed
893
894
895
896
897
          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
898
899
900

  /utility/gcs-access-token:
    get:
Duo Chen's avatar
Duo Chen committed
901
      summary: "Generate a GCS access token."
Diego Molteni's avatar
Diego Molteni committed
902
      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
903
904
      operationId: gcs-access-token
      tags:
Diego Molteni's avatar
Diego Molteni committed
905
        - Utility
Diego Molteni's avatar
Diego Molteni committed
906
      parameters:
907
908
909
910
911
912
        - 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
913
        - description: "Seismic store path in the format sd://tenant/sub-project."
Diego Molteni's avatar
Diego Molteni committed
914
915
916
917
918
          in: query
          name: sdpath
          type: string
          required: true
          default: sd://common/carbon
Duo Chen's avatar
Duo Chen committed
919
        - description: "Readonly access, true(default) or false."
Diego Molteni's avatar
Diego Molteni committed
920
921
922
          in: query
          name: readonly
          type: boolean
Diego Molteni's avatar
Diego Molteni committed
923
924
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
925
          description: "The GCS access token."
Diego Molteni's avatar
Diego Molteni committed
926
          schema:
Diego Molteni's avatar
Diego Molteni committed
927
            $ref: "#/definitions/AccessToken"
Diego Molteni's avatar
Diego Molteni committed
928
        400:
Duo Chen's avatar
Duo Chen committed
929
          description: "Bad request."
Diego Molteni's avatar
Diego Molteni committed
930
        401:
Duo Chen's avatar
Duo Chen committed
931
          description: "Unauthorized."
Diego Molteni's avatar
Diego Molteni committed
932
        403:
Duo Chen's avatar
Duo Chen committed
933
          description: "Forbidden."
Diego Molteni's avatar
Diego Molteni committed
934
        404:
Duo Chen's avatar
Duo Chen committed
935
          description: "Not found."
Diego Molteni's avatar
Diego Molteni committed
936

Diego Molteni's avatar
Diego Molteni committed
937
938
  /imptoken:
    post:
Duo Chen's avatar
Duo Chen committed
939
940
941
942
      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
943
944
      operationId: imp-token
      tags:
Diego Molteni's avatar
Diego Molteni committed
945
        - Impersonation Token (Obsolete)
Diego Molteni's avatar
Diego Molteni committed
946
947
948
949
950
951
      parameters:
        - description: "Request body"
          in: body
          name: request body
          required: true
          schema:
952
            $ref: "#/definitions/ImpTokenRequest"
Diego Molteni's avatar
Diego Molteni committed
953
954
      responses:
        200:
Duo Chen's avatar
Duo Chen committed
955
          description: "Generated a impersonation credentials token successfully."
Diego Molteni's avatar
Diego Molteni committed
956
          schema:
Diego Molteni's avatar
Diego Molteni committed