forked from opengeospatial/ogcapi-processes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi.yaml
277 lines (277 loc) · 10.2 KB
/
openapi.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
openapi: 3.0.1
info:
title: The OGC API - Processes
version: "1.0-draft.3"
description: |-
WARNING - THIS IS WORK IN PROGRESS\
TODO - Add a description of the sample service.\
TODO - Add security elements in a separate example.\
TODO - Connect to a live service.
contact:
name: Benjamin Pross
email: [email protected]
license:
name: OGC license
url: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/LICENSE'
paths:
/:
get:
summary: landing page of this API
description: >-
The landing page provides links to the API definition, the Conformance
statements and the metadata about the processes offered by this service.
operationId: getLandingPage
tags:
- Capabilities
responses:
'200':
description: links to the API capabilities
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/root.yaml'
text/html:
schema:
type: string
/conformance:
get:
summary: information about standards that this API conforms to
description: >-
list all requirements classes specified in a standard (e.g., WPS REST/JSON Binding Core) that the server conforms to
operationId: getRequirementsClasses
tags:
- Conformance
responses:
'200':
description: the URIs of all requirements classes supported by the server
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/req-classes.yaml'
/processes:
get:
summary: retrieve available processes
description: >-
TODO
operationId: getProcesses
tags:
- Processes
responses:
'200':
description: >-
Information about the available processes
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/processCollection.yaml'
/processes/{id}:
get:
summary: retrieve a process description
operationId: getProcessDescription
tags:
- ProcessDescription
parameters:
- in: path
name: id
description: The id of a process
required: true
schema:
type: string
example: buffer
responses:
'200':
description: A process description.
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/process.yaml'
example:
process:
id: buffer
title: Buffer process
description: Buffer process
keywords: [process, buffer]
inputs:
- id: features
title: features
description: The features to buffer
formats:
- mimeType: application/json
maximumMegabytes: 3
default: true
- mimeType: application/x-zipped-shp
maximumMegabytes: 4
- id: width
title: width
description: The width of the buffer
literalDataDomain:
dataType:
name: double
valueDefinition:
defaultValue: 1000
uom: meters
outputs:
- id: result
title: result
description: The buffered features
formats:
- mimeType: application/json
default: true
- mimeType: application/x-zipped-shp
version: 1.1
jobControlOptions: [sync-execute, async-execute]
outputTransmission: [value, reference]
links:
- rel: canonical
href: https://virtserver.swaggerhub.com/geoprocessing/WPS/0.01/processes/buffer/jobs
type: application/json
title: Execute endpoint
'404':
description: 'The process with id {id} does not exist.'
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/exception.yaml'
/processes/{id}/jobs:
get:
summary: retrieve the list of jobs for a process.
operationId: getJobList
tags:
- JobList
parameters:
- in: path
name: id
description: The id of a process.
required: true
schema:
type: string
responses:
'200':
description: A list of jobs for this process.
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/jobCollection.yaml'
'404':
description: 'The process with id {id} does not exist.'
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/exception.yaml'
post:
summary: execute a process.
operationId: execute
tags:
- Execute
parameters:
- in: path
name: id
description: The id of a process.
required: true
schema:
type: string
requestBody:
description: Mandatory execute request JSON
required: true
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/execute.yaml'
responses:
'201':
description: Started execution. Created job.
headers:
Location:
schema:
type: string
description: URL to check the status of the execution/job.
'404':
description: 'The process with id {id} does not exist.'
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/exception.yaml'
/processes/{id}/jobs/{jobID}:
get:
summary: retrieve the status of a job
operationId: getStatus
tags:
- Status
parameters:
- in: path
name: id
description: The id of a process
required: true
schema:
type: string
- in: path
name: jobID
description: The id of a job
required: true
schema:
type: string
responses:
'200':
description: The status of a job.
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/statusInfo.yaml'
'404':
description: 'The process with id {id} or the job with id {jobID} does not exist.'
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/exception.yaml'
/processes/{id}/jobs/{jobID}/results:
get:
summary: retrieve the result(s) of a job
operationId: getResult
tags:
- Result
parameters:
- in: path
name: id
description: The id of a process
required: true
schema:
type: string
- in: path
name: jobID
description: The id of a job
required: true
schema:
type: string
responses:
'200':
description: The result of a job.
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/result.yaml'
'404':
description: 'The process with id {id} or the job with id {jobID} does not exist.'
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/exception.yaml'
'500':
description: 'The job execution failed due to a internal server error.'
content:
application/json:
schema:
$ref: 'https://raw.githubusercontent.com/opengeospatial/wps-rest-binding/master/core/openapi/schemas/exception.yaml'
tags:
- name: Capabilities
description: >-
Essential characteristics of this API including information about the
data.
- name: Processes
description: Access to processes.
# Added by API Auto Mocking Plugin
servers:
# Added by API Auto Mocking Plugin
- description: SwaggerHub API Auto Mocking
url: https://virtserver.swaggerhub.com/geoprocessing/WPS/0.01
- description: 52°North demo server
url: http://geoprocessing.demo.52north.org:8080/javaps/rest/