blob: d7d5eb3a3a8bb8ed78e2b30948f5ac8de91ea6d3 [file] [log] [blame]
elinuxhenrik7a09fbb2020-12-04 16:51:19 +01001openapi: 3.0.1
2info:
3 title: Enrichment Data service
4 description: This page lists all the rest apis for the service.
5 version: "1.0"
6servers:
PatrikBuhr1da5c882020-12-07 15:15:08 +01007- url: /
elinuxhenrik7a09fbb2020-12-04 16:51:19 +01008tags:
9- name: A1-EI (enrichment information)
10 description: Consumer Controller
PatrikBuhre912ee42021-01-11 15:03:54 +010011- name: A1-EI (enrichment information) callbacks
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010012 description: Consumer Simulator Controller
PatrikBuhre912ee42021-01-11 15:03:54 +010013- name: Data Producer Job Control (example producer)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010014 description: Producer Simulator Controller
PatrikBuhre912ee42021-01-11 15:03:54 +010015- name: Data Producer Registry API
16 description: Producer Controller
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010017- name: Service status
18 description: Status Controller
19paths:
20 /producer_simulator/ei_job:
21 post:
22 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +010023 - Data Producer Job Control (example producer)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010024 summary: Callback for EI job creation
25 operationId: jobCreatedCallbackUsingPOST
26 requestBody:
27 description: request
28 content:
29 application/json:
30 schema:
31 $ref: '#/components/schemas/producer_ei_job_request'
32 required: true
33 responses:
34 200:
35 description: OK
36 content: {}
37 201:
38 description: Created
39 content: {}
40 401:
41 description: Unauthorized
42 content: {}
43 403:
44 description: Forbidden
45 content: {}
46 404:
47 description: Not Found
48 content: {}
49 deprecated: false
50 /A1-EI/v1/eitypes/{eiTypeId}:
51 get:
52 tags:
53 - A1-EI (enrichment information)
54 summary: Individual EI type
55 operationId: getEiTypeUsingGET
56 parameters:
57 - name: eiTypeId
58 in: path
59 description: eiTypeId
60 required: true
61 schema:
62 type: string
63 responses:
64 200:
65 description: EI type
66 content:
67 application/json:
68 schema:
69 $ref: '#/components/schemas/EiTypeObject'
70 401:
71 description: Unauthorized
72 content: {}
73 403:
74 description: Forbidden
75 content: {}
76 404:
77 description: Enrichment Information type is not found
78 content:
79 application/json:
80 schema:
81 $ref: '#/components/schemas/ProblemDetails'
82 deprecated: false
83 /consumer_simulator/eijobs/{eiJobId}/status:
84 post:
85 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +010086 - A1-EI (enrichment information) callbacks
elinuxhenrik7a09fbb2020-12-04 16:51:19 +010087 summary: Callback for EI job status
88 operationId: jobStatusCallbackUsingPOST
89 parameters:
90 - name: eiJobId
91 in: path
92 description: eiJobId
93 required: true
94 schema:
95 type: string
96 requestBody:
97 description: status
98 content:
99 application/json:
100 schema:
101 $ref: '#/components/schemas/EiJobStatusObject'
102 required: true
103 responses:
104 200:
105 description: OK
106 content: {}
107 201:
108 description: Created
109 content: {}
110 401:
111 description: Unauthorized
112 content: {}
113 403:
114 description: Forbidden
115 content: {}
116 404:
117 description: Not Found
118 content: {}
119 deprecated: false
120 /ei-producer/v1/eitypes:
121 get:
122 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100123 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100124 summary: EI type identifiers
125 operationId: getEiTypeIdentifiersUsingGET_1
126 responses:
127 200:
128 description: EI type identifiers
129 content:
130 application/json:
131 schema:
132 type: array
133 items:
134 type: string
135 401:
136 description: Unauthorized
137 content: {}
138 403:
139 description: Forbidden
140 content: {}
141 404:
142 description: Not Found
143 content: {}
144 deprecated: false
145 /A1-EI/v1/eitypes:
146 get:
147 tags:
148 - A1-EI (enrichment information)
149 summary: EI type identifiers
150 operationId: getEiTypeIdentifiersUsingGET
151 responses:
152 200:
153 description: EI type identifiers
154 content:
155 application/json:
156 schema:
157 type: array
158 items:
159 type: string
160 401:
161 description: Unauthorized
162 content: {}
163 403:
164 description: Forbidden
165 content: {}
166 404:
167 description: Not Found
168 content: {}
169 deprecated: false
170 /ei-producer/v1/eiproducers/{eiProducerId}/status:
171 get:
172 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100173 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100174 summary: EI producer status
175 operationId: getEiProducerStatusUsingGET
176 parameters:
177 - name: eiProducerId
178 in: path
179 description: eiProducerId
180 required: true
181 schema:
182 type: string
183 responses:
184 200:
185 description: EI jobs
186 content:
187 application/json:
188 schema:
189 $ref: '#/components/schemas/producer_status'
190 401:
191 description: Unauthorized
192 content: {}
193 403:
194 description: Forbidden
195 content: {}
196 404:
197 description: Enrichment Information producer is not found
198 content:
199 application/json:
200 schema:
201 $ref: '#/components/schemas/ProblemDetails'
202 deprecated: false
203 /producer_simulator/ei_job/{eiJobId}:
204 delete:
205 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100206 - Data Producer Job Control (example producer)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100207 summary: Callback for EI job deletion
208 operationId: jobDeletedCallbackUsingDELETE
209 parameters:
210 - name: eiJobId
211 in: path
212 description: eiJobId
213 required: true
214 schema:
215 type: string
216 responses:
217 200:
218 description: OK
219 content: {}
220 204:
221 description: No Content
222 content: {}
223 401:
224 description: Unauthorized
225 content: {}
226 403:
227 description: Forbidden
228 content: {}
229 deprecated: false
230 /ei-producer/v1/eiproducers:
231 get:
232 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100233 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100234 summary: EI producer identifiers
235 operationId: getEiProducerIdentifiersUsingGET
PatrikBuhre912ee42021-01-11 15:03:54 +0100236 parameters:
237 - name: ei_type_id
238 in: query
239 description: If given, only the producers for the EI Data type is returned.
240 allowEmptyValue: false
241 schema:
242 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100243 responses:
244 200:
245 description: EI producer identifiers
246 content:
247 application/json:
248 schema:
249 type: array
250 items:
251 type: string
252 401:
253 description: Unauthorized
254 content: {}
255 403:
256 description: Forbidden
257 content: {}
258 404:
259 description: Not Found
260 content: {}
261 deprecated: false
262 /ei-producer/v1/eitypes/{eiTypeId}:
263 get:
264 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100265 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100266 summary: Individual EI type
267 operationId: getEiTypeUsingGET_1
268 parameters:
269 - name: eiTypeId
270 in: path
271 description: eiTypeId
272 required: true
273 schema:
274 type: string
275 responses:
276 200:
277 description: EI type
278 content:
279 application/json:
280 schema:
281 $ref: '#/components/schemas/producer_ei_type_info'
282 401:
283 description: Unauthorized
284 content: {}
285 403:
286 description: Forbidden
287 content: {}
288 404:
289 description: Enrichment Information type is not found
290 content:
291 application/json:
292 schema:
293 $ref: '#/components/schemas/ProblemDetails'
294 deprecated: false
PatrikBuhre912ee42021-01-11 15:03:54 +0100295 put:
296 tags:
297 - Data Producer Registry API
298 summary: Individual EI type
299 operationId: putEiTypeUsingPUT
300 parameters:
301 - name: eiTypeId
302 in: path
303 description: eiTypeId
304 required: true
305 schema:
306 type: string
307 requestBody:
308 description: registrationInfo
309 content:
310 application/json:
311 schema:
312 $ref: '#/components/schemas/producer_ei_type_info'
313 required: true
314 responses:
315 200:
316 description: OK
PatrikBuhrfed5fc92021-01-18 12:34:38 +0100317 content: {}
PatrikBuhre912ee42021-01-11 15:03:54 +0100318 201:
319 description: Created
320 content: {}
PatrikBuhrfed5fc92021-01-18 12:34:38 +0100321 400:
322 description: Bad request
323 content:
324 application/json:
325 schema:
326 $ref: '#/components/schemas/ProblemDetails'
PatrikBuhre912ee42021-01-11 15:03:54 +0100327 401:
328 description: Unauthorized
329 content: {}
330 403:
331 description: Forbidden
332 content: {}
333 404:
334 description: Not Found
335 content: {}
336 deprecated: false
337 delete:
338 tags:
339 - Data Producer Registry API
340 summary: Individual EI type
341 operationId: deleteEiTypeUsingDELETE
342 parameters:
343 - name: eiTypeId
344 in: path
345 description: eiTypeId
346 required: true
347 schema:
348 type: string
349 responses:
350 200:
351 description: Not used
352 content: {}
353 204:
354 description: Producer deleted
355 content: {}
356 401:
357 description: Unauthorized
358 content: {}
359 403:
360 description: Forbidden
361 content: {}
362 404:
363 description: Enrichment Information type is not found
364 content:
365 application/json:
366 schema:
367 $ref: '#/components/schemas/ProblemDetails'
368 406:
369 description: The Enrichment Information type has one or several active producers
370 content:
371 application/json:
372 schema:
373 $ref: '#/components/schemas/ProblemDetails'
374 deprecated: false
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100375 /status:
376 get:
377 tags:
378 - Service status
379 summary: Returns status and statistics of this service
380 operationId: getStatusUsingGET
381 responses:
382 200:
383 description: Service is living
384 content:
385 application/json:
386 schema:
387 $ref: '#/components/schemas/status_info'
388 401:
389 description: Unauthorized
390 content: {}
391 403:
392 description: Forbidden
393 content: {}
394 404:
395 description: Not Found
396 content: {}
397 deprecated: false
398 /A1-EI/v1/eijobs/{eiJobId}:
399 get:
400 tags:
401 - A1-EI (enrichment information)
402 summary: Individual EI job
403 operationId: getIndividualEiJobUsingGET
404 parameters:
405 - name: eiJobId
406 in: path
407 description: eiJobId
408 required: true
409 schema:
410 type: string
411 responses:
412 200:
413 description: EI job
414 content:
415 application/json:
416 schema:
417 $ref: '#/components/schemas/EiJobObject'
418 401:
419 description: Unauthorized
420 content: {}
421 403:
422 description: Forbidden
423 content: {}
424 404:
425 description: Enrichment Information job is not found
426 content:
427 application/json:
428 schema:
429 $ref: '#/components/schemas/ProblemDetails'
430 deprecated: false
431 put:
432 tags:
433 - A1-EI (enrichment information)
434 summary: Individual EI job
435 operationId: putIndividualEiJobUsingPUT
436 parameters:
437 - name: eiJobId
438 in: path
439 description: eiJobId
440 required: true
441 schema:
442 type: string
443 requestBody:
444 description: eiJobObject
445 content:
446 application/json:
447 schema:
448 $ref: '#/components/schemas/EiJobObject'
449 required: true
450 responses:
451 200:
452 description: Job updated
453 content: {}
454 201:
455 description: Job created
456 content: {}
457 401:
458 description: Unauthorized
459 content: {}
460 403:
461 description: Forbidden
462 content: {}
463 404:
464 description: Enrichment Information type is not found
465 content:
466 application/json:
467 schema:
468 $ref: '#/components/schemas/ProblemDetails'
469 deprecated: false
470 delete:
471 tags:
472 - A1-EI (enrichment information)
473 summary: Individual EI job
474 operationId: deleteIndividualEiJobUsingDELETE
475 parameters:
476 - name: eiJobId
477 in: path
478 description: eiJobId
479 required: true
480 schema:
481 type: string
482 responses:
483 200:
484 description: Not used
485 content: {}
486 204:
487 description: Job deleted
488 content: {}
489 401:
490 description: Unauthorized
491 content: {}
492 403:
493 description: Forbidden
494 content: {}
495 404:
496 description: Enrichment Information job is not found
497 content:
498 application/json:
499 schema:
500 $ref: '#/components/schemas/ProblemDetails'
501 deprecated: false
502 /ei-producer/v1/eiproducers/{eiProducerId}:
503 get:
504 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100505 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100506 summary: Individual EI producer
507 operationId: getEiProducerUsingGET
508 parameters:
509 - name: eiProducerId
510 in: path
511 description: eiProducerId
512 required: true
513 schema:
514 type: string
515 responses:
516 200:
517 description: EI jobs
518 content:
519 application/json:
520 schema:
521 $ref: '#/components/schemas/producer_registration_info'
522 401:
523 description: Unauthorized
524 content: {}
525 403:
526 description: Forbidden
527 content: {}
528 404:
529 description: Enrichment Information producer is not found
530 content:
531 application/json:
532 schema:
533 $ref: '#/components/schemas/ProblemDetails'
534 deprecated: false
535 put:
536 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100537 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100538 summary: Individual EI producer
539 operationId: putEiProducerUsingPUT
540 parameters:
541 - name: eiProducerId
542 in: path
543 description: eiProducerId
544 required: true
545 schema:
546 type: string
547 requestBody:
548 description: registrationInfo
549 content:
550 application/json:
551 schema:
552 $ref: '#/components/schemas/producer_registration_info'
553 required: true
554 responses:
555 200:
556 description: Producer updated
557 content: {}
558 201:
559 description: Producer created
560 content: {}
561 401:
562 description: Unauthorized
563 content: {}
564 403:
565 description: Forbidden
566 content: {}
567 404:
568 description: Not Found
569 content: {}
570 deprecated: false
571 delete:
572 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100573 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100574 summary: Individual EI producer
575 operationId: deleteEiProducerUsingDELETE
576 parameters:
577 - name: eiProducerId
578 in: path
579 description: eiProducerId
580 required: true
581 schema:
582 type: string
583 responses:
584 200:
585 description: Not used
586 content: {}
587 204:
588 description: Producer deleted
589 content: {}
590 401:
591 description: Unauthorized
592 content: {}
593 403:
594 description: Forbidden
595 content: {}
596 404:
597 description: Producer is not found
598 content:
599 application/json:
600 schema:
601 $ref: '#/components/schemas/ProblemDetails'
602 deprecated: false
603 /producer_simulator/health_check:
604 get:
605 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100606 - Data Producer Job Control (example producer)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100607 summary: Producer supervision
608 operationId: producerSupervisionUsingGET
609 responses:
610 200:
611 description: OK
612 content:
613 application/json:
614 schema:
615 type: string
616 401:
617 description: Unauthorized
618 content: {}
619 403:
620 description: Forbidden
621 content: {}
622 404:
623 description: Not Found
624 content: {}
625 deprecated: false
626 /ei-producer/v1/eiproducers/{eiProducerId}/eijobs:
627 get:
628 tags:
PatrikBuhre912ee42021-01-11 15:03:54 +0100629 - Data Producer Registry API
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100630 summary: EI job definitions
631 description: EI job definitions for one EI producer
632 operationId: getEiProducerJobsUsingGET
633 parameters:
634 - name: eiProducerId
635 in: path
636 description: eiProducerId
637 required: true
638 schema:
639 type: string
640 responses:
641 200:
642 description: EI jobs
643 content:
644 application/json:
645 schema:
646 type: array
647 items:
648 $ref: '#/components/schemas/producer_ei_job_request'
649 401:
650 description: Unauthorized
651 content: {}
652 403:
653 description: Forbidden
654 content: {}
655 404:
656 description: Enrichment Information producer is not found
657 content:
658 application/json:
659 schema:
660 $ref: '#/components/schemas/ProblemDetails'
661 deprecated: false
662 /A1-EI/v1/eijobs:
663 get:
664 tags:
665 - A1-EI (enrichment information)
666 summary: EI job identifiers
667 description: query for EI job identifiers
668 operationId: getEiJobIdsUsingGET
669 parameters:
670 - name: eiTypeId
671 in: query
672 description: selects EI jobs of matching EI type
673 allowEmptyValue: false
674 schema:
675 type: string
676 - name: owner
677 in: query
678 description: selects EI jobs for one EI job owner
679 allowEmptyValue: false
680 schema:
681 type: string
682 responses:
683 200:
684 description: EI job identifiers
685 content:
686 application/json:
687 schema:
688 type: array
689 items:
690 type: string
691 401:
692 description: Unauthorized
693 content: {}
694 403:
695 description: Forbidden
696 content: {}
697 404:
698 description: Enrichment Information type is not found
699 content:
700 application/json:
701 schema:
702 $ref: '#/components/schemas/ProblemDetails'
703 deprecated: false
704 /A1-EI/v1/eijobs/{eiJobId}/status:
705 get:
706 tags:
707 - A1-EI (enrichment information)
708 summary: EI job status
709 operationId: getEiJobStatusUsingGET
710 parameters:
711 - name: eiJobId
712 in: path
713 description: eiJobId
714 required: true
715 schema:
716 type: string
717 responses:
718 200:
719 description: EI job status
720 content:
721 application/json:
722 schema:
723 $ref: '#/components/schemas/EiJobStatusObject'
724 401:
725 description: Unauthorized
726 content: {}
727 403:
728 description: Forbidden
729 content: {}
730 404:
731 description: Enrichment Information job is not found
732 content:
733 application/json:
734 schema:
735 $ref: '#/components/schemas/ProblemDetails'
736 deprecated: false
737components:
738 schemas:
739 producer_ei_job_request:
740 title: producer_ei_job_request
741 required:
742 - ei_job_identity
743 type: object
744 properties:
745 owner:
746 type: string
747 description: The owner of the job
748 ei_job_identity:
749 type: string
750 description: Idenitity of the EI job
PatrikBuhr2dbde312021-01-15 13:12:39 +0100751 last_updated:
752 type: string
753 description: The time when the job was last updated or created (ISO-8601)
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100754 ei_job_data:
755 type: object
756 properties: {}
757 description: Json for the job data
758 target_uri:
759 type: string
760 description: URI for the target of the EI
761 ei_type_identity:
762 type: string
763 description: Type idenitity for the job
764 description: The body of the EI producer callbacks for EI job creation and deletion
765 EiTypeObject:
766 title: EiTypeObject
767 type: object
768 description: Information for an EI type
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100769 status_info:
770 title: status_info
771 type: object
772 properties:
773 no_of_producers:
774 type: integer
775 description: Number of EI producers
776 format: int32
777 no_of_jobs:
778 type: integer
779 description: Number of EI jobs
780 format: int32
781 no_of_types:
782 type: integer
783 description: Number of EI types
784 format: int32
785 status:
786 type: string
787 description: status text
788 Mono«ResponseEntity«object»»:
789 title: Mono«ResponseEntity«object»»
790 type: object
791 producer_ei_type_info:
792 title: producer_ei_type_info
PatrikBuhrfed5fc92021-01-18 12:34:38 +0100793 required:
794 - ei_job_data_schema
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100795 type: object
796 properties:
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100797 ei_job_data_schema:
798 type: object
799 properties: {}
800 description: Json schema for the job data
801 description: Information for an EI type
802 producer_registration_info:
803 title: producer_registration_info
804 required:
805 - ei_job_callback_url
806 - ei_producer_supervision_callback_url
807 - supported_ei_types
808 type: object
809 properties:
810 supported_ei_types:
811 type: array
PatrikBuhre912ee42021-01-11 15:03:54 +0100812 description: Supported EI type IDs
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100813 items:
PatrikBuhre912ee42021-01-11 15:03:54 +0100814 type: string
elinuxhenrik7a09fbb2020-12-04 16:51:19 +0100815 ei_producer_supervision_callback_url:
816 type: string
817 description: callback for producer supervision
818 ei_job_callback_url:
819 type: string
820 description: callback for EI job
821 description: Information for an EI producer
822 producer_status:
823 title: producer_status
824 required:
825 - operational_state
826 type: object
827 properties:
828 operational_state:
829 type: string
830 description: |-
831 Operational state, values:
832 ENABLED: TBD
833 DISABLED: TBD.
834 enum:
835 - ENABLED
836 - DISABLED
837 description: Status for an EI Producer
838 ProblemDetails:
839 title: ProblemDetails
840 type: object
841 properties:
842 detail:
843 type: string
844 description: A human-readable explanation specific to this occurrence of
845 the problem.
846 example: EI job type not found
847 status:
848 type: integer
849 description: The HTTP status code generated by the origin server for this
850 occurrence of the problem.
851 format: int32
852 example: 404
853 description: A problem detail to carry details in a HTTP response according
854 to RFC 7807
855 Void:
856 title: Void
857 type: object
858 description: Void/empty
859 EiJobStatusObject:
860 title: EiJobStatusObject
861 required:
862 - eiJobStatus
863 type: object
864 properties:
865 eiJobStatus:
866 type: string
867 description: |-
868 values:
869 ENABLED: the A1-EI producer is able to deliver EI result for the EI job
870 DISABLED: the A1-EI producer is unable to deliver EI result for the EI job
871 enum:
872 - ENABLED
873 - DISABLED
874 description: Status for an EI job
875 EiJobObject:
876 title: EiJobObject
877 required:
878 - eiTypeId
879 - jobDefinition
880 - jobOwner
881 - jobResultUri
882 type: object
883 properties:
884 eiTypeId:
885 type: string
886 description: EI type Idenitifier of the EI job
887 jobResultUri:
888 type: string
889 description: The target URI of the EI data
890 jobOwner:
891 type: string
892 description: Identity of the owner of the job
893 jobStatusNotificationUri:
894 type: string
895 description: The target of EI job status notifications
896 jobDefinition:
897 type: object
898 properties: {}
899 description: EI type specific job data
900 description: Information for an Enrichment Information Job