Generate api.json
[nonrtric.git] / enrichment-coordinator-service / docs / api.json
1 {
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         }},
288         "/producer_simulator/job_created_error": {"post": {
289             "summary": "Callback for EI job creation, returns error",
290             "deprecated": false,
291             "produces": ["application/json"],
292             "operationId": "jobCreatedCallbackReturnErrorUsingPOST",
293             "responses": {
294                 "200": {"description": "OK"},
295                 "201": {"description": "Created"},
296                 "401": {"description": "Unauthorized"},
297                 "403": {"description": "Forbidden"},
298                 "404": {"description": "Not Found"}
299             },
300             "parameters": [{
301                 "schema": {"$ref": "#/definitions/producer_ei_job_request"},
302                 "in": "body",
303                 "name": "request",
304                 "description": "request",
305                 "required": true
306             }],
307             "tags": ["Producer Simulator"],
308             "consumes": ["application/json"]
309         }},
310         "/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}": {
311             "get": {
312                 "summary": "Individual EI Job",
313                 "deprecated": false,
314                 "produces": ["application/json"],
315                 "operationId": "getIndividualEiJobUsingGET",
316                 "responses": {
317                     "200": {
318                         "schema": {"$ref": "#/definitions/EiJob"},
319                         "description": "EI Job"
320                     },
321                     "401": {"description": "Unauthorized"},
322                     "403": {"description": "Forbidden"},
323                     "404": {
324                         "schema": {"$ref": "#/definitions/error_information"},
325                         "description": "Enrichment Information type or job is not found"
326                     }
327                 },
328                 "parameters": [
329                     {
330                         "in": "path",
331                         "name": "eiJobId",
332                         "description": "eiJobId",
333                         "type": "string",
334                         "required": true
335                     },
336                     {
337                         "in": "path",
338                         "name": "eiTypeId",
339                         "description": "eiTypeId",
340                         "type": "string",
341                         "required": true
342                     }
343                 ],
344                 "tags": ["A1-E Enrichment Data Consumer API"]
345             },
346             "delete": {
347                 "summary": "Individual EI Job",
348                 "deprecated": false,
349                 "produces": ["application/json"],
350                 "operationId": "deleteIndividualEiJobUsingDELETE",
351                 "responses": {
352                     "200": {"description": "Not used"},
353                     "401": {"description": "Unauthorized"},
354                     "204": {"description": "Job deleted"},
355                     "403": {"description": "Forbidden"},
356                     "404": {
357                         "schema": {"$ref": "#/definitions/error_information"},
358                         "description": "Enrichment Information type or job is not found"
359                     }
360                 },
361                 "parameters": [
362                     {
363                         "in": "path",
364                         "name": "eiJobId",
365                         "description": "eiJobId",
366                         "type": "string",
367                         "required": true
368                     },
369                     {
370                         "in": "path",
371                         "name": "eiTypeId",
372                         "description": "eiTypeId",
373                         "type": "string",
374                         "required": true
375                     }
376                 ],
377                 "tags": ["A1-E Enrichment Data Consumer API"]
378             },
379             "put": {
380                 "summary": "Individual EI Job",
381                 "deprecated": false,
382                 "produces": ["application/json"],
383                 "operationId": "putIndividualEiJobUsingPUT",
384                 "responses": {
385                     "200": {"description": "Job updated"},
386                     "201": {"description": "Job created"},
387                     "401": {"description": "Unauthorized"},
388                     "403": {"description": "Forbidden"},
389                     "404": {
390                         "schema": {"$ref": "#/definitions/error_information"},
391                         "description": "Enrichment Information type is not found"
392                     }
393                 },
394                 "parameters": [
395                     {
396                         "in": "path",
397                         "name": "eiJobId",
398                         "description": "eiJobId",
399                         "type": "string",
400                         "required": true
401                     },
402                     {
403                         "schema": {"$ref": "#/definitions/EiJob"},
404                         "in": "body",
405                         "name": "eiJobInfo",
406                         "description": "eiJobInfo",
407                         "required": true
408                     },
409                     {
410                         "in": "path",
411                         "name": "eiTypeId",
412                         "description": "eiTypeId",
413                         "type": "string",
414                         "required": true
415                     }
416                 ],
417                 "tags": ["A1-E Enrichment Data Consumer API"],
418                 "consumes": ["application/json"]
419             }
420         },
421         "/ei-producer/v1/eiproducers/{eiProducerId}": {
422             "get": {
423                 "summary": "Individual EI producer",
424                 "deprecated": false,
425                 "produces": ["application/json"],
426                 "operationId": "getEiProducerUsingGET",
427                 "responses": {
428                     "200": {
429                         "schema": {"$ref": "#/definitions/producer_registration_info"},
430                         "description": "EI Jobs"
431                     },
432                     "401": {"description": "Unauthorized"},
433                     "403": {"description": "Forbidden"},
434                     "404": {
435                         "schema": {"$ref": "#/definitions/error_information"},
436                         "description": "Enrichment Information producer is not found"
437                     }
438                 },
439                 "parameters": [{
440                     "in": "path",
441                     "name": "eiProducerId",
442                     "description": "eiProducerId",
443                     "type": "string",
444                     "required": true
445                 }],
446                 "tags": ["Enrichment Data Producer API"]
447             },
448             "delete": {
449                 "summary": "Individual EI producer",
450                 "deprecated": false,
451                 "produces": ["application/json"],
452                 "operationId": "deleteEiProducerUsingDELETE",
453                 "responses": {
454                     "200": {"description": "Not used"},
455                     "401": {"description": "Unauthorized"},
456                     "204": {"description": "Producer deleted"},
457                     "403": {"description": "Forbidden"},
458                     "404": {
459                         "schema": {"$ref": "#/definitions/error_information"},
460                         "description": "Producer is not found"
461                     }
462                 },
463                 "parameters": [{
464                     "in": "path",
465                     "name": "eiProducerId",
466                     "description": "eiProducerId",
467                     "type": "string",
468                     "required": true
469                 }],
470                 "tags": ["Enrichment Data Producer API"]
471             },
472             "put": {
473                 "summary": "Individual EI producer",
474                 "deprecated": false,
475                 "produces": ["application/json"],
476                 "operationId": "putEiProducerUsingPUT",
477                 "responses": {
478                     "200": {"description": "Producer updated"},
479                     "201": {"description": "Producer created"},
480                     "401": {"description": "Unauthorized"},
481                     "403": {"description": "Forbidden"},
482                     "404": {"description": "Not Found"}
483                 },
484                 "parameters": [
485                     {
486                         "in": "path",
487                         "name": "eiProducerId",
488                         "description": "eiProducerId",
489                         "type": "string",
490                         "required": true
491                     },
492                     {
493                         "schema": {"$ref": "#/definitions/producer_registration_info"},
494                         "in": "body",
495                         "name": "registrationInfo",
496                         "description": "registrationInfo",
497                         "required": true
498                     }
499                 ],
500                 "tags": ["Enrichment Data Producer API"],
501                 "consumes": ["application/json"]
502             }
503         },
504         "/ei-producer/v1/eiproducers/{eiProducerId}/eijobs": {"get": {
505             "summary": "EI job definitions",
506             "deprecated": false,
507             "produces": ["application/json"],
508             "description": "EI job definitions for one EI producer",
509             "operationId": "getEiProducerJobsUsingGET",
510             "responses": {
511                 "200": {
512                     "schema": {
513                         "type": "array",
514                         "items": {"$ref": "#/definitions/producer_ei_job_request"}
515                     },
516                     "description": "EI jobs"
517                 },
518                 "401": {"description": "Unauthorized"},
519                 "403": {"description": "Forbidden"},
520                 "404": {
521                     "schema": {"$ref": "#/definitions/error_information"},
522                     "description": "Enrichment Information producer is not found"
523                 }
524             },
525             "parameters": [{
526                 "in": "path",
527                 "name": "eiProducerId",
528                 "description": "eiProducerId",
529                 "type": "string",
530                 "required": true
531             }],
532             "tags": ["Enrichment Data Producer API"]
533         }},
534         "/producer_simulator/job_created": {"post": {
535             "summary": "Callback for EI job creation",
536             "deprecated": false,
537             "produces": ["application/json"],
538             "operationId": "jobCreatedCallbackUsingPOST",
539             "responses": {
540                 "200": {"description": "OK"},
541                 "201": {"description": "Created"},
542                 "401": {"description": "Unauthorized"},
543                 "403": {"description": "Forbidden"},
544                 "404": {"description": "Not Found"}
545             },
546             "parameters": [{
547                 "schema": {"$ref": "#/definitions/producer_ei_job_request"},
548                 "in": "body",
549                 "name": "request",
550                 "description": "request",
551                 "required": true
552             }],
553             "tags": ["Producer Simulator"],
554             "consumes": ["application/json"]
555         }}
556     },
557     "host": "localhost:43453",
558     "definitions": {
559         "EiType": {
560             "description": "Information for an EI type",
561             "type": "object",
562             "title": "EiType",
563             "properties": {"eiJobParametersSchema": {
564                 "description": "Json schema for the job data",
565                 "type": "object"
566             }}
567         },
568         "producer_ei_job_request": {
569             "description": "The body of the EI producer callbacks for EI job creation and deletion",
570             "type": "object",
571             "title": "producer_ei_job_request",
572             "required": ["ei_job_identity"],
573             "properties": {
574                 "ei_job_identity": {
575                     "description": "Idenitity of the EI job",
576                     "type": "string"
577                 },
578                 "ei_job_data": {
579                     "description": "Json for the job data",
580                     "type": "object"
581                 },
582                 "target_uri": {
583                     "description": "URI for the target of the EI",
584                     "type": "string"
585                 },
586                 "ei_type_identity": {
587                     "description": "Type idenitity for the job",
588                     "type": "string"
589                 }
590             }
591         },
592         "error_information": {
593             "description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
594             "type": "object",
595             "title": "error_information",
596             "properties": {
597                 "detail": {
598                     "description": "A human-readable explanation specific to this occurrence of the problem.",
599                     "type": "string",
600                     "example": "EI job type not found"
601                 },
602                 "status": {
603                     "format": "int32",
604                     "description": "The HTTP status code generated by the origin server for this occurrence of the problem.",
605                     "type": "integer",
606                     "example": 404
607                 }
608             }
609         },
610         "void": {
611             "description": "Void/empty",
612             "type": "object",
613             "title": "void"
614         },
615         "EiJob": {
616             "description": "Information for an Enrichment Information Job",
617             "type": "object",
618             "title": "EiJob",
619             "required": [
620                 "jobOwner",
621                 "jobParameters",
622                 "targetUri"
623             ],
624             "properties": {
625                 "targetUri": {
626                     "description": "The target of the EI data",
627                     "type": "string"
628                 },
629                 "jobOwner": {
630                     "description": "Identity of the owner of the job",
631                     "type": "string"
632                 },
633                 "jobParameters": {
634                     "description": "EI Type specific job data",
635                     "type": "object"
636                 }
637             }
638         },
639         "producer_ei_type_registration_info": {
640             "description": "Information for an EI type",
641             "type": "object",
642             "title": "producer_ei_type_registration_info",
643             "required": ["ei_type_identity"],
644             "properties": {
645                 "ei_type_identity": {
646                     "description": "EI type identity",
647                     "type": "string"
648                 },
649                 "ei_job_data_schema": {
650                     "description": "Json schema for the job data",
651                     "type": "object"
652                 }
653             }
654         },
655         "EiJobStatus": {
656             "description": "Status for an EI Job",
657             "type": "object",
658             "title": "EiJobStatus",
659             "required": ["operationalState"],
660             "properties": {"operationalState": {
661                 "description": "Operational state, values:\nENABLED: TBD\nDISABLED: TBD.",
662                 "type": "string",
663                 "enum": [
664                     "ENABLED",
665                     "DISABLED"
666                 ]
667             }}
668         },
669         "Mono«ResponseEntity«object»»": {
670             "type": "object",
671             "title": "Mono«ResponseEntity«object»»"
672         },
673         "producer_ei_type_info": {
674             "description": "Information for an EI type",
675             "type": "object",
676             "title": "producer_ei_type_info",
677             "properties": {
678                 "ei_producer_ids": {
679                     "description": "Registered producers",
680                     "type": "array",
681                     "items": {"type": "string"}
682                 },
683                 "ei_job_data_schema": {
684                     "description": "Json schema for the job data",
685                     "type": "object"
686                 }
687             }
688         },
689         "producer_registration_info": {
690             "description": "Information for an EI producer",
691             "type": "object",
692             "title": "producer_registration_info",
693             "required": [
694                 "ei_job_creation_callback_url",
695                 "ei_job_deletion_callback_url",
696                 "ei_producer_supervision_callback_url",
697                 "supported_ei_types"
698             ],
699             "properties": {
700                 "supported_ei_types": {
701                     "description": "Supported EI types",
702                     "type": "array",
703                     "items": {"$ref": "#/definitions/producer_ei_type_registration_info"}
704                 },
705                 "ei_job_creation_callback_url": {
706                     "description": "callback for job creation",
707                     "type": "string"
708                 },
709                 "ei_job_deletion_callback_url": {
710                     "description": "callback for job deletion",
711                     "type": "string"
712                 },
713                 "ei_producer_supervision_callback_url": {
714                     "description": "callback for producer supervision",
715                     "type": "string"
716                 }
717             }
718         },
719         "producer_status": {
720             "description": "Status for an EI Producer",
721             "type": "object",
722             "title": "producer_status",
723             "required": ["operational_state"],
724             "properties": {"operational_state": {
725                 "description": "Operational state, values:\nENABLED: TBD\nDISABLED: TBD.",
726                 "type": "string",
727                 "enum": [
728                     "ENABLED",
729                     "DISABLED"
730                 ]
731             }}
732         }
733     },
734     "swagger": "2.0",
735     "info": {
736         "description": "This page lists all the rest apis for the service.",
737         "title": "Enrichment Data service",
738         "version": "1.0"
739     },
740     "tags": [
741         {
742             "name": "A1-E Enrichment Data Consumer API",
743             "description": "Consumer Controller"
744         },
745         {
746             "name": "Enrichment Data Producer API",
747             "description": "Producer Controller"
748         },
749         {
750             "name": "Producer Simulator",
751             "description": "Producer Simulator Controller"
752         }
753     ]
754 }