00935a8a69234a2cc7b9517e270a52cc728c6b7d
[nonrtric/plt/a1policymanagementservice.git] / api / pms-api.json
1 {
2   "openapi" : "3.0.3",
3   "info" : {
4     "title" : "A1 Policy Management Service",
5     "description" : "<h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides a REST API for managemecnt of A1 policies. <br/>The main tasks of the service are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining a view of supported Near-RT RIC policy types</li><li>Supervision of using services (R-APPs). When a service is unavailable, its policies are removed.</li></ul><h2>APIs provided or defined by the service</h2><h3>A1 Policy Management</h3><p>This is an API for management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.</p><h3>Service callbacks</h3><p>These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service Registry and Supervision</h3><p>API used for registering services that uses PMS. Each A1 policy is optionally owned by a service. PMS can supervise each registered service by a heart-beat supervision and will automatically remove policies for unavailable services. Note that a service does not need to be registered in order to create A1 Policies. This is a feature that is optional to use.</p><h3>Authorization API</h3><p>API used for access control of A1 Policy access. If configured, an external authorization provider is requested to grant access to the A1 Policy type.</p><h3>Spring Boot Actuator</h3><p>Provides generic functions  used to monitor and manage the Spring web application.</p>",
6     "contact" : {
7       "url" : "https://www.onap.org/",
8       "email" : "discuss-list@onap.com"
9     },
10     "license" : {
11       "name" : "Copyright (C) 2020-2023 Nordix Foundation. Licensed under the Apache License.",
12       "url" : "http://www.apache.org/licenses/LICENSE-2.0"
13     },
14     "version" : "1.3.0",
15     "x-api-id" : "a31c510b-20e6-4a08-af16-368c44d7fba8",
16     "x-audience" : "external-public"
17   },
18   "servers" : [ {
19     "url" : "/"
20   } ],
21   "tags" : [ {
22     "name" : "A1 Policy Management",
23     "description" : "API used to create polices, Policy Instances and get them as individual using an ID or get all policies/Instances."
24   }, {
25     "name" : "NearRT-RIC Repository",
26     "description" : "API used to get the NearRT-RIC for the managed element."
27   }, {
28     "name" : "Service Registry and Supervision",
29     "description" : "API used to keep the service Alive with in the timeout period"
30   }, {
31     "name" : "Health Check",
32     "description" : "API used to get the health status and statistics of this service"
33   }, {
34     "name" : "Service callbacks"
35   }, {
36     "name" : "Authorization API",
37     "description" : "API used for authorization of information A1 policy access (this is provided by an authorization producer such as OPA). <br> Note that this API is called by PMS, it is not provided."
38   }, {
39     "name" : "Configuration",
40     "description" : "API used to create or fetch the application configuration."
41   }, {
42     "name" : "Actuator",
43     "description" : "Monitor and interact",
44     "externalDocs" : {
45       "description" : "Spring Boot Actuator Web API Documentation",
46       "url" : "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"
47     }
48   } ],
49   "paths" : {
50     "/a1-policy/v2/policy-instances" : {
51       "get" : {
52         "tags" : [ "A1 Policy Management" ],
53         "summary" : "Query for A1 policy instances",
54         "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
55         "operationId" : "getPolicyInstances",
56         "parameters" : [ {
57           "name" : "policytype_id",
58           "in" : "query",
59           "description" : "Select policies with a given type identity.",
60           "required" : false,
61           "style" : "form",
62           "explode" : true,
63           "schema" : {
64             "type" : "string"
65           }
66         }, {
67           "name" : "ric_id",
68           "in" : "query",
69           "description" : "Select policies for a given Near-RT RIC identity.",
70           "required" : false,
71           "style" : "form",
72           "explode" : true,
73           "schema" : {
74             "type" : "string"
75           }
76         }, {
77           "name" : "service_id",
78           "in" : "query",
79           "description" : "Select policies owned by a given service.",
80           "required" : false,
81           "style" : "form",
82           "explode" : true,
83           "schema" : {
84             "type" : "string"
85           }
86         }, {
87           "name" : "type_name",
88           "in" : "query",
89           "description" : "Select policies of a given type name (type identity has the format <typename_version>)",
90           "required" : false,
91           "style" : "form",
92           "explode" : true,
93           "schema" : {
94             "type" : "string"
95           }
96         } ],
97         "responses" : {
98           "200" : {
99             "description" : "OK - Returns A1 Policies which matches the criteria",
100             "content" : {
101               "application/json" : {
102                 "schema" : {
103                   "$ref" : "#/components/schemas/policy_info_list"
104                 },
105                 "examples" : {
106                   "policy_info_list" : {
107                     "$ref" : "#/components/examples/policy_info_list"
108                   }
109                 }
110               }
111             }
112           },
113           "404" : {
114             "description" : "Not Found - Near-RT RIC, policy type or service not found",
115             "content" : {
116               "application/json" : {
117                 "schema" : {
118                   "$ref" : "#/components/schemas/error_information"
119                 }
120               }
121             }
122           }
123         }
124       }
125     },
126     "/example-authz-check" : {
127       "post" : {
128         "tags" : [ "Authorization API" ],
129         "summary" : "Request for access authorization.",
130         "description" : "The authorization function decides if access is granted.",
131         "operationId" : "performAccessControl",
132         "requestBody" : {
133           "content" : {
134             "application/json" : {
135               "schema" : {
136                 "$ref" : "#/components/schemas/policy_authorization"
137               }
138             }
139           },
140           "required" : true
141         },
142         "responses" : {
143           "200" : {
144             "description" : "OK",
145             "content" : {
146               "application/json" : {
147                 "schema" : {
148                   "$ref" : "#/components/schemas/authorization_result"
149                 }
150               }
151             }
152           },
153           "403" : {
154             "description" : "Forbidden",
155             "content" : {
156               "application/problem+json" : {
157                 "schema" : {
158                   "$ref" : "#/components/schemas/error_information"
159                 },
160                 "example" : {
161                   "status" : 403,
162                   "title" : "Forbidden",
163                   "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights."
164                 }
165               }
166             }
167           }
168         }
169       }
170     },
171     "/actuator/threaddump" : {
172       "get" : {
173         "tags" : [ "Actuator" ],
174         "summary" : "Actuator web endpoint 'threaddump'",
175         "operationId" : "threaddump",
176         "responses" : {
177           "200" : {
178             "description" : "OK",
179             "content" : {
180               "text/plain;charset=UTF-8" : {
181                 "schema" : {
182                   "type" : "object"
183                 }
184               },
185               "application/vnd.spring-boot.actuator.v3+json" : {
186                 "schema" : {
187                   "type" : "object"
188                 }
189               },
190               "application/json" : {
191                 "schema" : {
192                   "type" : "object"
193                 }
194               },
195               "application/vnd.spring-boot.actuator.v2+json" : {
196                 "schema" : {
197                   "type" : "object"
198                 }
199               }
200             }
201           }
202         },
203         "x-internal" : true
204       }
205     },
206     "/a1-policy/v2/status" : {
207       "get" : {
208         "tags" : [ "Health Check" ],
209         "description" : "Returns status and statistics of this service",
210         "operationId" : "getStatus",
211         "responses" : {
212           "200" : {
213             "description" : "OK- Service is living Ok",
214             "content" : {
215               "application/json" : {
216                 "schema" : {
217                   "$ref" : "#/components/schemas/status_info"
218                 },
219                 "examples" : {
220                   "status_info" : {
221                     "$ref" : "#/components/examples/status_info"
222                   }
223                 }
224               }
225             }
226           }
227         }
228       }
229     },
230     "/actuator/loggers" : {
231       "get" : {
232         "tags" : [ "Actuator" ],
233         "summary" : "Actuator web endpoint 'loggers'",
234         "operationId" : "loggers",
235         "responses" : {
236           "200" : {
237             "description" : "OK",
238             "content" : {
239               "application/vnd.spring-boot.actuator.v3+json" : {
240                 "schema" : {
241                   "type" : "object"
242                 }
243               },
244               "application/json" : {
245                 "schema" : {
246                   "type" : "object"
247                 }
248               },
249               "application/vnd.spring-boot.actuator.v2+json" : {
250                 "schema" : {
251                   "type" : "object"
252                 }
253               }
254             }
255           }
256         },
257         "x-internal" : true
258       }
259     },
260     "/actuator/health/**" : {
261       "get" : {
262         "tags" : [ "Actuator" ],
263         "summary" : "Actuator web endpoint 'health-path'",
264         "operationId" : "health-path",
265         "responses" : {
266           "200" : {
267             "description" : "OK",
268             "content" : {
269               "application/vnd.spring-boot.actuator.v3+json" : {
270                 "schema" : {
271                   "type" : "object"
272                 }
273               },
274               "application/json" : {
275                 "schema" : {
276                   "type" : "object"
277                 }
278               },
279               "application/vnd.spring-boot.actuator.v2+json" : {
280                 "schema" : {
281                   "type" : "object"
282                 }
283               }
284             }
285           }
286         },
287         "x-internal" : true
288       }
289     },
290     "/a1-policy/v2/rics/ric" : {
291       "get" : {
292         "tags" : [ "NearRT-RIC Repository" ],
293         "summary" : "Returns info of Near-RT RIC queried by the ric-id and managed-element-id",
294         "description" : "Either a Near-RT RIC identity or a Managed Element identity can be specified.<br>The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).",
295         "operationId" : "getRic",
296         "parameters" : [ {
297           "name" : "managed_element_id",
298           "in" : "query",
299           "description" : "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
300           "required" : false,
301           "style" : "form",
302           "explode" : true,
303           "schema" : {
304             "type" : "string"
305           }
306         }, {
307           "name" : "ric_id",
308           "in" : "query",
309           "description" : "The identity of a Near-RT RIC to get information for.",
310           "required" : false,
311           "style" : "form",
312           "explode" : true,
313           "schema" : {
314             "type" : "string"
315           }
316         } ],
317         "responses" : {
318           "200" : {
319             "description" : "OK - Near-RT RIC is found",
320             "content" : {
321               "application/json" : {
322                 "schema" : {
323                   "$ref" : "#/components/schemas/ric_info"
324                 },
325                 "examples" : {
326                   "ric_info" : {
327                     "$ref" : "#/components/examples/ric_info"
328                   }
329                 }
330               }
331             }
332           },
333           "404" : {
334             "description" : "Not Found",
335             "content" : {
336               "application/problem+json" : {
337                 "example" : [ ]
338               }
339             }
340           }
341         }
342       }
343     },
344     "/actuator/shutdown" : {
345       "post" : {
346         "tags" : [ "Actuator" ],
347         "summary" : "Actuator web endpoint 'shutdown'",
348         "operationId" : "shutdown",
349         "responses" : {
350           "200" : {
351             "description" : "OK",
352             "content" : {
353               "application/vnd.spring-boot.actuator.v3+json" : {
354                 "schema" : {
355                   "type" : "object"
356                 }
357               },
358               "application/json" : {
359                 "schema" : {
360                   "type" : "object"
361                 }
362               },
363               "application/vnd.spring-boot.actuator.v2+json" : {
364                 "schema" : {
365                   "type" : "object"
366                 }
367               }
368             }
369           }
370         },
371         "x-internal" : true
372       }
373     },
374     "/a1-policy/v2/policy-types" : {
375       "get" : {
376         "tags" : [ "A1 Policy Management" ],
377         "description" : "Query policy type identities",
378         "operationId" : "getPolicyTypes",
379         "parameters" : [ {
380           "name" : "ric_id",
381           "in" : "query",
382           "description" : "Select types for the given Near-RT RIC identity.",
383           "required" : false,
384           "style" : "form",
385           "explode" : true,
386           "schema" : {
387             "type" : "string"
388           }
389         }, {
390           "name" : "type_name",
391           "in" : "query",
392           "description" : "Select types with the given type name (type identity has the format <typename_version>)",
393           "required" : false,
394           "style" : "form",
395           "explode" : true,
396           "schema" : {
397             "type" : "string"
398           }
399         }, {
400           "name" : "compatible_with_version",
401           "in" : "query",
402           "description" : "Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.",
403           "required" : false,
404           "style" : "form",
405           "explode" : true,
406           "schema" : {
407             "type" : "string"
408           }
409         } ],
410         "responses" : {
411           "200" : {
412             "description" : "OK - Policy Type IDs Found",
413             "content" : {
414               "application/json" : {
415                 "schema" : {
416                   "$ref" : "#/components/schemas/policy_type_id_list"
417                 },
418                 "examples" : {
419                   "policy_type_id_list" : {
420                     "$ref" : "#/components/examples/policy_type_id_list"
421                   }
422                 }
423               }
424             }
425           },
426           "404" : {
427             "description" : "Not Found",
428             "content" : {
429               "application/problem+json" : {
430                 "example" : [ ]
431               }
432             }
433           }
434         }
435       }
436     },
437     "/a1-policy/v2/policies/{policy_id}" : {
438       "get" : {
439         "tags" : [ "A1 Policy Management" ],
440         "description" : "Returns a policy",
441         "operationId" : "getPolicy",
442         "parameters" : [ {
443           "name" : "policy_id",
444           "in" : "path",
445           "required" : true,
446           "style" : "simple",
447           "explode" : false,
448           "schema" : {
449             "type" : "string"
450           }
451         } ],
452         "responses" : {
453           "200" : {
454             "description" : "OK - Policy found",
455             "content" : {
456               "application/json" : {
457                 "schema" : {
458                   "$ref" : "#/components/schemas/policy_info"
459                 },
460                 "examples" : {
461                   "policy_info" : {
462                     "$ref" : "#/components/examples/policy_info"
463                   }
464                 }
465               }
466             }
467           },
468           "404" : {
469             "description" : "Not Found",
470             "content" : {
471               "application/problem+json" : {
472                 "example" : [ ]
473               }
474             }
475           }
476         }
477       },
478       "delete" : {
479         "tags" : [ "A1 Policy Management" ],
480         "summary" : "Delete a policy",
481         "description" : "Deleting the policy using the Policy's Policy ID.",
482         "operationId" : "deletePolicy",
483         "parameters" : [ {
484           "name" : "policy_id",
485           "in" : "path",
486           "required" : true,
487           "style" : "simple",
488           "explode" : false,
489           "schema" : {
490             "type" : "string"
491           }
492         } ],
493         "responses" : {
494           "200" : {
495             "description" : "OK - Policy deleted",
496             "content" : {
497               "*/*" : {
498                 "schema" : {
499                   "$ref" : "#/components/schemas/void"
500                 }
501               }
502             }
503           },
504           "423" : {
505             "description" : "Locked - HTTP Status code which can be used when the state is Locked",
506             "content" : {
507               "application/problem+json" : {
508                 "schema" : {
509                   "$ref" : "#/components/schemas/error_information"
510                 },
511                 "example" : {
512                   "status" : 423,
513                   "title" : "Locked",
514                   "detail" : "Requested resource is in a locked state."
515                 }
516               }
517             }
518           }
519         }
520       }
521     },
522     "/actuator/metrics/{requiredMetricName}" : {
523       "get" : {
524         "tags" : [ "Actuator" ],
525         "summary" : "Actuator web endpoint 'metrics-requiredMetricName'",
526         "operationId" : "metrics-requiredMetricName",
527         "parameters" : [ {
528           "name" : "requiredMetricName",
529           "in" : "path",
530           "required" : true,
531           "style" : "simple",
532           "explode" : false,
533           "schema" : {
534             "type" : "string"
535           }
536         } ],
537         "responses" : {
538           "200" : {
539             "description" : "OK",
540             "content" : {
541               "application/vnd.spring-boot.actuator.v3+json" : {
542                 "schema" : {
543                   "type" : "object"
544                 }
545               },
546               "application/json" : {
547                 "schema" : {
548                   "type" : "object"
549                 }
550               },
551               "application/vnd.spring-boot.actuator.v2+json" : {
552                 "schema" : {
553                   "type" : "object"
554                 }
555               }
556             }
557           }
558         },
559         "x-internal" : true
560       }
561     },
562     "/a1-policy/v2/configuration" : {
563       "get" : {
564         "tags" : [ "Configuration" ],
565         "description" : "Returns the contents of the application configuration file",
566         "operationId" : "getConfiguration",
567         "responses" : {
568           "200" : {
569             "description" : "OK - Configuration",
570             "content" : {
571               "application/json" : {
572                 "schema" : {
573                   "type" : "string"
574                 }
575               }
576             }
577           },
578           "404" : {
579             "description" : "Not Found",
580             "content" : {
581               "application/problem+json" : {
582                 "example" : [ ]
583               }
584             }
585           }
586         },
587         "x-internal" : true
588       },
589       "put" : {
590         "tags" : [ "Configuration" ],
591         "description" : "Replace the current configuration with the given configuration",
592         "operationId" : "putConfiguration",
593         "requestBody" : {
594           "content" : {
595             "application/json" : {
596               "schema" : {
597                 "type" : "object"
598               }
599             }
600           },
601           "required" : true
602         },
603         "responses" : {
604           "200" : {
605             "description" : "OK - Configuration updated",
606             "content" : {
607               "*/*" : {
608                 "schema" : {
609                   "$ref" : "#/components/schemas/void"
610                 }
611               }
612             }
613           },
614           "400" : {
615             "description" : "Bad Request",
616             "content" : {
617               "application/problem+json" : {
618                 "schema" : {
619                   "$ref" : "#/components/schemas/error_information"
620                 },
621                 "example" : {
622                   "status" : 400,
623                   "title" : "Bad Request",
624                   "detail" : "The provided request is not valid."
625                 }
626               }
627             }
628           }
629         },
630         "x-internal" : true
631       }
632     },
633     "/actuator" : {
634       "get" : {
635         "tags" : [ "Actuator" ],
636         "summary" : "Actuator root web endpoint",
637         "operationId" : "links",
638         "responses" : {
639           "200" : {
640             "description" : "OK",
641             "content" : {
642               "application/vnd.spring-boot.actuator.v3+json" : {
643                 "schema" : {
644                   "type" : "object",
645                   "additionalProperties" : {
646                     "type" : "object",
647                     "additionalProperties" : {
648                       "$ref" : "#/components/schemas/Link"
649                     }
650                   }
651                 }
652               },
653               "application/json" : {
654                 "schema" : {
655                   "type" : "object",
656                   "additionalProperties" : {
657                     "type" : "object",
658                     "additionalProperties" : {
659                       "$ref" : "#/components/schemas/Link"
660                     }
661                   }
662                 }
663               },
664               "application/vnd.spring-boot.actuator.v2+json" : {
665                 "schema" : {
666                   "type" : "object",
667                   "additionalProperties" : {
668                     "type" : "object",
669                     "additionalProperties" : {
670                       "$ref" : "#/components/schemas/Link"
671                     }
672                   }
673                 }
674               }
675             }
676           }
677         },
678         "x-internal" : true
679       }
680     },
681     "/actuator/loggers/{name}" : {
682       "get" : {
683         "tags" : [ "Actuator" ],
684         "summary" : "Actuator web endpoint 'loggers-name'",
685         "operationId" : "loggers-name",
686         "parameters" : [ {
687           "name" : "name",
688           "in" : "path",
689           "required" : true,
690           "style" : "simple",
691           "explode" : false,
692           "schema" : {
693             "type" : "string"
694           }
695         } ],
696         "responses" : {
697           "200" : {
698             "description" : "OK",
699             "content" : {
700               "application/vnd.spring-boot.actuator.v3+json" : {
701                 "schema" : {
702                   "type" : "object"
703                 }
704               },
705               "application/json" : {
706                 "schema" : {
707                   "type" : "object"
708                 }
709               },
710               "application/vnd.spring-boot.actuator.v2+json" : {
711                 "schema" : {
712                   "type" : "object"
713                 }
714               }
715             }
716           }
717         },
718         "x-internal" : true
719       },
720       "post" : {
721         "tags" : [ "Actuator" ],
722         "summary" : "Actuator web endpoint 'loggers-name'",
723         "operationId" : "loggers-name_2",
724         "parameters" : [ {
725           "name" : "name",
726           "in" : "path",
727           "required" : true,
728           "style" : "simple",
729           "explode" : false,
730           "schema" : {
731             "type" : "string"
732           }
733         } ],
734         "requestBody" : {
735           "content" : {
736             "application/json" : {
737               "schema" : {
738                 "type" : "string",
739                 "enum" : [ "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "OFF" ]
740               }
741             }
742           }
743         },
744         "responses" : {
745           "200" : {
746             "description" : "OK",
747             "content" : {
748               "*/*" : {
749                 "schema" : {
750                   "type" : "object"
751                 }
752               }
753             }
754           }
755         },
756         "x-internal" : true
757       }
758     },
759     "/a1-policy/v2/services/{service_id}/keepalive" : {
760       "put" : {
761         "tags" : [ "Service Registry and Supervision" ],
762         "summary" : "Heartbeat indicates that the service is running",
763         "description" : "A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke this operation before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. (This timeout can be set or disabled when each service is initially registered)",
764         "operationId" : "keepAliveService",
765         "parameters" : [ {
766           "name" : "service_id",
767           "in" : "path",
768           "required" : true,
769           "style" : "simple",
770           "explode" : false,
771           "schema" : {
772             "type" : "string"
773           }
774         } ],
775         "responses" : {
776           "200" : {
777             "description" : "OK - Service supervision timer refreshed, OK",
778             "content" : {
779               "*/*" : {
780                 "schema" : {
781                   "type" : "object"
782                 }
783               }
784             }
785           },
786           "404" : {
787             "description" : "Not Found",
788             "content" : {
789               "application/problem+json" : {
790                 "example" : [ ]
791               }
792             }
793           }
794         }
795       }
796     },
797     "/actuator/metrics" : {
798       "get" : {
799         "tags" : [ "Actuator" ],
800         "summary" : "Actuator web endpoint 'metrics'",
801         "operationId" : "metrics",
802         "responses" : {
803           "200" : {
804             "description" : "OK",
805             "content" : {
806               "application/vnd.spring-boot.actuator.v3+json" : {
807                 "schema" : {
808                   "type" : "object"
809                 }
810               },
811               "application/json" : {
812                 "schema" : {
813                   "type" : "object"
814                 }
815               },
816               "application/vnd.spring-boot.actuator.v2+json" : {
817                 "schema" : {
818                   "type" : "object"
819                 }
820               }
821             }
822           }
823         },
824         "x-internal" : true
825       }
826     },
827     "/a1-policy/v2/rics" : {
828       "get" : {
829         "tags" : [ "NearRT-RIC Repository" ],
830         "summary" : "Query Near-RT RIC information",
831         "description" : "The call returns all Near-RT RICs that supports a given policy type identity",
832         "operationId" : "getRics",
833         "parameters" : [ {
834           "name" : "policytype_id",
835           "in" : "query",
836           "description" : "The identity of a policy type. If given, all Near-RT RICs supporting the policy type are returned",
837           "required" : false,
838           "style" : "form",
839           "explode" : true,
840           "schema" : {
841             "type" : "string"
842           }
843         } ],
844         "responses" : {
845           "200" : {
846             "description" : "OK",
847             "content" : {
848               "application/json" : {
849                 "schema" : {
850                   "$ref" : "#/components/schemas/ric_info_list"
851                 },
852                 "examples" : {
853                   "ric_info_list" : {
854                     "$ref" : "#/components/examples/ric_info_list"
855                   }
856                 }
857               }
858             }
859           },
860           "404" : {
861             "description" : "Not Found",
862             "content" : {
863               "application/problem+json" : {
864                 "example" : [ ]
865               }
866             }
867           }
868         }
869       }
870     },
871     "/a1-policy/v2/services" : {
872       "get" : {
873         "tags" : [ "Service Registry and Supervision" ],
874         "summary" : "Returns service information",
875         "description" : "Either information about a registered service with given identity or all registered services are returned.",
876         "operationId" : "getServices",
877         "parameters" : [ {
878           "name" : "service_id",
879           "in" : "query",
880           "description" : "The identity of the service",
881           "required" : false,
882           "style" : "form",
883           "explode" : true,
884           "schema" : {
885             "type" : "string"
886           }
887         } ],
888         "responses" : {
889           "200" : {
890             "description" : "OK",
891             "content" : {
892               "application/json" : {
893                 "schema" : {
894                   "$ref" : "#/components/schemas/service_status_list"
895                 },
896                 "examples" : {
897                   "service_status_list" : {
898                     "$ref" : "#/components/examples/service_status_list"
899                   }
900                 }
901               }
902             }
903           },
904           "404" : {
905             "description" : "Not Found",
906             "content" : {
907               "application/problem+json" : {
908                 "example" : [ ]
909               }
910             }
911           }
912         }
913       },
914       "put" : {
915         "tags" : [ "Service Registry and Supervision" ],
916         "summary" : "Register a service",
917         "description" : "Registering a service is needed to:<ul><li>Get callbacks about available NearRT RICs.</li><li>Activate supervision of the service. If a service is inactive, its policies will automatically be deleted.</li></ul>Policies can be created even if the service is not registerred. This is a feature which it is optional to use.",
918         "operationId" : "putService",
919         "requestBody" : {
920           "content" : {
921             "application/json" : {
922               "schema" : {
923                 "$ref" : "#/components/schemas/service_registration_info"
924               }
925             }
926           },
927           "required" : true
928         },
929         "responses" : {
930           "200" : {
931             "description" : "OK - Service updated",
932             "content" : {
933               "*/*" : {
934                 "schema" : {
935                   "type" : "object"
936                 }
937               }
938             }
939           },
940           "201" : {
941             "description" : "Created - Service created",
942             "content" : {
943               "*/*" : {
944                 "schema" : {
945                   "type" : "object"
946                 }
947               }
948             }
949           },
950           "400" : {
951             "description" : "Bad Request",
952             "content" : {
953               "application/problem+json" : {
954                 "schema" : {
955                   "$ref" : "#/components/schemas/error_information"
956                 },
957                 "example" : {
958                   "status" : 400,
959                   "title" : "Bad Request",
960                   "detail" : "The provided request is not valid."
961                 }
962               }
963             }
964           }
965         },
966         "callbacks" : {
967           "RICStatus" : {
968             "{$request.body#/callback_url}" : {
969               "post" : {
970                 "tags" : [ "Service callbacks" ],
971                 "summary" : "Callback for Near-RT RIC status",
972                 "description" : "The URL to this call is registered at Service registration.",
973                 "operationId" : "serviceCallback",
974                 "requestBody" : {
975                   "content" : {
976                     "application/json" : {
977                       "schema" : {
978                         "$ref" : "#/components/schemas/service_callback_info_v2"
979                       }
980                     }
981                   },
982                   "required" : true
983                 },
984                 "responses" : {
985                   "200" : {
986                     "description" : "OK",
987                     "content" : {
988                       "application/json" : {
989                         "schema" : {
990                           "$ref" : "#/components/schemas/void"
991                         }
992                       }
993                     }
994                   },
995                   "404" : {
996                     "description" : "Not Found",
997                     "content" : {
998                       "application/problem+json" : {
999                         "example" : [ ]
1000                       }
1001                     }
1002                   }
1003                 }
1004               }
1005             }
1006           }
1007         }
1008       }
1009     },
1010     "/actuator/info" : {
1011       "get" : {
1012         "tags" : [ "Actuator" ],
1013         "summary" : "Actuator web endpoint 'info'",
1014         "operationId" : "info",
1015         "responses" : {
1016           "200" : {
1017             "description" : "OK",
1018             "content" : {
1019               "application/vnd.spring-boot.actuator.v3+json" : {
1020                 "schema" : {
1021                   "type" : "object"
1022                 }
1023               },
1024               "application/json" : {
1025                 "schema" : {
1026                   "type" : "object"
1027                 }
1028               },
1029               "application/vnd.spring-boot.actuator.v2+json" : {
1030                 "schema" : {
1031                   "type" : "object"
1032                 }
1033               }
1034             }
1035           }
1036         },
1037         "x-internal" : true
1038       }
1039     },
1040     "/status" : {
1041       "get" : {
1042         "tags" : [ "Health Check" ],
1043         "description" : "Returns status and statistics of this service",
1044         "operationId" : "getStatusV1",
1045         "responses" : {
1046           "200" : {
1047             "description" : "OK -  Service is living",
1048             "content" : {
1049               "*/*" : {
1050                 "schema" : {
1051                   "type" : "string"
1052                 }
1053               }
1054             }
1055           }
1056         }
1057       }
1058     },
1059     "/a1-policy/v2/policy-types/{policytype_id}" : {
1060       "get" : {
1061         "tags" : [ "A1 Policy Management" ],
1062         "description" : "Returns a policy type definition",
1063         "operationId" : "getPolicyTypeDefinition",
1064         "parameters" : [ {
1065           "name" : "policytype_id",
1066           "in" : "path",
1067           "required" : true,
1068           "style" : "simple",
1069           "explode" : false,
1070           "schema" : {
1071             "type" : "string"
1072           }
1073         } ],
1074         "responses" : {
1075           "200" : {
1076             "description" : "OK - schema of the given policy type",
1077             "content" : {
1078               "application/json" : {
1079                 "schema" : {
1080                   "$ref" : "#/components/schemas/policy_type_definition"
1081                 },
1082                 "examples" : {
1083                   "policy_type_definition" : {
1084                     "$ref" : "#/components/examples/policy_type_definition"
1085                   }
1086                 }
1087               }
1088             }
1089           },
1090           "404" : {
1091             "description" : "Not Found",
1092             "content" : {
1093               "application/problem+json" : {
1094                 "example" : [ ]
1095               }
1096             }
1097           }
1098         }
1099       }
1100     },
1101     "/actuator/logfile" : {
1102       "get" : {
1103         "tags" : [ "Actuator" ],
1104         "summary" : "Actuator web endpoint 'logfile'",
1105         "operationId" : "logfile",
1106         "responses" : {
1107           "200" : {
1108             "description" : "OK",
1109             "content" : {
1110               "text/plain;charset=UTF-8" : {
1111                 "schema" : {
1112                   "type" : "object"
1113                 }
1114               }
1115             }
1116           }
1117         },
1118         "x-internal" : true
1119       }
1120     },
1121     "/actuator/health" : {
1122       "get" : {
1123         "tags" : [ "Actuator" ],
1124         "summary" : "Actuator web endpoint 'health'",
1125         "operationId" : "health",
1126         "responses" : {
1127           "200" : {
1128             "description" : "OK",
1129             "content" : {
1130               "application/vnd.spring-boot.actuator.v3+json" : {
1131                 "schema" : {
1132                   "type" : "object"
1133                 }
1134               },
1135               "application/json" : {
1136                 "schema" : {
1137                   "type" : "object"
1138                 }
1139               },
1140               "application/vnd.spring-boot.actuator.v2+json" : {
1141                 "schema" : {
1142                   "type" : "object"
1143                 }
1144               }
1145             }
1146           }
1147         },
1148         "x-internal" : true
1149       }
1150     },
1151     "/a1-policy/v2/policies" : {
1152       "get" : {
1153         "tags" : [ "A1 Policy Management" ],
1154         "summary" : "Query policy identities",
1155         "description" : "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
1156         "operationId" : "getPolicyIds",
1157         "parameters" : [ {
1158           "name" : "policytype_id",
1159           "in" : "query",
1160           "description" : "Select policies of a given policy type identity.",
1161           "required" : false,
1162           "style" : "form",
1163           "explode" : true,
1164           "schema" : {
1165             "type" : "string"
1166           }
1167         }, {
1168           "name" : "ric_id",
1169           "in" : "query",
1170           "description" : "Select policies of a given Near-RT RIC identity.",
1171           "required" : false,
1172           "style" : "form",
1173           "explode" : true,
1174           "schema" : {
1175             "type" : "string"
1176           }
1177         }, {
1178           "name" : "service_id",
1179           "in" : "query",
1180           "description" : "Select policies owned by a given service.",
1181           "required" : false,
1182           "style" : "form",
1183           "explode" : true,
1184           "schema" : {
1185             "type" : "string"
1186           }
1187         }, {
1188           "name" : "type_name",
1189           "in" : "query",
1190           "description" : "Select policies of types with the given type name (type identity has the format <typename_version>)",
1191           "required" : false,
1192           "style" : "form",
1193           "explode" : true,
1194           "schema" : {
1195             "type" : "string"
1196           }
1197         } ],
1198         "responses" : {
1199           "200" : {
1200             "description" : "OK - Policy identities",
1201             "content" : {
1202               "application/json" : {
1203                 "schema" : {
1204                   "$ref" : "#/components/schemas/policy_id_list"
1205                 },
1206                 "examples" : {
1207                   "policy_id_list" : {
1208                     "$ref" : "#/components/examples/policy_id_list"
1209                   }
1210                 }
1211               }
1212             }
1213           },
1214           "404" : {
1215             "description" : "Not Found",
1216             "content" : {
1217               "application/problem+json" : {
1218                 "example" : [ ]
1219               }
1220             }
1221           }
1222         }
1223       },
1224       "put" : {
1225         "tags" : [ "A1 Policy Management" ],
1226         "description" : "Create or update a policy",
1227         "operationId" : "putPolicy",
1228         "requestBody" : {
1229           "content" : {
1230             "application/json" : {
1231               "schema" : {
1232                 "$ref" : "#/components/schemas/policy_info"
1233               }
1234             }
1235           },
1236           "required" : true
1237         },
1238         "responses" : {
1239           "200" : {
1240             "description" : "OK - Policy updated",
1241             "content" : {
1242               "application/json" : {
1243                 "schema" : {
1244                   "$ref" : "#/components/schemas/void"
1245                 }
1246               }
1247             }
1248           },
1249           "201" : {
1250             "description" : "Created - Policy created",
1251             "content" : {
1252               "application/json" : {
1253                 "schema" : {
1254                   "$ref" : "#/components/schemas/void"
1255                 }
1256               }
1257             }
1258           },
1259           "423" : {
1260             "description" : "Locked - HTTP Status code which can be used when the state is Locked",
1261             "content" : {
1262               "application/problem+json" : {
1263                 "schema" : {
1264                   "$ref" : "#/components/schemas/error_information"
1265                 },
1266                 "example" : {
1267                   "status" : 423,
1268                   "title" : "Locked",
1269                   "detail" : "Requested resource is in a locked state."
1270                 }
1271               }
1272             }
1273           }
1274         }
1275       }
1276     },
1277     "/a1-policy/v2/services/{service_id}" : {
1278       "delete" : {
1279         "tags" : [ "Service Registry and Supervision" ],
1280         "description" : "Unregister a service",
1281         "operationId" : "deleteService",
1282         "parameters" : [ {
1283           "name" : "service_id",
1284           "in" : "path",
1285           "required" : true,
1286           "style" : "simple",
1287           "explode" : false,
1288           "schema" : {
1289             "type" : "string"
1290           }
1291         } ],
1292         "responses" : {
1293           "204" : {
1294             "description" : "No Content - Service unregistered",
1295             "content" : {
1296               "*/*" : {
1297                 "schema" : {
1298                   "type" : "object"
1299                 }
1300               }
1301             }
1302           },
1303           "404" : {
1304             "description" : "Not Found",
1305             "content" : {
1306               "application/problem+json" : {
1307                 "example" : [ ]
1308               }
1309             }
1310           }
1311         }
1312       }
1313     },
1314     "/actuator/heapdump" : {
1315       "get" : {
1316         "tags" : [ "Actuator" ],
1317         "summary" : "Actuator web endpoint 'heapdump'",
1318         "operationId" : "heapdump",
1319         "responses" : {
1320           "200" : {
1321             "description" : "OK",
1322             "content" : {
1323               "application/octet-stream" : {
1324                 "schema" : {
1325                   "type" : "object"
1326                 }
1327               }
1328             }
1329           }
1330         },
1331         "x-internal" : true
1332       }
1333     },
1334     "/a1-policy/v2/policies/{policy_id}/status" : {
1335       "get" : {
1336         "tags" : [ "A1 Policy Management" ],
1337         "description" : "Returns a policy status",
1338         "operationId" : "getPolicyStatus",
1339         "parameters" : [ {
1340           "name" : "policy_id",
1341           "in" : "path",
1342           "required" : true,
1343           "style" : "simple",
1344           "explode" : false,
1345           "schema" : {
1346             "type" : "string"
1347           }
1348         } ],
1349         "responses" : {
1350           "200" : {
1351             "description" : "OK -  Policy status",
1352             "content" : {
1353               "application/json" : {
1354                 "schema" : {
1355                   "$ref" : "#/components/schemas/policy_status_info"
1356                 },
1357                 "examples" : {
1358                   "policy_status_info" : {
1359                     "$ref" : "#/components/examples/policy_status_info"
1360                   }
1361                 }
1362               }
1363             }
1364           },
1365           "404" : {
1366             "description" : "Not Found",
1367             "content" : {
1368               "application/problem+json" : {
1369                 "example" : [ ]
1370               }
1371             }
1372           }
1373         }
1374       }
1375     }
1376   },
1377   "components" : {
1378     "schemas" : {
1379       "policy_type_definition" : {
1380         "type" : "object",
1381         "properties" : {
1382           "policy_schema" : {
1383             "type" : "object",
1384             "description" : "Policy type json schema. The schema is a json object following http://json-schema.org/draft-07/schema"
1385           }
1386         },
1387         "description" : "Contains policy type schema definition"
1388       },
1389       "error_information" : {
1390         "type" : "object",
1391         "properties" : {
1392           "detail" : {
1393             "type" : "string",
1394             "description" : " A human-readable explanation specific to this occurrence of the problem.",
1395             "example" : "Policy type not found"
1396           },
1397           "title" : {
1398             "type" : "string",
1399             "description" : "A specific error name",
1400             "example" : "Not Found"
1401           },
1402           "status" : {
1403             "type" : "integer",
1404             "description" : "The HTTP status code generated by the origin server for this occurrence of the problem. ",
1405             "format" : "int32",
1406             "example" : 404
1407           }
1408         },
1409         "description" : "Problem as defined in https://tools.ietf.org/html/rfc7807"
1410       },
1411       "void" : {
1412         "type" : "object",
1413         "description" : "Void/empty"
1414       },
1415       "status_info" : {
1416         "type" : "object",
1417         "properties" : {
1418           "status" : {
1419             "type" : "string",
1420             "description" : "status text"
1421           }
1422         }
1423       },
1424       "authorization_result" : {
1425         "required" : [ "result" ],
1426         "type" : "object",
1427         "properties" : {
1428           "result" : {
1429             "type" : "boolean",
1430             "description" : "If true, the access is granted"
1431           }
1432         },
1433         "description" : "Result of authorization",
1434         "example" : {
1435           "result" : true
1436         }
1437       },
1438       "ric_info" : {
1439         "type" : "object",
1440         "properties" : {
1441           "ric_id" : {
1442             "type" : "string",
1443             "description" : "identity of the Near-RT RIC"
1444           },
1445           "managed_element_ids" : {
1446             "type" : "array",
1447             "description" : "O1 identities for managed entities",
1448             "items" : {
1449               "type" : "string",
1450               "description" : "O1 identities for managed entities"
1451             }
1452           },
1453           "state" : {
1454             "type" : "string",
1455             "description" : "Represents the states for a Near-RT RIC",
1456             "enum" : [ "UNAVAILABLE", "AVAILABLE", "SYNCHRONIZING", "CONSISTENCY_CHECK" ]
1457           },
1458           "policytype_ids" : {
1459             "type" : "array",
1460             "description" : "supported policy types",
1461             "items" : {
1462               "type" : "string",
1463               "description" : "supported policy types"
1464             }
1465           }
1466         },
1467         "description" : "Information for a Near-RT RIC"
1468       },
1469       "service_registration_info" : {
1470         "required" : [ "service_id" ],
1471         "type" : "object",
1472         "properties" : {
1473           "callback_url" : {
1474             "type" : "string",
1475             "description" : "callback for notifying of Near-RT RIC state changes"
1476           },
1477           "service_id" : {
1478             "type" : "string",
1479             "description" : "identity of the service"
1480           },
1481           "keep_alive_interval_seconds" : {
1482             "type" : "integer",
1483             "description" : "keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled.",
1484             "format" : "int64"
1485           }
1486         },
1487         "description" : "Information for one service"
1488       },
1489       "policy_info_list" : {
1490         "type" : "object",
1491         "properties" : {
1492           "policies" : {
1493             "type" : "array",
1494             "description" : "List of policy information",
1495             "items" : {
1496               "$ref" : "#/components/schemas/policy_info"
1497             }
1498           }
1499         },
1500         "description" : "List of policy information"
1501       },
1502       "policy_status_info" : {
1503         "type" : "object",
1504         "properties" : {
1505           "last_modified" : {
1506             "type" : "string",
1507             "description" : "timestamp, last modification time"
1508           },
1509           "status" : {
1510             "type" : "object",
1511             "description" : "the Policy status"
1512           }
1513         },
1514         "description" : "Status for one A1-P Policy"
1515       },
1516       "service_status" : {
1517         "type" : "object",
1518         "properties" : {
1519           "callback_url" : {
1520             "type" : "string",
1521             "description" : "callback for notifying of RIC synchronization"
1522           },
1523           "service_id" : {
1524             "type" : "string",
1525             "description" : "identity of the service"
1526           },
1527           "keep_alive_interval_seconds" : {
1528             "type" : "integer",
1529             "description" : "policy keep alive timeout",
1530             "format" : "int64"
1531           },
1532           "time_since_last_activity_seconds" : {
1533             "type" : "integer",
1534             "description" : "time since last invocation by the service",
1535             "format" : "int64"
1536           }
1537         }
1538       },
1539       "ric_info_list" : {
1540         "type" : "object",
1541         "properties" : {
1542           "rics" : {
1543             "type" : "array",
1544             "description" : "List of Near-RT RIC information",
1545             "items" : {
1546               "$ref" : "#/components/schemas/ric_info"
1547             }
1548           }
1549         },
1550         "description" : "List of Near-RT RIC information"
1551       },
1552       "input" : {
1553         "required" : [ "access_type", "auth_token", "policy_type_id" ],
1554         "type" : "object",
1555         "properties" : {
1556           "access_type" : {
1557             "type" : "string",
1558             "description" : "Access type",
1559             "enum" : [ "READ", "WRITE", "DELETE" ]
1560           },
1561           "auth_token" : {
1562             "type" : "string",
1563             "description" : "Authorization token"
1564           },
1565           "policy_type_id" : {
1566             "type" : "string",
1567             "description" : "Policy type identifier"
1568           }
1569         },
1570         "description" : "input"
1571       },
1572       "policy_authorization" : {
1573         "required" : [ "input" ],
1574         "type" : "object",
1575         "properties" : {
1576           "input" : {
1577             "$ref" : "#/components/schemas/input"
1578           }
1579         },
1580         "description" : "Authorization request for A1 policy requests"
1581       },
1582       "policy_type_id_list" : {
1583         "type" : "object",
1584         "properties" : {
1585           "policytype_ids" : {
1586             "type" : "array",
1587             "description" : "Policy type identities",
1588             "items" : {
1589               "type" : "string",
1590               "description" : "Policy type identities"
1591             }
1592           }
1593         },
1594         "description" : "Information about policy types"
1595       },
1596       "policy_info" : {
1597         "required" : [ "policy_data", "policy_id", "policytype_id", "ric_id", "service_id" ],
1598         "type" : "object",
1599         "properties" : {
1600           "ric_id" : {
1601             "type" : "string",
1602             "description" : "identity of the target Near-RT RIC"
1603           },
1604           "policy_id" : {
1605             "type" : "string",
1606             "description" : "identity of the policy"
1607           },
1608           "transient" : {
1609             "type" : "boolean",
1610             "description" : "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
1611             "nullable" : false,
1612             "example" : false,
1613             "default" : false
1614           },
1615           "service_id" : {
1616             "type" : "string",
1617             "description" : "the identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered."
1618           },
1619           "policy_data" : {
1620             "type" : "object",
1621             "description" : "the configuration of the policy"
1622           },
1623           "status_notification_uri" : {
1624             "type" : "string",
1625             "description" : "Callback URI for policy status updates"
1626           },
1627           "policytype_id" : {
1628             "type" : "string",
1629             "description" : "identity of the policy type"
1630           }
1631         },
1632         "description" : "Information for one A1-P Policy"
1633       },
1634       "policy_id_list" : {
1635         "type" : "object",
1636         "properties" : {
1637           "policy_ids" : {
1638             "type" : "array",
1639             "description" : "Policy identities",
1640             "items" : {
1641               "type" : "string",
1642               "description" : "Policy identities"
1643             }
1644           }
1645         },
1646         "description" : "A list of policy identities",
1647         "example" : {
1648           "policy_ids" : [ "policy_ids", "policy_ids" ]
1649         }
1650       },
1651       "service_status_list" : {
1652         "type" : "object",
1653         "properties" : {
1654           "service_list" : {
1655             "type" : "array",
1656             "description" : "List of service information",
1657             "items" : {
1658               "$ref" : "#/components/schemas/service_status"
1659             }
1660           }
1661         }
1662       },
1663       "service_callback_info_v2" : {
1664         "required" : [ "event_type", "ric_id" ],
1665         "type" : "object",
1666         "properties" : {
1667           "ric_id" : {
1668             "type" : "string",
1669             "description" : "identity of a Near-RT RIC"
1670           },
1671           "event_type" : {
1672             "type" : "string",
1673             "description" : "values:\nAVAILABLE: the  Near-RT RIC has become available for A1 Policy management",
1674             "enum" : [ "AVAILABLE" ]
1675           }
1676         },
1677         "description" : "Information transferred as in Service callbacks (callback_url)"
1678       },
1679       "Link" : {
1680         "type" : "object",
1681         "properties" : {
1682           "templated" : {
1683             "type" : "boolean"
1684           },
1685           "href" : {
1686             "type" : "string"
1687           }
1688         }
1689       }
1690     },
1691     "responses" : {
1692       "Locked" : {
1693         "description" : "Locked - HTTP Status code which can be used when the state is Locked",
1694         "content" : {
1695           "application/problem+json" : {
1696             "schema" : {
1697               "$ref" : "#/components/schemas/error_information"
1698             },
1699             "example" : {
1700               "status" : 423,
1701               "title" : "Locked",
1702               "detail" : "Requested resource is in a locked state."
1703             }
1704           }
1705         }
1706       },
1707       "BadRequest" : {
1708         "description" : "Bad Request",
1709         "content" : {
1710           "application/problem+json" : {
1711             "schema" : {
1712               "$ref" : "#/components/schemas/error_information"
1713             },
1714             "example" : {
1715               "status" : 400,
1716               "title" : "Bad Request",
1717               "detail" : "The provided request is not valid."
1718             }
1719           }
1720         }
1721       },
1722       "Forbidden" : {
1723         "description" : "Forbidden",
1724         "content" : {
1725           "application/problem+json" : {
1726             "schema" : {
1727               "$ref" : "#/components/schemas/error_information"
1728             },
1729             "example" : {
1730               "status" : 403,
1731               "title" : "Forbidden",
1732               "detail" : "Your role does not allow to perform this action. Contact System Administrator to change your access rights."
1733             }
1734           }
1735         }
1736       },
1737       "NotFound" : {
1738         "description" : "Not Found",
1739         "content" : {
1740           "application/problem+json" : {
1741             "example" : [ ]
1742           }
1743         }
1744       }
1745     },
1746     "examples" : {
1747       "service_status" : {
1748         "description" : "List of service information",
1749         "value" : {
1750           "callback_url" : "callback_url",
1751           "service_id" : "service_id",
1752           "keep_alive_interval_seconds" : 0,
1753           "time_since_last_activity_seconds" : 6
1754         }
1755       },
1756       "service_status_list" : {
1757         "description" : "List of service information",
1758         "value" : {
1759           "service_list" : [ {
1760             "callback_url" : "callback_url",
1761             "service_id" : "service_id",
1762             "keep_alive_interval_seconds" : 0,
1763             "time_since_last_activity_seconds" : 6
1764           }, {
1765             "callback_url" : "callback_url",
1766             "service_id" : "service_id",
1767             "keep_alive_interval_seconds" : 0,
1768             "time_since_last_activity_seconds" : 6
1769           } ]
1770         }
1771       },
1772       "policy_type_definition" : {
1773         "description" : "Schema of the given Policy type",
1774         "value" : {
1775           "policy_schema" : "{}"
1776         }
1777       },
1778       "policy_type_id_list" : {
1779         "description" : "Array of policy type id's",
1780         "value" : {
1781           "policy_type_id_list" : [ "policytype_id", "policytype_id" ]
1782         }
1783       },
1784       "policy_info" : {
1785         "description" : "Policy information of one A1-P policy",
1786         "value" : {
1787           "ric_id" : "ric_id",
1788           "policy_id" : "policy_id",
1789           "transient" : false,
1790           "service_id" : "service_id",
1791           "policy_data" : "{}",
1792           "status_notification_uri" : "status_notification_uri",
1793           "policytype_id" : "policytype_id"
1794         }
1795       },
1796       "policy_info_list" : {
1797         "description" : "List of policy information",
1798         "value" : {
1799           "policies" : [ {
1800             "ric_id" : "ric_id",
1801             "policy_id" : "policy_id",
1802             "transient" : false,
1803             "service_id" : "service_id",
1804             "policy_data" : "{}",
1805             "status_notification_uri" : "status_notification_uri",
1806             "policytype_id" : "policytype_id"
1807           }, {
1808             "ric_id" : "ric_id",
1809             "policy_id" : "policy_id",
1810             "transient" : false,
1811             "service_id" : "service_id",
1812             "policy_data" : "{}",
1813             "status_notification_uri" : "status_notification_uri",
1814             "policytype_id" : "policytype_id"
1815           } ]
1816         }
1817       },
1818       "policy_id_list" : {
1819         "description" : "A list of policy identities",
1820         "value" : {
1821           "policy_ids" : [ "some_policy_id", "some_policy_id" ]
1822         }
1823       },
1824       "policy_status_info" : {
1825         "description" : "Status for one A1-P Policy",
1826         "value" : {
1827           "last_modified" : "last_modified",
1828           "status" : {
1829             "value" : {
1830               "status" : "status"
1831             }
1832           }
1833         }
1834       },
1835       "status_info" : {
1836         "value" : {
1837           "status" : "status"
1838         }
1839       },
1840       "ric_info" : {
1841         "value" : {
1842           "ric_id" : "ric_id",
1843           "managed_element_ids" : [ "some_managed_element_id", "some_managed_element_id" ],
1844           "state" : "UNAVAILABLE",
1845           "policytype_ids" : [ "some_policytype_id", "some_policytype_id" ]
1846         }
1847       },
1848       "ric_info_list" : {
1849         "value" : {
1850           "rics" : [ {
1851             "ric_id" : "ric_id",
1852             "managed_element_ids" : [ "some_managed_element_id", "some_managed_element_id" ],
1853             "state" : "UNAVAILABLE",
1854             "policytype_ids" : [ "policytype_id", "policytype_id" ]
1855           }, {
1856             "ric_id" : "ric_id",
1857             "managed_element_ids" : [ "managed_element_ids", "managed_element_ids" ],
1858             "state" : "UNAVAILABLE",
1859             "policytype_ids" : [ "policytype_ids", "policytype_ids" ]
1860           } ]
1861         }
1862       }
1863     }
1864   }
1865 }