blob: 570caee66d9008ad324c7bbc7a549ff045dd0847 [file] [log] [blame]
PatrikBuhrd1d08542020-09-11 16:50:37 +02001swagger: '2.0'
2info:
3 description: This page lists all the rest apis for the service.
4 version: '1.0'
5 title: Enrichment Data service
6host: 'localhost:8081'
7basePath: /
8tags:
9 - name: A1-E Enrichment Data Consumer API
10 description: Consumer Controller
PatrikBuhrebf32112020-09-16 13:17:29 +020011 - name: Enrichment Data Producer API
12 description: Producer Controller
13 - name: Producer Simulator
14 description: Producer Simulator Controller
PatrikBuhrd1d08542020-09-11 16:50:37 +020015paths:
16 /A1-EI/v1/eitypes:
17 get:
18 tags:
19 - A1-E Enrichment Data Consumer API
PatrikBuhr57b7c522020-09-18 15:13:03 +020020 summary: EI type identifiers
PatrikBuhrd1d08542020-09-11 16:50:37 +020021 operationId: getEiTypeIdentifiersUsingGET
22 produces:
23 - application/json
24 responses:
25 '200':
26 description: EI type identifiers
27 schema:
28 type: array
29 items:
30 type: string
31 '401':
32 description: Unauthorized
33 '403':
34 description: Forbidden
35 '404':
36 description: Not Found
37 deprecated: false
38 '/A1-EI/v1/eitypes/{eiTypeId}':
39 get:
40 tags:
41 - A1-E Enrichment Data Consumer API
PatrikBuhr57b7c522020-09-18 15:13:03 +020042 summary: Individual EI type
PatrikBuhrd1d08542020-09-11 16:50:37 +020043 operationId: getEiTypeUsingGET
44 produces:
45 - application/json
46 parameters:
47 - name: eiTypeId
48 in: path
49 description: eiTypeId
50 required: true
51 type: string
52 responses:
53 '200':
54 description: EI type
55 schema:
56 $ref: '#/definitions/ei_type_info'
57 '401':
58 description: Unauthorized
59 '403':
60 description: Forbidden
61 '404':
62 description: Enrichment Information type is not found
63 schema:
64 $ref: '#/definitions/error_information'
65 deprecated: false
66 '/A1-EI/v1/eitypes/{eiTypeId}/eijobs':
67 get:
68 tags:
69 - A1-E Enrichment Data Consumer API
PatrikBuhr57b7c522020-09-18 15:13:03 +020070 summary: EI job identifiers
PatrikBuhrd1d08542020-09-11 16:50:37 +020071 operationId: getEiJobIdsUsingGET
72 produces:
73 - application/json
74 parameters:
75 - name: eiTypeId
76 in: path
77 description: eiTypeId
78 required: true
79 type: string
80 - in: body
81 name: owner
82 description: identifies the owner of the job
83 required: false
84 schema:
85 type: string
86 responses:
87 '200':
PatrikBuhr57b7c522020-09-18 15:13:03 +020088 description: EI job identifiers
PatrikBuhrd1d08542020-09-11 16:50:37 +020089 schema:
90 type: array
91 items:
92 type: string
93 '401':
94 description: Unauthorized
95 '403':
96 description: Forbidden
97 '404':
98 description: Enrichment Information type is not found
99 schema:
100 $ref: '#/definitions/error_information'
101 deprecated: false
102 '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}':
103 get:
104 tags:
105 - A1-E Enrichment Data Consumer API
106 summary: Individual EI Job
107 operationId: getIndividualEiJobUsingGET
108 produces:
109 - application/json
110 parameters:
111 - name: eiJobId
112 in: path
113 description: eiJobId
114 required: true
115 type: string
116 - name: eiTypeId
117 in: path
118 description: eiTypeId
119 required: true
120 type: string
121 responses:
122 '200':
123 description: EI Job
124 schema:
125 $ref: '#/definitions/ei_job_info'
126 '401':
127 description: Unauthorized
128 '403':
129 description: Forbidden
130 '404':
131 description: Enrichment Information type or job is not found
132 schema:
133 $ref: '#/definitions/error_information'
134 deprecated: false
135 put:
136 tags:
137 - A1-E Enrichment Data Consumer API
138 summary: Individual EI Job
PatrikBuhrd1d08542020-09-11 16:50:37 +0200139 operationId: putIndividualEiJobUsingPUT
140 consumes:
141 - application/json
142 produces:
143 - application/json
144 parameters:
145 - name: eiJobId
146 in: path
147 description: eiJobId
148 required: true
149 type: string
150 - in: body
151 name: eiJobInfo
152 description: eiJobInfo
153 required: true
154 schema:
155 $ref: '#/definitions/ei_job_info'
156 - name: eiTypeId
157 in: path
158 description: eiTypeId
159 required: true
160 type: string
161 responses:
162 '200':
163 description: Job updated
164 schema:
165 type: object
166 '201':
167 description: Job created
168 schema:
169 type: object
170 '401':
171 description: Unauthorized
172 '403':
173 description: Forbidden
174 '404':
175 description: Enrichment Information type is not found
176 schema:
177 $ref: '#/definitions/error_information'
178 deprecated: false
179 delete:
180 tags:
181 - A1-E Enrichment Data Consumer API
182 summary: Individual EI Job
PatrikBuhrd1d08542020-09-11 16:50:37 +0200183 operationId: deleteIndividualEiJobUsingDELETE
184 produces:
185 - application/json
186 parameters:
187 - name: eiJobId
188 in: path
189 description: eiJobId
190 required: true
191 type: string
192 - name: eiTypeId
193 in: path
194 description: eiTypeId
195 required: true
196 type: string
197 responses:
198 '200':
199 description: Not used
200 schema:
201 type: object
202 '204':
203 description: Job deleted
204 schema:
205 type: object
206 '401':
207 description: Unauthorized
208 '403':
209 description: Forbidden
210 '404':
211 description: Enrichment Information type or job is not found
212 schema:
213 $ref: '#/definitions/error_information'
214 deprecated: false
215 '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}/status':
216 get:
217 tags:
218 - A1-E Enrichment Data Consumer API
219 summary: EI Job status
220 operationId: getEiJobStatusUsingGET
221 produces:
222 - application/json
223 parameters:
224 - name: eiJobId
225 in: path
226 description: eiJobId
227 required: true
228 type: string
229 - name: eiTypeId
230 in: path
231 description: eiTypeId
232 required: true
233 type: string
234 responses:
235 '200':
236 description: EI Job status
237 schema:
238 $ref: '#/definitions/ei_job_status'
239 '401':
240 description: Unauthorized
241 '403':
242 description: Forbidden
243 '404':
244 description: Enrichment Information type or job is not found
245 schema:
246 $ref: '#/definitions/error_information'
247 deprecated: false
PatrikBuhrebf32112020-09-16 13:17:29 +0200248 /ei-producer/v1/eiproducers:
249 get:
250 tags:
251 - Enrichment Data Producer API
PatrikBuhr57b7c522020-09-18 15:13:03 +0200252 summary: EI producer identifiers
PatrikBuhrebf32112020-09-16 13:17:29 +0200253 operationId: getEiProducerIdentifiersUsingGET
254 produces:
255 - application/json
256 responses:
257 '200':
258 description: EI producer identifiers
259 schema:
260 type: array
261 items:
262 type: string
263 '401':
264 description: Unauthorized
265 '403':
266 description: Forbidden
267 '404':
268 description: Not Found
269 deprecated: false
270 '/ei-producer/v1/eiproducers/{eiProducerId}':
271 get:
272 tags:
273 - Enrichment Data Producer API
PatrikBuhr57b7c522020-09-18 15:13:03 +0200274 summary: Individual EI producer
PatrikBuhrebf32112020-09-16 13:17:29 +0200275 operationId: getEiProducerUsingGET
276 produces:
277 - application/json
278 parameters:
279 - name: eiProducerId
280 in: path
281 description: eiProducerId
282 required: true
283 type: string
284 responses:
285 '200':
286 description: EI Jobs
287 schema:
PatrikBuhr57b7c522020-09-18 15:13:03 +0200288 $ref: '#/definitions/producer_registration_info'
PatrikBuhrebf32112020-09-16 13:17:29 +0200289 '401':
290 description: Unauthorized
291 '403':
292 description: Forbidden
293 '404':
294 description: Enrichment Information producer is not found
295 schema:
296 $ref: '#/definitions/error_information'
297 deprecated: false
298 put:
299 tags:
300 - Enrichment Data Producer API
PatrikBuhr57b7c522020-09-18 15:13:03 +0200301 summary: Individual EI producer
PatrikBuhrebf32112020-09-16 13:17:29 +0200302 operationId: putEiProducerUsingPUT
303 consumes:
304 - application/json
305 produces:
306 - application/json
307 parameters:
308 - name: eiProducerId
309 in: path
310 description: eiProducerId
311 required: true
312 type: string
313 - in: body
314 name: registrationInfo
315 description: registrationInfo
316 required: true
317 schema:
318 $ref: '#/definitions/producer_registration_info'
319 responses:
320 '200':
321 description: Producer updated
322 schema:
323 type: object
324 '201':
325 description: Producer created
326 schema:
327 type: object
328 '401':
329 description: Unauthorized
330 '403':
331 description: Forbidden
332 '404':
333 description: Not Found
334 deprecated: false
335 delete:
336 tags:
337 - Enrichment Data Producer API
PatrikBuhr57b7c522020-09-18 15:13:03 +0200338 summary: Individual EI producer
PatrikBuhrebf32112020-09-16 13:17:29 +0200339 operationId: deleteEiProducerUsingDELETE
340 produces:
341 - application/json
342 parameters:
343 - name: eiProducerId
344 in: path
345 description: eiProducerId
346 required: true
347 type: string
348 responses:
349 '200':
350 description: Not used
351 schema:
352 type: object
353 '204':
354 description: Producer deleted
355 schema:
356 type: object
357 '401':
358 description: Unauthorized
359 '403':
360 description: Forbidden
361 '404':
362 description: Producer is not found
363 schema:
364 $ref: '#/definitions/error_information'
365 deprecated: false
366 '/ei-producer/v1/eiproducers/{eiProducerId}/eijobs':
367 get:
368 tags:
369 - Enrichment Data Producer API
PatrikBuhr57b7c522020-09-18 15:13:03 +0200370 summary: EI job definitions
371 description: EI job definitions for one EI producer
PatrikBuhrebf32112020-09-16 13:17:29 +0200372 operationId: getEiProducerJobsUsingGET
373 produces:
374 - application/json
375 parameters:
376 - name: eiProducerId
377 in: path
378 description: eiProducerId
379 required: true
380 type: string
381 responses:
382 '200':
383 description: EI jobs
384 schema:
385 type: array
386 items:
387 $ref: '#/definitions/producer_ei_job_request'
388 '401':
389 description: Unauthorized
390 '403':
391 description: Forbidden
392 '404':
393 description: Enrichment Information producer is not found
394 schema:
395 $ref: '#/definitions/error_information'
396 deprecated: false
397 /ei-producer/v1/eitypes:
398 get:
399 tags:
400 - Enrichment Data Producer API
PatrikBuhr57b7c522020-09-18 15:13:03 +0200401 summary: EI type identifiers
PatrikBuhrebf32112020-09-16 13:17:29 +0200402 operationId: getEiTypeIdentifiersUsingGET_1
403 produces:
404 - application/json
405 responses:
406 '200':
407 description: EI type identifiers
408 schema:
409 type: array
410 items:
411 type: string
412 '401':
413 description: Unauthorized
414 '403':
415 description: Forbidden
416 '404':
417 description: Not Found
418 deprecated: false
419 '/ei-producer/v1/eitypes/{eiTypeId}':
420 get:
421 tags:
422 - Enrichment Data Producer API
PatrikBuhr57b7c522020-09-18 15:13:03 +0200423 summary: Individual EI Type
PatrikBuhrebf32112020-09-16 13:17:29 +0200424 operationId: getEiTypeUsingGET_1
425 produces:
426 - application/json
427 parameters:
428 - name: eiTypeId
429 in: path
430 description: eiTypeId
431 required: true
432 type: string
433 responses:
434 '200':
435 description: EI type
436 schema:
437 $ref: '#/definitions/producer_ei_type_info'
438 '401':
439 description: Unauthorized
440 '403':
441 description: Forbidden
442 '404':
443 description: Enrichment Information type is not found
444 schema:
445 $ref: '#/definitions/error_information'
446 deprecated: false
447 /producer_simulator/job_created:
448 post:
449 tags:
450 - Producer Simulator
PatrikBuhr57b7c522020-09-18 15:13:03 +0200451 summary: Callback for EI job creation
PatrikBuhrebf32112020-09-16 13:17:29 +0200452 operationId: jobCreatedCallbackUsingPOST
453 consumes:
454 - application/json
455 produces:
456 - application/json
457 parameters:
458 - in: body
459 name: request
460 description: request
461 required: true
462 schema:
463 $ref: '#/definitions/producer_ei_job_request'
464 responses:
465 '200':
466 description: OK
467 schema:
468 type: object
469 '201':
470 description: Created
471 '401':
472 description: Unauthorized
473 '403':
474 description: Forbidden
475 '404':
476 description: Not Found
477 deprecated: false
478 /producer_simulator/job_deleted:
479 post:
480 tags:
481 - Producer Simulator
PatrikBuhr57b7c522020-09-18 15:13:03 +0200482 summary: Callback for EI job deletion
PatrikBuhrebf32112020-09-16 13:17:29 +0200483 operationId: jobDeletedCallbackUsingPOST
484 consumes:
485 - application/json
486 produces:
487 - application/json
488 parameters:
489 - in: body
490 name: request
491 description: request
492 required: true
493 schema:
494 $ref: '#/definitions/producer_ei_job_request'
495 responses:
496 '200':
497 description: OK
498 schema:
499 type: object
500 '201':
501 description: Created
502 '401':
503 description: Unauthorized
504 '403':
505 description: Forbidden
506 '404':
507 description: Not Found
508 deprecated: false
PatrikBuhrd1d08542020-09-11 16:50:37 +0200509definitions:
510 ei_job_info:
511 type: object
PatrikBuhrebf32112020-09-16 13:17:29 +0200512 required:
513 - job_data
PatrikBuhr57b7c522020-09-18 15:13:03 +0200514 - job_owner
PatrikBuhraf40dc42020-09-25 11:21:18 +0200515 - target_uri
PatrikBuhrd1d08542020-09-11 16:50:37 +0200516 properties:
517 job_data:
518 type: object
519 description: EI Type specific job data
PatrikBuhr57b7c522020-09-18 15:13:03 +0200520 job_owner:
PatrikBuhrd1d08542020-09-11 16:50:37 +0200521 type: string
522 description: Identity of the owner of the job
PatrikBuhraf40dc42020-09-25 11:21:18 +0200523 target_uri:
524 type: string
525 description: The target of the EI data
PatrikBuhrd1d08542020-09-11 16:50:37 +0200526 title: ei_job_info
527 description: Information for a Enrichment Information Job
528 ei_job_status:
529 type: object
PatrikBuhrebf32112020-09-16 13:17:29 +0200530 required:
531 - operational_state
PatrikBuhrd1d08542020-09-11 16:50:37 +0200532 properties:
533 operational_state:
534 type: string
535 description: |-
PatrikBuhr57b7c522020-09-18 15:13:03 +0200536 Operational state, values:
537 ENABLED: TBD
PatrikBuhrd1d08542020-09-11 16:50:37 +0200538 DISABLED: TBD.
539 enum:
540 - ENABLED
541 - DISABLED
542 title: ei_job_status
543 description: Status for an EI Job
544 ei_type_info:
545 type: object
546 properties:
547 job_data_schema:
548 type: object
549 description: Json schema for the job data
550 title: ei_type_info
551 description: Information for an EI type
552 error_information:
553 type: object
554 properties:
555 detail:
556 type: string
557 example: EI job type not found
PatrikBuhr57b7c522020-09-18 15:13:03 +0200558 description: A human-readable explanation specific to this occurrence of the problem.
PatrikBuhrd1d08542020-09-11 16:50:37 +0200559 status:
560 type: integer
561 format: int32
PatrikBuhr57b7c522020-09-18 15:13:03 +0200562 example: 404
563 description: The HTTP status code generated by the origin server for this occurrence of the problem.
PatrikBuhrd1d08542020-09-11 16:50:37 +0200564 title: error_information
565 description: 'Problem as defined in https://tools.ietf.org/html/rfc7807'
PatrikBuhrebf32112020-09-16 13:17:29 +0200566 producer_ei_job_request:
567 type: object
568 required:
PatrikBuhr57b7c522020-09-18 15:13:03 +0200569 - ei_job_identity
PatrikBuhrebf32112020-09-16 13:17:29 +0200570 properties:
PatrikBuhr57b7c522020-09-18 15:13:03 +0200571 ei_job_data:
PatrikBuhrebf32112020-09-16 13:17:29 +0200572 type: object
573 description: Json for the job data
PatrikBuhr57b7c522020-09-18 15:13:03 +0200574 ei_job_identity:
575 type: string
576 description: Idenitity of the EI job
577 ei_type_identity:
PatrikBuhrebf32112020-09-16 13:17:29 +0200578 type: string
579 description: Type idenitity for the job
PatrikBuhraf40dc42020-09-25 11:21:18 +0200580 target_uri:
581 type: string
582 description: URI for the target of the EI
PatrikBuhrebf32112020-09-16 13:17:29 +0200583 title: producer_ei_job_request
PatrikBuhr57b7c522020-09-18 15:13:03 +0200584 description: The body of the EI producer callbacks for EI job creation and deletion
PatrikBuhrebf32112020-09-16 13:17:29 +0200585 producer_ei_type_info:
586 type: object
587 properties:
PatrikBuhr57b7c522020-09-18 15:13:03 +0200588 ei_job_data_schema:
PatrikBuhrebf32112020-09-16 13:17:29 +0200589 type: object
590 description: Json schema for the job data
PatrikBuhr57b7c522020-09-18 15:13:03 +0200591 ei_producer_ids:
PatrikBuhrebf32112020-09-16 13:17:29 +0200592 type: array
593 description: Registered producers
594 items:
595 type: string
596 title: producer_ei_type_info
597 description: Information for an EI type
598 producer_ei_type_registration_info:
599 type: object
600 required:
601 - ei_type_identity
602 properties:
PatrikBuhr57b7c522020-09-18 15:13:03 +0200603 ei_job_data_schema:
604 type: object
605 description: Json schema for the job data
PatrikBuhrebf32112020-09-16 13:17:29 +0200606 ei_type_identity:
607 type: string
608 description: EI type identity
PatrikBuhrebf32112020-09-16 13:17:29 +0200609 title: producer_ei_type_registration_info
610 description: Information for an EI type
611 producer_registration_info:
612 type: object
613 required:
PatrikBuhr57b7c522020-09-18 15:13:03 +0200614 - ei_job_creation_callback_url
615 - ei_job_deletion_callback_url
PatrikBuhrebf32112020-09-16 13:17:29 +0200616 - supported_ei_types
617 properties:
PatrikBuhr57b7c522020-09-18 15:13:03 +0200618 ei_job_creation_callback_url:
PatrikBuhrebf32112020-09-16 13:17:29 +0200619 type: string
620 description: callback for job creation
PatrikBuhr57b7c522020-09-18 15:13:03 +0200621 ei_job_deletion_callback_url:
PatrikBuhrebf32112020-09-16 13:17:29 +0200622 type: string
623 description: callback for job deletion
624 supported_ei_types:
625 type: array
626 description: Supported EI types
627 items:
628 $ref: '#/definitions/producer_ei_type_registration_info'
629 title: producer_registration_info
PatrikBuhr57b7c522020-09-18 15:13:03 +0200630 description: Information for an EI producer
PatrikBuhrd1d08542020-09-11 16:50:37 +0200631