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