blob: 76be3a4a8700dab4c15d3ad6340c9ff29dbc77f6 [file] [log] [blame]
PatrikBuhr13b5a8e2020-10-02 09:26:06 +02001{
2 "basePath": "/",
3 "paths": {
4 "/producer_simulator/job_deleted_error": {"post": {
5 "summary": "Callback for EI job creation, returns error",
6 "deprecated": false,
7 "produces": ["application/json"],
8 "operationId": "jobDeletedCallbackReturnErrorUsingPOST",
9 "responses": {
10 "200": {"description": "OK"},
11 "201": {"description": "Created"},
12 "401": {"description": "Unauthorized"},
13 "403": {"description": "Forbidden"},
14 "404": {"description": "Not Found"}
15 },
16 "parameters": [{
17 "schema": {"$ref": "#/definitions/producer_ei_job_request"},
18 "in": "body",
19 "name": "request",
20 "description": "request",
21 "required": true
22 }],
23 "tags": ["Producer Simulator"],
24 "consumes": ["application/json"]
25 }},
26 "/producer_simulator/supervision": {"get": {
27 "summary": "Producer supervision",
28 "deprecated": false,
29 "produces": ["application/json"],
30 "operationId": "producerSupervisionUsingGET",
31 "responses": {
32 "200": {
33 "schema": {"type": "string"},
34 "description": "OK"
35 },
36 "401": {"description": "Unauthorized"},
37 "403": {"description": "Forbidden"},
38 "404": {"description": "Not Found"}
39 },
40 "tags": ["Producer Simulator"]
41 }},
42 "/A1-EI/v1/eitypes/{eiTypeId}/eijobs": {"get": {
43 "summary": "EI job identifiers",
44 "deprecated": false,
45 "produces": ["application/json"],
46 "operationId": "getEiJobIdsUsingGET",
47 "responses": {
48 "200": {
49 "schema": {
50 "type": "array",
51 "items": {"type": "string"}
52 },
53 "description": "EI job identifiers"
54 },
55 "401": {"description": "Unauthorized"},
56 "403": {"description": "Forbidden"},
57 "404": {
58 "schema": {"$ref": "#/definitions/error_information"},
59 "description": "Enrichment Information type is not found"
60 }
61 },
62 "parameters": [
63 {
64 "in": "path",
65 "name": "eiTypeId",
66 "description": "eiTypeId",
67 "type": "string",
68 "required": true
69 },
70 {
71 "schema": {"type": "string"},
72 "in": "body",
73 "name": "owner",
74 "description": "identifies the owner of the job",
75 "required": false
76 }
77 ],
78 "tags": ["A1-E Enrichment Data Consumer API"]
79 }},
80 "/A1-EI/v1/eitypes/{eiTypeId}": {"get": {
81 "summary": "Individual EI type",
82 "deprecated": false,
83 "produces": ["application/json"],
84 "operationId": "getEiTypeUsingGET",
85 "responses": {
86 "200": {
87 "schema": {"$ref": "#/definitions/EiType"},
88 "description": "EI type"
89 },
90 "401": {"description": "Unauthorized"},
91 "403": {"description": "Forbidden"},
92 "404": {
93 "schema": {"$ref": "#/definitions/error_information"},
94 "description": "Enrichment Information type is not found"
95 }
96 },
97 "parameters": [{
98 "in": "path",
99 "name": "eiTypeId",
100 "description": "eiTypeId",
101 "type": "string",
102 "required": true
103 }],
104 "tags": ["A1-E Enrichment Data Consumer API"]
105 }},
106 "/ei-producer/v1/eitypes": {"get": {
107 "summary": "EI type identifiers",
108 "deprecated": false,
109 "produces": ["application/json"],
110 "operationId": "getEiTypeIdentifiersUsingGET_1",
111 "responses": {
112 "200": {
113 "schema": {
114 "type": "array",
115 "items": {"type": "string"}
116 },
117 "description": "EI type identifiers"
118 },
119 "401": {"description": "Unauthorized"},
120 "403": {"description": "Forbidden"},
121 "404": {"description": "Not Found"}
122 },
123 "tags": ["Enrichment Data Producer API"]
124 }},
125 "/A1-EI/v1/eitypes": {"get": {
126 "summary": "EI type identifiers",
127 "deprecated": false,
128 "produces": ["application/json"],
129 "operationId": "getEiTypeIdentifiersUsingGET",
130 "responses": {
131 "200": {
132 "schema": {
133 "type": "array",
134 "items": {"type": "string"}
135 },
136 "description": "EI type identifiers"
137 },
138 "401": {"description": "Unauthorized"},
139 "403": {"description": "Forbidden"},
140 "404": {"description": "Not Found"}
141 },
142 "tags": ["A1-E Enrichment Data Consumer API"]
143 }},
144 "/producer_simulator/job_deleted": {"post": {
145 "summary": "Callback for EI job deletion",
146 "deprecated": false,
147 "produces": ["application/json"],
148 "operationId": "jobDeletedCallbackUsingPOST",
149 "responses": {
150 "200": {"description": "OK"},
151 "201": {"description": "Created"},
152 "401": {"description": "Unauthorized"},
153 "403": {"description": "Forbidden"},
154 "404": {"description": "Not Found"}
155 },
156 "parameters": [{
157 "schema": {"$ref": "#/definitions/producer_ei_job_request"},
158 "in": "body",
159 "name": "request",
160 "description": "request",
161 "required": true
162 }],
163 "tags": ["Producer Simulator"],
164 "consumes": ["application/json"]
165 }},
166 "/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}/status": {"get": {
167 "summary": "EI Job status",
168 "deprecated": false,
169 "produces": ["application/json"],
170 "operationId": "getEiJobStatusUsingGET",
171 "responses": {
172 "200": {
173 "schema": {"$ref": "#/definitions/EiJobStatus"},
174 "description": "EI Job status"
175 },
176 "401": {"description": "Unauthorized"},
177 "403": {"description": "Forbidden"},
178 "404": {
179 "schema": {"$ref": "#/definitions/error_information"},
180 "description": "Enrichment Information type or job is not found"
181 }
182 },
183 "parameters": [
184 {
185 "in": "path",
186 "name": "eiJobId",
187 "description": "eiJobId",
188 "type": "string",
189 "required": true
190 },
191 {
192 "in": "path",
193 "name": "eiTypeId",
194 "description": "eiTypeId",
195 "type": "string",
196 "required": true
197 }
198 ],
199 "tags": ["A1-E Enrichment Data Consumer API"]
200 }},
201 "/ei-producer/v1/eiproducers/{eiProducerId}/status": {"get": {
202 "summary": "EI producer status",
203 "deprecated": false,
204 "produces": ["application/json"],
205 "operationId": "getEiProducerStatusUsingGET",
206 "responses": {
207 "200": {
208 "schema": {"$ref": "#/definitions/producer_status"},
209 "description": "EI jobs"
210 },
211 "401": {"description": "Unauthorized"},
212 "403": {"description": "Forbidden"},
213 "404": {
214 "schema": {"$ref": "#/definitions/error_information"},
215 "description": "Enrichment Information producer is not found"
216 }
217 },
218 "parameters": [{
219 "in": "path",
220 "name": "eiProducerId",
221 "description": "eiProducerId",
222 "type": "string",
223 "required": true
224 }],
225 "tags": ["Enrichment Data Producer API"]
226 }},
227 "/producer_simulator/supervision_error": {"get": {
228 "summary": "Producer supervision error",
229 "deprecated": false,
230 "produces": ["application/json"],
231 "operationId": "producerSupervisionErrorUsingGET",
232 "responses": {
233 "200": {
234 "schema": {"type": "string"},
235 "description": "OK"
236 },
237 "401": {"description": "Unauthorized"},
238 "403": {"description": "Forbidden"},
239 "404": {"description": "Not Found"}
240 },
241 "tags": ["Producer Simulator"]
242 }},
243 "/ei-producer/v1/eiproducers": {"get": {
244 "summary": "EI producer identifiers",
245 "deprecated": false,
246 "produces": ["application/json"],
247 "operationId": "getEiProducerIdentifiersUsingGET",
248 "responses": {
249 "200": {
250 "schema": {
251 "type": "array",
252 "items": {"type": "string"}
253 },
254 "description": "EI producer identifiers"
255 },
256 "401": {"description": "Unauthorized"},
257 "403": {"description": "Forbidden"},
258 "404": {"description": "Not Found"}
259 },
260 "tags": ["Enrichment Data Producer API"]
261 }},
262 "/ei-producer/v1/eitypes/{eiTypeId}": {"get": {
263 "summary": "Individual EI Type",
264 "deprecated": false,
265 "produces": ["application/json"],
266 "operationId": "getEiTypeUsingGET_1",
267 "responses": {
268 "200": {
269 "schema": {"$ref": "#/definitions/producer_ei_type_info"},
270 "description": "EI type"
271 },
272 "401": {"description": "Unauthorized"},
273 "403": {"description": "Forbidden"},
274 "404": {
275 "schema": {"$ref": "#/definitions/error_information"},
276 "description": "Enrichment Information type is not found"
277 }
278 },
279 "parameters": [{
280 "in": "path",
281 "name": "eiTypeId",
282 "description": "eiTypeId",
283 "type": "string",
284 "required": true
285 }],
286 "tags": ["Enrichment Data Producer API"]
287 }},
PatrikBuhrb41c6e72020-10-02 12:47:00 +0200288 "/status": {"get": {
289 "summary": "Returns status and statistics of this service",
290 "deprecated": false,
291 "produces": ["application/json"],
292 "operationId": "getStatusUsingGET",
293 "responses": {
294 "200": {
295 "schema": {"$ref": "#/definitions/status_info"},
296 "description": "Service is living"
297 },
298 "401": {"description": "Unauthorized"},
299 "403": {"description": "Forbidden"},
300 "404": {"description": "Not Found"}
301 },
302 "tags": ["Service status"]
303 }},
PatrikBuhr13b5a8e2020-10-02 09:26:06 +0200304 "/producer_simulator/job_created_error": {"post": {
305 "summary": "Callback for EI job creation, returns error",
306 "deprecated": false,
307 "produces": ["application/json"],
308 "operationId": "jobCreatedCallbackReturnErrorUsingPOST",
309 "responses": {
310 "200": {"description": "OK"},
311 "201": {"description": "Created"},
312 "401": {"description": "Unauthorized"},
313 "403": {"description": "Forbidden"},
314 "404": {"description": "Not Found"}
315 },
316 "parameters": [{
317 "schema": {"$ref": "#/definitions/producer_ei_job_request"},
318 "in": "body",
319 "name": "request",
320 "description": "request",
321 "required": true
322 }],
323 "tags": ["Producer Simulator"],
324 "consumes": ["application/json"]
325 }},
326 "/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}": {
327 "get": {
328 "summary": "Individual EI Job",
329 "deprecated": false,
330 "produces": ["application/json"],
331 "operationId": "getIndividualEiJobUsingGET",
332 "responses": {
333 "200": {
334 "schema": {"$ref": "#/definitions/EiJob"},
335 "description": "EI Job"
336 },
337 "401": {"description": "Unauthorized"},
338 "403": {"description": "Forbidden"},
339 "404": {
340 "schema": {"$ref": "#/definitions/error_information"},
341 "description": "Enrichment Information type or job is not found"
342 }
343 },
344 "parameters": [
345 {
346 "in": "path",
347 "name": "eiJobId",
348 "description": "eiJobId",
349 "type": "string",
350 "required": true
351 },
352 {
353 "in": "path",
354 "name": "eiTypeId",
355 "description": "eiTypeId",
356 "type": "string",
357 "required": true
358 }
359 ],
360 "tags": ["A1-E Enrichment Data Consumer API"]
361 },
362 "delete": {
363 "summary": "Individual EI Job",
364 "deprecated": false,
365 "produces": ["application/json"],
366 "operationId": "deleteIndividualEiJobUsingDELETE",
367 "responses": {
368 "200": {"description": "Not used"},
369 "401": {"description": "Unauthorized"},
370 "204": {"description": "Job deleted"},
371 "403": {"description": "Forbidden"},
372 "404": {
373 "schema": {"$ref": "#/definitions/error_information"},
374 "description": "Enrichment Information type or job is not found"
375 }
376 },
377 "parameters": [
378 {
379 "in": "path",
380 "name": "eiJobId",
381 "description": "eiJobId",
382 "type": "string",
383 "required": true
384 },
385 {
386 "in": "path",
387 "name": "eiTypeId",
388 "description": "eiTypeId",
389 "type": "string",
390 "required": true
391 }
392 ],
393 "tags": ["A1-E Enrichment Data Consumer API"]
394 },
395 "put": {
396 "summary": "Individual EI Job",
397 "deprecated": false,
398 "produces": ["application/json"],
399 "operationId": "putIndividualEiJobUsingPUT",
400 "responses": {
401 "200": {"description": "Job updated"},
402 "201": {"description": "Job created"},
403 "401": {"description": "Unauthorized"},
404 "403": {"description": "Forbidden"},
405 "404": {
406 "schema": {"$ref": "#/definitions/error_information"},
407 "description": "Enrichment Information type is not found"
408 }
409 },
410 "parameters": [
411 {
412 "in": "path",
413 "name": "eiJobId",
414 "description": "eiJobId",
415 "type": "string",
416 "required": true
417 },
418 {
419 "schema": {"$ref": "#/definitions/EiJob"},
420 "in": "body",
421 "name": "eiJobInfo",
422 "description": "eiJobInfo",
423 "required": true
424 },
425 {
426 "in": "path",
427 "name": "eiTypeId",
428 "description": "eiTypeId",
429 "type": "string",
430 "required": true
431 }
432 ],
433 "tags": ["A1-E Enrichment Data Consumer API"],
434 "consumes": ["application/json"]
435 }
436 },
437 "/ei-producer/v1/eiproducers/{eiProducerId}": {
438 "get": {
439 "summary": "Individual EI producer",
440 "deprecated": false,
441 "produces": ["application/json"],
442 "operationId": "getEiProducerUsingGET",
443 "responses": {
444 "200": {
445 "schema": {"$ref": "#/definitions/producer_registration_info"},
446 "description": "EI Jobs"
447 },
448 "401": {"description": "Unauthorized"},
449 "403": {"description": "Forbidden"},
450 "404": {
451 "schema": {"$ref": "#/definitions/error_information"},
452 "description": "Enrichment Information producer is not found"
453 }
454 },
455 "parameters": [{
456 "in": "path",
457 "name": "eiProducerId",
458 "description": "eiProducerId",
459 "type": "string",
460 "required": true
461 }],
462 "tags": ["Enrichment Data Producer API"]
463 },
464 "delete": {
465 "summary": "Individual EI producer",
466 "deprecated": false,
467 "produces": ["application/json"],
468 "operationId": "deleteEiProducerUsingDELETE",
469 "responses": {
470 "200": {"description": "Not used"},
471 "401": {"description": "Unauthorized"},
472 "204": {"description": "Producer deleted"},
473 "403": {"description": "Forbidden"},
474 "404": {
475 "schema": {"$ref": "#/definitions/error_information"},
476 "description": "Producer is not found"
477 }
478 },
479 "parameters": [{
480 "in": "path",
481 "name": "eiProducerId",
482 "description": "eiProducerId",
483 "type": "string",
484 "required": true
485 }],
486 "tags": ["Enrichment Data Producer API"]
487 },
488 "put": {
489 "summary": "Individual EI producer",
490 "deprecated": false,
491 "produces": ["application/json"],
492 "operationId": "putEiProducerUsingPUT",
493 "responses": {
494 "200": {"description": "Producer updated"},
495 "201": {"description": "Producer created"},
496 "401": {"description": "Unauthorized"},
497 "403": {"description": "Forbidden"},
498 "404": {"description": "Not Found"}
499 },
500 "parameters": [
501 {
502 "in": "path",
503 "name": "eiProducerId",
504 "description": "eiProducerId",
505 "type": "string",
506 "required": true
507 },
508 {
509 "schema": {"$ref": "#/definitions/producer_registration_info"},
510 "in": "body",
511 "name": "registrationInfo",
512 "description": "registrationInfo",
513 "required": true
514 }
515 ],
516 "tags": ["Enrichment Data Producer API"],
517 "consumes": ["application/json"]
518 }
519 },
520 "/ei-producer/v1/eiproducers/{eiProducerId}/eijobs": {"get": {
521 "summary": "EI job definitions",
522 "deprecated": false,
523 "produces": ["application/json"],
524 "description": "EI job definitions for one EI producer",
525 "operationId": "getEiProducerJobsUsingGET",
526 "responses": {
527 "200": {
528 "schema": {
529 "type": "array",
530 "items": {"$ref": "#/definitions/producer_ei_job_request"}
531 },
532 "description": "EI jobs"
533 },
534 "401": {"description": "Unauthorized"},
535 "403": {"description": "Forbidden"},
536 "404": {
537 "schema": {"$ref": "#/definitions/error_information"},
538 "description": "Enrichment Information producer is not found"
539 }
540 },
541 "parameters": [{
542 "in": "path",
543 "name": "eiProducerId",
544 "description": "eiProducerId",
545 "type": "string",
546 "required": true
547 }],
548 "tags": ["Enrichment Data Producer API"]
549 }},
550 "/producer_simulator/job_created": {"post": {
551 "summary": "Callback for EI job creation",
552 "deprecated": false,
553 "produces": ["application/json"],
554 "operationId": "jobCreatedCallbackUsingPOST",
555 "responses": {
556 "200": {"description": "OK"},
557 "201": {"description": "Created"},
558 "401": {"description": "Unauthorized"},
559 "403": {"description": "Forbidden"},
560 "404": {"description": "Not Found"}
561 },
562 "parameters": [{
563 "schema": {"$ref": "#/definitions/producer_ei_job_request"},
564 "in": "body",
565 "name": "request",
566 "description": "request",
567 "required": true
568 }],
569 "tags": ["Producer Simulator"],
570 "consumes": ["application/json"]
571 }}
572 },
PatrikBuhrb41c6e72020-10-02 12:47:00 +0200573 "host": "localhost:40973",
PatrikBuhr13b5a8e2020-10-02 09:26:06 +0200574 "definitions": {
575 "EiType": {
576 "description": "Information for an EI type",
577 "type": "object",
578 "title": "EiType",
579 "properties": {"eiJobParametersSchema": {
580 "description": "Json schema for the job data",
581 "type": "object"
582 }}
583 },
584 "producer_ei_job_request": {
585 "description": "The body of the EI producer callbacks for EI job creation and deletion",
586 "type": "object",
587 "title": "producer_ei_job_request",
588 "required": ["ei_job_identity"],
589 "properties": {
590 "ei_job_identity": {
591 "description": "Idenitity of the EI job",
592 "type": "string"
593 },
594 "ei_job_data": {
595 "description": "Json for the job data",
596 "type": "object"
597 },
598 "target_uri": {
599 "description": "URI for the target of the EI",
600 "type": "string"
601 },
602 "ei_type_identity": {
603 "description": "Type idenitity for the job",
604 "type": "string"
605 }
606 }
607 },
608 "error_information": {
609 "description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
610 "type": "object",
611 "title": "error_information",
612 "properties": {
613 "detail": {
614 "description": "A human-readable explanation specific to this occurrence of the problem.",
615 "type": "string",
616 "example": "EI job type not found"
617 },
618 "status": {
619 "format": "int32",
620 "description": "The HTTP status code generated by the origin server for this occurrence of the problem.",
621 "type": "integer",
622 "example": 404
623 }
624 }
625 },
626 "void": {
627 "description": "Void/empty",
628 "type": "object",
629 "title": "void"
630 },
631 "EiJob": {
632 "description": "Information for an Enrichment Information Job",
633 "type": "object",
634 "title": "EiJob",
635 "required": [
636 "jobOwner",
637 "jobParameters",
638 "targetUri"
639 ],
640 "properties": {
641 "targetUri": {
642 "description": "The target of the EI data",
643 "type": "string"
644 },
645 "jobOwner": {
646 "description": "Identity of the owner of the job",
647 "type": "string"
648 },
649 "jobParameters": {
650 "description": "EI Type specific job data",
651 "type": "object"
652 }
653 }
654 },
655 "producer_ei_type_registration_info": {
656 "description": "Information for an EI type",
657 "type": "object",
658 "title": "producer_ei_type_registration_info",
659 "required": ["ei_type_identity"],
660 "properties": {
661 "ei_type_identity": {
662 "description": "EI type identity",
663 "type": "string"
664 },
665 "ei_job_data_schema": {
666 "description": "Json schema for the job data",
667 "type": "object"
668 }
669 }
670 },
PatrikBuhrb41c6e72020-10-02 12:47:00 +0200671 "status_info": {
672 "type": "object",
673 "title": "status_info",
674 "properties": {
675 "no_of_producers": {
676 "format": "int32",
677 "description": "Number of EI producers",
678 "type": "integer"
679 },
680 "no_of_jobs": {
681 "format": "int32",
682 "description": "Number of EI jobs",
683 "type": "integer"
684 },
685 "no_of_types": {
686 "format": "int32",
687 "description": "Number of EI types",
688 "type": "integer"
689 },
690 "status": {
691 "description": "status text",
692 "type": "string"
693 }
694 }
695 },
PatrikBuhr13b5a8e2020-10-02 09:26:06 +0200696 "EiJobStatus": {
697 "description": "Status for an EI Job",
698 "type": "object",
699 "title": "EiJobStatus",
700 "required": ["operationalState"],
701 "properties": {"operationalState": {
702 "description": "Operational state, values:\nENABLED: TBD\nDISABLED: TBD.",
703 "type": "string",
704 "enum": [
705 "ENABLED",
706 "DISABLED"
707 ]
708 }}
709 },
710 "Mono«ResponseEntity«object»»": {
711 "type": "object",
712 "title": "Mono«ResponseEntity«object»»"
713 },
714 "producer_ei_type_info": {
715 "description": "Information for an EI type",
716 "type": "object",
717 "title": "producer_ei_type_info",
718 "properties": {
719 "ei_producer_ids": {
720 "description": "Registered producers",
721 "type": "array",
722 "items": {"type": "string"}
723 },
724 "ei_job_data_schema": {
725 "description": "Json schema for the job data",
726 "type": "object"
727 }
728 }
729 },
730 "producer_registration_info": {
731 "description": "Information for an EI producer",
732 "type": "object",
733 "title": "producer_registration_info",
734 "required": [
735 "ei_job_creation_callback_url",
736 "ei_job_deletion_callback_url",
737 "ei_producer_supervision_callback_url",
738 "supported_ei_types"
739 ],
740 "properties": {
741 "supported_ei_types": {
742 "description": "Supported EI types",
743 "type": "array",
744 "items": {"$ref": "#/definitions/producer_ei_type_registration_info"}
745 },
746 "ei_job_creation_callback_url": {
747 "description": "callback for job creation",
748 "type": "string"
749 },
750 "ei_job_deletion_callback_url": {
751 "description": "callback for job deletion",
752 "type": "string"
753 },
754 "ei_producer_supervision_callback_url": {
755 "description": "callback for producer supervision",
756 "type": "string"
757 }
758 }
759 },
760 "producer_status": {
761 "description": "Status for an EI Producer",
762 "type": "object",
763 "title": "producer_status",
764 "required": ["operational_state"],
765 "properties": {"operational_state": {
766 "description": "Operational state, values:\nENABLED: TBD\nDISABLED: TBD.",
767 "type": "string",
768 "enum": [
769 "ENABLED",
770 "DISABLED"
771 ]
772 }}
773 }
774 },
775 "swagger": "2.0",
776 "info": {
777 "description": "This page lists all the rest apis for the service.",
778 "title": "Enrichment Data service",
779 "version": "1.0"
780 },
781 "tags": [
782 {
783 "name": "A1-E Enrichment Data Consumer API",
784 "description": "Consumer Controller"
785 },
786 {
787 "name": "Enrichment Data Producer API",
788 "description": "Producer Controller"
789 },
790 {
791 "name": "Producer Simulator",
792 "description": "Producer Simulator Controller"
PatrikBuhrb41c6e72020-10-02 12:47:00 +0200793 },
794 {
795 "name": "Service status",
796 "description": "Status Controller"
PatrikBuhr13b5a8e2020-10-02 09:26:06 +0200797 }
798 ]
799}