-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathopenapi3.yaml
More file actions
211 lines (211 loc) · 5.31 KB
/
openapi3.yaml
File metadata and controls
211 lines (211 loc) · 5.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
openapi: 3.0.1
security: []
info:
title: 3d store-trigger
description: Ingesting and exporting 3d model to S3/NFS
version: 2.0.3
license:
name: MIT
url: https://opensource.org/licenses/MIT
paths:
/jobStatus/{jobId}:
get:
operationId: getJobStatus
tags:
- jobStatus
summary: gets the resource
parameters:
- $ref: '#/components/parameters/jobId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/jobStatus'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
/jobOperations/ingestion:
post:
operationId: createModel
tags:
- jobOperations
summary: creates a new "ingestion" job to invokes a new model "ingestion" flow
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/payload'
responses:
'201':
description: created
content:
application/json:
schema:
$ref: '#/components/schemas/createResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
/jobOperations/delete:
post:
operationId: deleteModel
tags:
- jobOperations
summary: creates a new "delete" job to invokes a "delete" flow
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/delete-payload'
responses:
'201':
description: created
content:
application/json:
schema:
$ref: '#/components/schemas/createResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/error'
'500':
description: Unexpected Error
content:
application/json:
schema:
$ref: '#/components/schemas/error'
components:
parameters:
jobId:
in: path
name: jobId
required: true
schema:
type: string
description: The jobId for status check
schemas:
error:
type: object
required:
- message
properties:
message:
type: string
payload:
type: object
description: 3d model payload
required:
- modelId
- pathToTileset
- tilesetFilename
- metadata
properties:
modelId:
type: string
description: Model identifier
example: a2234fdf
pathToTileset:
type: string
description: path to tileset
example: NewYork
tilesetFilename:
type: string
description: Model tileset filename
example: tileset.json
metadata:
$ref: >-
./Schema/3dCatalog/3dMetadata.yaml#/components/schemas/ingestion-payload
additionalProperties: false
delete-payload:
type: object
description: 3d tiles ingestion payload
required:
- modelId
- productId
- productVersion
- productName
- productType
- producerName
properties:
modelId:
type: string
description: ID of model in catalog
productId:
type: string
description: Product ID of model in catalog
productVersion:
type: integer
example: 1
description: Number of version
productName:
type: string
maxLength: 120
description: Name of product
productType:
type: string
description: Type of product (3DPhotoRealistic)
example: 3DPhotoRealistic
producerName:
type: string
description: The name of the producer (product owner)
createResponse:
type: object
description: The ingestion response
required:
- jobId
- status
properties:
status:
type: string
enum:
- Completed
- In-Progress
- Pending
- Failed
- Expired
- Aborted
jobId:
type: string
description: job id
jobStatus:
type: object
description: The job response
required:
- status
- percentage
properties:
percentage:
type: number
minimum: 0
maximum: 100
description: percentage of task by job id
status:
type: string
enum:
- Completed
- In-Progress
- Pending
- Failed
- Expired
- Aborted