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