Enrichment Service
[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: Query EI type identifiers
21       description: DETAILS TBD
22       operationId: getEiTypeIdentifiersUsingGET
23       produces:
24         - application/json
25       responses:
26         '200':
27           description: EI type identifiers
28           schema:
29             type: array
30             items:
31               type: string
32         '401':
33           description: Unauthorized
34         '403':
35           description: Forbidden
36         '404':
37           description: Not Found
38       deprecated: false
39   '/A1-EI/v1/eitypes/{eiTypeId}':
40     get:
41       tags:
42         - A1-E Enrichment Data Consumer API
43       summary: Definitions for an individual EI Type
44       description: Query EI type
45       operationId: getEiTypeUsingGET
46       produces:
47         - application/json
48       parameters:
49         - name: eiTypeId
50           in: path
51           description: eiTypeId
52           required: true
53           type: string
54       responses:
55         '200':
56           description: EI type
57           schema:
58             $ref: '#/definitions/ei_type_info'
59         '401':
60           description: Unauthorized
61         '403':
62           description: Forbidden
63         '404':
64           description: Enrichment Information type is not found
65           schema:
66             $ref: '#/definitions/error_information'
67       deprecated: false
68   '/A1-EI/v1/eitypes/{eiTypeId}/eijobs':
69     get:
70       tags:
71         - A1-E Enrichment Data Consumer API
72       summary: Query EI job identifiers
73       description: Returns the identifiers for an EI Type
74       operationId: getEiJobIdsUsingGET
75       produces:
76         - application/json
77       parameters:
78         - name: eiTypeId
79           in: path
80           description: eiTypeId
81           required: true
82           type: string
83         - in: body
84           name: owner
85           description: identifies the owner of the job
86           required: false
87           schema:
88             type: string
89       responses:
90         '200':
91           description: EI type
92           schema:
93             type: array
94             items:
95               type: string
96         '401':
97           description: Unauthorized
98         '403':
99           description: Forbidden
100         '404':
101           description: Enrichment Information type is not found
102           schema:
103             $ref: '#/definitions/error_information'
104       deprecated: false
105   '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}':
106     get:
107       tags:
108         - A1-E Enrichment Data Consumer API
109       summary: Individual EI Job
110       operationId: getIndividualEiJobUsingGET
111       produces:
112         - application/json
113       parameters:
114         - name: eiJobId
115           in: path
116           description: eiJobId
117           required: true
118           type: string
119         - name: eiTypeId
120           in: path
121           description: eiTypeId
122           required: true
123           type: string
124       responses:
125         '200':
126           description: EI Job
127           schema:
128             $ref: '#/definitions/ei_job_info'
129         '401':
130           description: Unauthorized
131         '403':
132           description: Forbidden
133         '404':
134           description: Enrichment Information type or job is not found
135           schema:
136             $ref: '#/definitions/error_information'
137       deprecated: false
138     put:
139       tags:
140         - A1-E Enrichment Data Consumer API
141       summary: Individual EI Job
142       description: Create or update an EI Job
143       operationId: putIndividualEiJobUsingPUT
144       consumes:
145         - application/json
146       produces:
147         - application/json
148       parameters:
149         - name: eiJobId
150           in: path
151           description: eiJobId
152           required: true
153           type: string
154         - in: body
155           name: eiJobInfo
156           description: eiJobInfo
157           required: true
158           schema:
159             $ref: '#/definitions/ei_job_info'
160         - name: eiTypeId
161           in: path
162           description: eiTypeId
163           required: true
164           type: string
165       responses:
166         '200':
167           description: Job updated
168           schema:
169             type: object
170         '201':
171           description: Job created
172           schema:
173             type: object
174         '401':
175           description: Unauthorized
176         '403':
177           description: Forbidden
178         '404':
179           description: Enrichment Information type is not found
180           schema:
181             $ref: '#/definitions/error_information'
182       deprecated: false
183     delete:
184       tags:
185         - A1-E Enrichment Data Consumer API
186       summary: Individual EI Job
187       description: Delete an EI job
188       operationId: deleteIndividualEiJobUsingDELETE
189       produces:
190         - application/json
191       parameters:
192         - name: eiJobId
193           in: path
194           description: eiJobId
195           required: true
196           type: string
197         - name: eiTypeId
198           in: path
199           description: eiTypeId
200           required: true
201           type: string
202       responses:
203         '200':
204           description: Not used
205           schema:
206             type: object
207         '204':
208           description: Job deleted
209           schema:
210             type: object
211         '401':
212           description: Unauthorized
213         '403':
214           description: Forbidden
215         '404':
216           description: Enrichment Information type or job is not found
217           schema:
218             $ref: '#/definitions/error_information'
219       deprecated: false
220   '/A1-EI/v1/eitypes/{eiTypeId}/eijobs/{eiJobId}/status':
221     get:
222       tags:
223         - A1-E Enrichment Data Consumer API
224       summary: EI Job status
225       operationId: getEiJobStatusUsingGET
226       produces:
227         - application/json
228       parameters:
229         - name: eiJobId
230           in: path
231           description: eiJobId
232           required: true
233           type: string
234         - name: eiTypeId
235           in: path
236           description: eiTypeId
237           required: true
238           type: string
239       responses:
240         '200':
241           description: EI Job status
242           schema:
243             $ref: '#/definitions/ei_job_status'
244         '401':
245           description: Unauthorized
246         '403':
247           description: Forbidden
248         '404':
249           description: Enrichment Information type or job is not found
250           schema:
251             $ref: '#/definitions/error_information'
252       deprecated: false
253   /ei-producer/v1/eiproducers:
254     get:
255       tags:
256         - Enrichment Data Producer API
257       summary: Query EI producer identifiers
258       description: DETAILS TBD
259       operationId: getEiProducerIdentifiersUsingGET
260       produces:
261         - application/json
262       responses:
263         '200':
264           description: EI producer identifiers
265           schema:
266             type: array
267             items:
268               type: string
269         '401':
270           description: Unauthorized
271         '403':
272           description: Forbidden
273         '404':
274           description: Not Found
275       deprecated: false
276   '/ei-producer/v1/eiproducers/{eiProducerId}':
277     get:
278       tags:
279         - Enrichment Data Producer API
280       summary: Job definition for an individual EI producer
281       description: Query EI jobs
282       operationId: getEiProducerUsingGET
283       produces:
284         - application/json
285       parameters:
286         - name: eiProducerId
287           in: path
288           description: eiProducerId
289           required: true
290           type: string
291       responses:
292         '200':
293           description: EI Jobs
294           schema:
295             $ref: '#/definitions/producer_ei_type_info'
296         '401':
297           description: Unauthorized
298         '403':
299           description: Forbidden
300         '404':
301           description: Enrichment Information producer is not found
302           schema:
303             $ref: '#/definitions/error_information'
304       deprecated: false
305     put:
306       tags:
307         - Enrichment Data Producer API
308       summary: Definitions for an individual EI producer
309       description: Put EI producer
310       operationId: putEiProducerUsingPUT
311       consumes:
312         - application/json
313       produces:
314         - application/json
315       parameters:
316         - name: eiProducerId
317           in: path
318           description: eiProducerId
319           required: true
320           type: string
321         - in: body
322           name: registrationInfo
323           description: registrationInfo
324           required: true
325           schema:
326             $ref: '#/definitions/producer_registration_info'
327       responses:
328         '200':
329           description: Producer updated
330           schema:
331             type: object
332         '201':
333           description: Producer created
334           schema:
335             type: object
336         '401':
337           description: Unauthorized
338         '403':
339           description: Forbidden
340         '404':
341           description: Not Found
342       deprecated: false
343     delete:
344       tags:
345         - Enrichment Data Producer API
346       summary: Individual EI Producer
347       description: Delete an EI Producer
348       operationId: deleteEiProducerUsingDELETE
349       produces:
350         - application/json
351       parameters:
352         - name: eiProducerId
353           in: path
354           description: eiProducerId
355           required: true
356           type: string
357       responses:
358         '200':
359           description: Not used
360           schema:
361             type: object
362         '204':
363           description: Producer deleted
364           schema:
365             type: object
366         '401':
367           description: Unauthorized
368         '403':
369           description: Forbidden
370         '404':
371           description: Producer is not found
372           schema:
373             $ref: '#/definitions/error_information'
374       deprecated: false
375   '/ei-producer/v1/eiproducers/{eiProducerId}/eijobs':
376     get:
377       tags:
378         - Enrichment Data Producer API
379       summary: Job definition for an individual EI producer
380       description: Query EI producer jobs
381       operationId: getEiProducerJobsUsingGET
382       produces:
383         - application/json
384       parameters:
385         - name: eiProducerId
386           in: path
387           description: eiProducerId
388           required: true
389           type: string
390       responses:
391         '200':
392           description: EI jobs
393           schema:
394             type: array
395             items:
396               $ref: '#/definitions/producer_ei_job_request'
397         '401':
398           description: Unauthorized
399         '403':
400           description: Forbidden
401         '404':
402           description: Enrichment Information producer is not found
403           schema:
404             $ref: '#/definitions/error_information'
405       deprecated: false
406   /ei-producer/v1/eitypes:
407     get:
408       tags:
409         - Enrichment Data Producer API
410       summary: Query EI type identifiers
411       description: DETAILS TBD
412       operationId: getEiTypeIdentifiersUsingGET_1
413       produces:
414         - application/json
415       responses:
416         '200':
417           description: EI type identifiers
418           schema:
419             type: array
420             items:
421               type: string
422         '401':
423           description: Unauthorized
424         '403':
425           description: Forbidden
426         '404':
427           description: Not Found
428       deprecated: false
429   '/ei-producer/v1/eitypes/{eiTypeId}':
430     get:
431       tags:
432         - Enrichment Data Producer API
433       summary: Definitions for an individual EI Type
434       description: Query EI type
435       operationId: getEiTypeUsingGET_1
436       produces:
437         - application/json
438       parameters:
439         - name: eiTypeId
440           in: path
441           description: eiTypeId
442           required: true
443           type: string
444       responses:
445         '200':
446           description: EI type
447           schema:
448             $ref: '#/definitions/producer_ei_type_info'
449         '401':
450           description: Unauthorized
451         '403':
452           description: Forbidden
453         '404':
454           description: Enrichment Information type is not found
455           schema:
456             $ref: '#/definitions/error_information'
457       deprecated: false
458   /producer_simulator/job_created:
459     post:
460       tags:
461         - Producer Simulator
462       summary: Callback for job creation
463       operationId: jobCreatedCallbackUsingPOST
464       consumes:
465         - application/json
466       produces:
467         - application/json
468       parameters:
469         - in: body
470           name: request
471           description: request
472           required: true
473           schema:
474             $ref: '#/definitions/producer_ei_job_request'
475       responses:
476         '200':
477           description: OK
478           schema:
479             type: object
480         '201':
481           description: Created
482         '401':
483           description: Unauthorized
484         '403':
485           description: Forbidden
486         '404':
487           description: Not Found
488       deprecated: false
489   /producer_simulator/job_deleted:
490     post:
491       tags:
492         - Producer Simulator
493       summary: Callback for job deletion
494       operationId: jobDeletedCallbackUsingPOST
495       consumes:
496         - application/json
497       produces:
498         - application/json
499       parameters:
500         - in: body
501           name: request
502           description: request
503           required: true
504           schema:
505             $ref: '#/definitions/producer_ei_job_request'
506       responses:
507         '200':
508           description: OK
509           schema:
510             type: object
511         '201':
512           description: Created
513         '401':
514           description: Unauthorized
515         '403':
516           description: Forbidden
517         '404':
518           description: Not Found
519       deprecated: false
520 definitions:
521   ei_job_info:
522     type: object
523     required:
524       - job_data
525       - owner
526     properties:
527       job_data:
528         type: object
529         description: EI Type specific job data
530       owner:
531         type: string
532         description: Identity of the owner of the job
533     title: ei_job_info
534     description: Information for a Enrichment Information Job
535   ei_job_status:
536     type: object
537     required:
538       - operational_state
539     properties:
540       operational_state:
541         type: string
542         description: |-
543           Operational state, values: 
544           ENABLED: TBD 
545           DISABLED: TBD.
546         enum:
547           - ENABLED
548           - DISABLED
549     title: ei_job_status
550     description: Status for an EI Job
551   ei_type_info:
552     type: object
553     properties:
554       job_data_schema:
555         type: object
556         description: Json schema for the job data
557     title: ei_type_info
558     description: Information for an EI type
559   error_information:
560     type: object
561     properties:
562       detail:
563         type: string
564         example: EI job type not found
565         description: ' A human-readable explanation specific to this occurrence of the problem.'
566       status:
567         type: integer
568         format: int32
569         example: 503
570         description: 'The HTTP status code generated by the origin server for this occurrence of the problem. '
571     title: error_information
572     description: 'Problem as defined in https://tools.ietf.org/html/rfc7807'
573   producer_ei_job_request:
574     type: object
575     required:
576       - identity
577     properties:
578       identity:
579         type: string
580         description: Json for the job data
581       job_data:
582         type: object
583         description: Json for the job data
584       type_identity:
585         type: string
586         description: Type idenitity for the job
587     title: producer_ei_job_request
588     description: Information EI job start
589   producer_ei_type_info:
590     type: object
591     properties:
592       job_data_schema:
593         type: object
594         description: Json schema for the job data
595       producer_ids:
596         type: array
597         description: Registered producers
598         items:
599           type: string
600     title: producer_ei_type_info
601     description: Information for an EI type
602   producer_ei_type_registration_info:
603     type: object
604     required:
605       - ei_type_identity
606     properties:
607       ei_type_identity:
608         type: string
609         description: EI type identity
610       job_data_schema:
611         type: object
612         description: Json schema for the job data
613     title: producer_ei_type_registration_info
614     description: Information for an EI type
615   producer_registration_info:
616     type: object
617     required:
618       - job_creation_callback_url
619       - job_deletion_callback_url
620       - supported_ei_types
621     properties:
622       job_creation_callback_url:
623         type: string
624         description: callback for job creation
625       job_deletion_callback_url:
626         type: string
627         description: callback for job deletion
628       supported_ei_types:
629         type: array
630         description: Supported EI types
631         items:
632           $ref: '#/definitions/producer_ei_type_registration_info'
633     title: producer_registration_info
634     description: Information for an EI Producer
635