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