Fixed some sonar warnings
[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:8081'
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/ei_type_info'
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/ei_job_info'
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/ei_job_info'
156         - name: eiTypeId
157           in: path
158           description: eiTypeId
159           required: true
160           type: string
161       responses:
162         '200':
163           description: Job updated
164           schema:
165             type: object
166         '201':
167           description: Job created
168           schema:
169             type: object
170         '401':
171           description: Unauthorized
172         '403':
173           description: Forbidden
174         '404':
175           description: Enrichment Information type is not found
176           schema:
177             $ref: '#/definitions/error_information'
178       deprecated: false
179     delete:
180       tags:
181         - A1-E Enrichment Data Consumer API
182       summary: Individual EI Job
183       operationId: deleteIndividualEiJobUsingDELETE
184       produces:
185         - application/json
186       parameters:
187         - name: eiJobId
188           in: path
189           description: eiJobId
190           required: true
191           type: string
192         - name: eiTypeId
193           in: path
194           description: eiTypeId
195           required: true
196           type: string
197       responses:
198         '200':
199           description: Not used
200           schema:
201             type: object
202         '204':
203           description: Job deleted
204           schema:
205             type: object
206         '401':
207           description: Unauthorized
208         '403':
209           description: Forbidden
210         '404':
211           description: Enrichment Information type or job is not found
212           schema:
213             $ref: '#/definitions/error_information'
214       deprecated: false
215   '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}/status':
216     get:
217       tags:
218         - A1-E Enrichment Data Consumer API
219       summary: EI Job status
220       operationId: getEiJobStatusUsingGET
221       produces:
222         - application/json
223       parameters:
224         - name: eiJobId
225           in: path
226           description: eiJobId
227           required: true
228           type: string
229         - name: eiTypeId
230           in: path
231           description: eiTypeId
232           required: true
233           type: string
234       responses:
235         '200':
236           description: EI Job status
237           schema:
238             $ref: '#/definitions/ei_job_status'
239         '401':
240           description: Unauthorized
241         '403':
242           description: Forbidden
243         '404':
244           description: Enrichment Information type or job is not found
245           schema:
246             $ref: '#/definitions/error_information'
247       deprecated: false
248   /ei-producer/v1/eiproducers:
249     get:
250       tags:
251         - Enrichment Data Producer API
252       summary: EI producer identifiers
253       operationId: getEiProducerIdentifiersUsingGET
254       produces:
255         - application/json
256       responses:
257         '200':
258           description: EI producer identifiers
259           schema:
260             type: array
261             items:
262               type: string
263         '401':
264           description: Unauthorized
265         '403':
266           description: Forbidden
267         '404':
268           description: Not Found
269       deprecated: false
270   '/ei-producer/v1/eiproducers/{eiProducerId}':
271     get:
272       tags:
273         - Enrichment Data Producer API
274       summary: Individual EI producer
275       operationId: getEiProducerUsingGET
276       produces:
277         - application/json
278       parameters:
279         - name: eiProducerId
280           in: path
281           description: eiProducerId
282           required: true
283           type: string
284       responses:
285         '200':
286           description: EI Jobs
287           schema:
288             $ref: '#/definitions/producer_registration_info'
289         '401':
290           description: Unauthorized
291         '403':
292           description: Forbidden
293         '404':
294           description: Enrichment Information producer is not found
295           schema:
296             $ref: '#/definitions/error_information'
297       deprecated: false
298     put:
299       tags:
300         - Enrichment Data Producer API
301       summary: Individual EI producer
302       operationId: putEiProducerUsingPUT
303       consumes:
304         - application/json
305       produces:
306         - application/json
307       parameters:
308         - name: eiProducerId
309           in: path
310           description: eiProducerId
311           required: true
312           type: string
313         - in: body
314           name: registrationInfo
315           description: registrationInfo
316           required: true
317           schema:
318             $ref: '#/definitions/producer_registration_info'
319       responses:
320         '200':
321           description: Producer updated
322           schema:
323             type: object
324         '201':
325           description: Producer created
326           schema:
327             type: object
328         '401':
329           description: Unauthorized
330         '403':
331           description: Forbidden
332         '404':
333           description: Not Found
334       deprecated: false
335     delete:
336       tags:
337         - Enrichment Data Producer API
338       summary: Individual EI producer
339       operationId: deleteEiProducerUsingDELETE
340       produces:
341         - application/json
342       parameters:
343         - name: eiProducerId
344           in: path
345           description: eiProducerId
346           required: true
347           type: string
348       responses:
349         '200':
350           description: Not used
351           schema:
352             type: object
353         '204':
354           description: Producer deleted
355           schema:
356             type: object
357         '401':
358           description: Unauthorized
359         '403':
360           description: Forbidden
361         '404':
362           description: Producer is not found
363           schema:
364             $ref: '#/definitions/error_information'
365       deprecated: false
366   '/ei-producer/v1/eiproducers/{eiProducerId}/eijobs':
367     get:
368       tags:
369         - Enrichment Data Producer API
370       summary: EI job definitions
371       description: EI job definitions for one EI producer
372       operationId: getEiProducerJobsUsingGET
373       produces:
374         - application/json
375       parameters:
376         - name: eiProducerId
377           in: path
378           description: eiProducerId
379           required: true
380           type: string
381       responses:
382         '200':
383           description: EI jobs
384           schema:
385             type: array
386             items:
387               $ref: '#/definitions/producer_ei_job_request'
388         '401':
389           description: Unauthorized
390         '403':
391           description: Forbidden
392         '404':
393           description: Enrichment Information producer is not found
394           schema:
395             $ref: '#/definitions/error_information'
396       deprecated: false
397   /ei-producer/v1/eitypes:
398     get:
399       tags:
400         - Enrichment Data Producer API
401       summary: EI type identifiers
402       operationId: getEiTypeIdentifiersUsingGET_1
403       produces:
404         - application/json
405       responses:
406         '200':
407           description: EI type identifiers
408           schema:
409             type: array
410             items:
411               type: string
412         '401':
413           description: Unauthorized
414         '403':
415           description: Forbidden
416         '404':
417           description: Not Found
418       deprecated: false
419   '/ei-producer/v1/eitypes/{eiTypeId}':
420     get:
421       tags:
422         - Enrichment Data Producer API
423       summary: Individual EI Type
424       operationId: getEiTypeUsingGET_1
425       produces:
426         - application/json
427       parameters:
428         - name: eiTypeId
429           in: path
430           description: eiTypeId
431           required: true
432           type: string
433       responses:
434         '200':
435           description: EI type
436           schema:
437             $ref: '#/definitions/producer_ei_type_info'
438         '401':
439           description: Unauthorized
440         '403':
441           description: Forbidden
442         '404':
443           description: Enrichment Information type is not found
444           schema:
445             $ref: '#/definitions/error_information'
446       deprecated: false
447   /producer_simulator/job_created:
448     post:
449       tags:
450         - Producer Simulator
451       summary: Callback for EI job creation
452       operationId: jobCreatedCallbackUsingPOST
453       consumes:
454         - application/json
455       produces:
456         - application/json
457       parameters:
458         - in: body
459           name: request
460           description: request
461           required: true
462           schema:
463             $ref: '#/definitions/producer_ei_job_request'
464       responses:
465         '200':
466           description: OK
467           schema:
468             type: object
469         '201':
470           description: Created
471         '401':
472           description: Unauthorized
473         '403':
474           description: Forbidden
475         '404':
476           description: Not Found
477       deprecated: false
478   /producer_simulator/job_deleted:
479     post:
480       tags:
481         - Producer Simulator
482       summary: Callback for EI job deletion
483       operationId: jobDeletedCallbackUsingPOST
484       consumes:
485         - application/json
486       produces:
487         - application/json
488       parameters:
489         - in: body
490           name: request
491           description: request
492           required: true
493           schema:
494             $ref: '#/definitions/producer_ei_job_request'
495       responses:
496         '200':
497           description: OK
498           schema:
499             type: object
500         '201':
501           description: Created
502         '401':
503           description: Unauthorized
504         '403':
505           description: Forbidden
506         '404':
507           description: Not Found
508       deprecated: false
509 definitions:
510   ei_job_info:
511     type: object
512     required:
513       - job_data
514       - job_owner
515       - target_uri
516     properties:
517       job_data:
518         type: object
519         description: EI Type specific job data
520       job_owner:
521         type: string
522         description: Identity of the owner of the job
523       target_uri:
524         type: string
525         description: The target of the EI data
526     title: ei_job_info
527     description: Information for a Enrichment Information Job
528   ei_job_status:
529     type: object
530     required:
531       - operational_state
532     properties:
533       operational_state:
534         type: string
535         description: |-
536           Operational state, values:
537           ENABLED: TBD
538           DISABLED: TBD.
539         enum:
540           - ENABLED
541           - DISABLED
542     title: ei_job_status
543     description: Status for an EI Job
544   ei_type_info:
545     type: object
546     properties:
547       job_data_schema:
548         type: object
549         description: Json schema for the job data
550     title: ei_type_info
551     description: Information for an EI type
552   error_information:
553     type: object
554     properties:
555       detail:
556         type: string
557         example: EI job type not found
558         description: A human-readable explanation specific to this occurrence of the problem.
559       status:
560         type: integer
561         format: int32
562         example: 404
563         description: The HTTP status code generated by the origin server for this occurrence of the problem.
564     title: error_information
565     description: 'Problem as defined in https://tools.ietf.org/html/rfc7807'
566   producer_ei_job_request:
567     type: object
568     required:
569       - ei_job_identity
570     properties:
571       ei_job_data:
572         type: object
573         description: Json for the job data
574       ei_job_identity:
575         type: string
576         description: Idenitity of the EI job
577       ei_type_identity:
578         type: string
579         description: Type idenitity for the job
580       target_uri:
581         type: string
582         description: URI for the target of the EI
583     title: producer_ei_job_request
584     description: The body of the EI producer callbacks for EI job creation and deletion
585   producer_ei_type_info:
586     type: object
587     properties:
588       ei_job_data_schema:
589         type: object
590         description: Json schema for the job data
591       ei_producer_ids:
592         type: array
593         description: Registered producers
594         items:
595           type: string
596     title: producer_ei_type_info
597     description: Information for an EI type
598   producer_ei_type_registration_info:
599     type: object
600     required:
601       - ei_type_identity
602     properties:
603       ei_job_data_schema:
604         type: object
605         description: Json schema for the job data
606       ei_type_identity:
607         type: string
608         description: EI type identity
609     title: producer_ei_type_registration_info
610     description: Information for an EI type
611   producer_registration_info:
612     type: object
613     required:
614       - ei_job_creation_callback_url
615       - ei_job_deletion_callback_url
616       - supported_ei_types
617     properties:
618       ei_job_creation_callback_url:
619         type: string
620         description: callback for job creation
621       ei_job_deletion_callback_url:
622         type: string
623         description: callback for job deletion
624       supported_ei_types:
625         type: array
626         description: Supported EI types
627         items:
628           $ref: '#/definitions/producer_ei_type_registration_info'
629     title: producer_registration_info
630     description: Information for an EI producer
631