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