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