3 title: A1 Policy management service
4 description: <h2>General</h2><p>The O-RAN Non-RT RIC Policy Management Service provides
5 a REST API for management of A1 policices. <br/>The main tasks of the service
6 are:</p><ul><li>A1 Policy creation, modification and deletion.</li><li>Monitoring
7 and maintaining consistency of the SMO view of A1 policies and the Near-RT RICs</li><li>Maintaining
8 a view of supported Near-RT RIC policy types</li><li>Supervision of using services
9 (R-APPs). When a service is unavailble, its policies are removed.</li></ul><h2>APIs
10 provided by the service</h2><h3>A1 Policy Management</h3><p>This is an API for
11 management of A1 Policies.</p><ul><li>A1 Policy retrieval, creation, modification
12 and deletion.</li><li>Retrieval of supported A1 Policy types for a Near-RT RIC</li><li>Retrieval
13 of status for existing A1 policies</li></ul><h3>Management of configuration</h3><p>API
14 for updating and retrieval of the component configuration. Note that there other
15 ways to maintain the configuration.</p><h3>Callbacks</h3><p>These are endpoints
16 that are invoked by this service. The callbacks are registerred in this service
17 at service registration.</p><h3>NearRT-RIC Repository</h3><p>This is an API that
18 provides support for looking up a NearRT-RIC. Each A1 policy is targeted for one
19 Near-RT RIC.</p><h3>Health Check</h3><p>API used for supervision of the PMS component.</p><h3>Service
20 Registry and Supervision</h3><p>API used for registerring services that uses PMS.
21 Each A1 policy is owned by a service. PMS can supervise each registerred service
22 and will automatically remove policies for unavailable services.</p>
24 name: Copyright (C) 2020 Nordix Foundation. Licensed under the Apache License.
25 url: http://www.apache.org/licenses/LICENSE-2.0
30 - name: Service Registry and Supervision
31 - name: A1 Policy Management
32 - name: A1 Policy Management V1.0
33 - name: NearRT-RIC Repository
36 - name: A1 Policy Management V1.0
37 description: (deprecated primitves)
38 - name: Management of configuration
40 description: Monitor and interact
42 description: Spring Boot Actuator Web API Documentation
43 url: https://docs.spring.io/spring-boot/docs/current/actuator-api/html/
48 - A1 Policy Management V1.0
49 summary: Query policy type identities
50 operationId: getPolicyTypes
54 description: The name of the Near-RT RIC to get types for.
62 description: Policy type identities
70 description: Near-RT RIC is not found
74 $ref: '#/components/schemas/error_information'
75 /a1-policy/v2/policy-instances:
78 - A1 Policy Management
79 summary: Query for A1 policy instances
80 description: Returns a list of A1 policies matching given search criteria. <br>If
81 several query parameters are defined, the policies matching all conditions
83 operationId: getPolicyInstances
87 description: Select policies with a given type identity.
95 description: Select policies for a given Near-RT RIC identity.
103 description: Select policies owned by a given service.
111 description: Select policies of a given type name (type identity has the format
120 description: Policies
124 $ref: '#/components/schemas/policy_info_list_v2'
126 description: Near-RT RIC, policy type or service not found
130 $ref: '#/components/schemas/error_information'
131 /a1-policy/v2/status:
135 summary: Returns status and statistics of this service
136 operationId: getStatus_1
139 description: Service is living
143 $ref: '#/components/schemas/status_info_v2'
144 /actuator/threaddump:
148 summary: Actuator web endpoint 'threaddump'
149 operationId: threaddump_4
160 - A1 Policy Management V1.0
161 summary: Returns service information
162 operationId: getServices
166 description: The name of the service
180 $ref: '#/components/schemas/service_status_v1'
182 description: Service is not found
189 - A1 Policy Management V1.0
190 summary: Unregister a service
191 operationId: deleteService
195 description: The name of the service
203 description: Service unregistered
207 $ref: '#/components/schemas/void'
209 description: Service not found
214 /a1-policy/v2/rics/ric:
217 - NearRT-RIC Repository
218 summary: Returns info for one Near-RT RIC
219 description: Either a Near-RT RIC identity or a Mananged Element identity can
220 be specified.<br>The intention with Mananged Element identity is the ID used
221 in O1 for accessing the traffical element (such as the ID of CU).
222 operationId: getRic_1
224 - name: managed_element_id
226 description: The identity of a Managed Element. If given, the Near-RT RIC
227 managing the ME is returned.
235 description: The identity of a Near-RT RIC to get information for.
243 description: Near-RT RIC is found
247 $ref: '#/components/schemas/ric_info_v2'
249 description: Near-RT RIC is not found
253 $ref: '#/components/schemas/error_information'
258 summary: Actuator web endpoint 'loggers'
259 operationId: loggers_2
271 summary: Actuator web endpoint 'health-path'
272 operationId: health-path_2
280 /a1-policy/v2/policy-types:
283 - A1 Policy Management
284 summary: Query policy type identities
285 operationId: getPolicyTypes_1
289 description: Select types for the given Near-RT RIC identity.
297 description: Select types with the given type name (type identity has the
298 format <typename_version>)
304 - name: compatible_with_version
306 description: Select types that are compatible with the given version. This
307 parameter is only applicable in conjunction with type_name. As an example
308 version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching
309 types will be returned sorted in ascending order.
317 description: Policy type IDs
321 $ref: '#/components/schemas/policytype_id_list_v2'
323 description: Near-RT RIC is not found
327 $ref: '#/components/schemas/error_information'
328 /a1-policy/v2/policies/{policy_id}:
331 - A1 Policy Management
332 summary: Returns a policy
333 operationId: getPolicy_1
344 description: Policy found
348 $ref: '#/components/schemas/policy_info_v2'
350 description: Policy is not found
354 $ref: '#/components/schemas/error_information'
357 - A1 Policy Management
358 summary: Delete a policy
359 operationId: deletePolicy_1
370 description: Not used
374 $ref: '#/components/schemas/void'
376 description: Near-RT RIC is not operational
380 $ref: '#/components/schemas/error_information'
382 description: Policy deleted
386 $ref: '#/components/schemas/void'
388 description: Policy is not found
392 $ref: '#/components/schemas/error_information'
393 /actuator/metrics/{requiredMetricName}:
397 summary: Actuator web endpoint 'metrics-requiredMetricName'
398 operationId: metrics-requiredMetricName_2
400 - name: requiredMetricName
414 /a1-policy/v2/configuration:
417 - Management of configuration
418 summary: Returns the contents of the configuration file
419 description: Note that the file contents is not relevant if the Consul is used.
420 operationId: getConfiguration
423 description: Configuration
429 description: File is not found or readable
433 $ref: '#/components/schemas/error_information'
436 - Management of configuration
437 summary: Replace the current configuration file with the given configuration
438 description: Note that the file is ignored if the Consul is used.
439 operationId: putConfiguration
448 description: Configuration updated
452 $ref: '#/components/schemas/void'
454 description: Invalid configuration provided
458 $ref: '#/components/schemas/error_information'
460 description: Something went wrong when replacing the configuration. Try
465 $ref: '#/components/schemas/error_information'
469 - A1 Policy Management V1.0
470 summary: Returns a policy configuration
471 operationId: getPolicy
475 description: The identity of the policy instance.
483 description: Policy found
489 description: Policy is not found
493 $ref: '#/components/schemas/error_information'
496 - A1 Policy Management V1.0
497 summary: Put a policy
498 operationId: putPolicy
502 description: The name of the policy type.
511 description: The identity of the policy instance.
519 description: The name of the Near-RT RIC where the policy will be created.
527 description: The name of the service creating the policy.
535 description: If the policy is transient or not (boolean defaulted to false).
536 A policy is transient if it will be forgotten when the service needs to
537 reconnect to the Near-RT RIC.
552 description: Policy updated
556 $ref: '#/components/schemas/void'
558 description: Policy created
562 $ref: '#/components/schemas/void'
564 description: Near-RT RIC is not operational
570 description: Near-RT RIC or policy type is not found
577 - A1 Policy Management V1.0
578 summary: Delete a policy
579 operationId: deletePolicy
583 description: The identity of the policy instance.
591 description: Not used
595 $ref: '#/components/schemas/void'
597 description: Near-RT RIC is not operational
603 description: Policy deleted
607 $ref: '#/components/schemas/void'
609 description: Policy is not found
618 summary: Actuator root web endpoint
627 additionalProperties:
629 additionalProperties:
630 $ref: '#/components/schemas/Link'
634 - A1 Policy Management V1.0
635 summary: Query policies
636 operationId: getPolicies
640 description: The name of the policy type to get policies for.
648 description: The name of the Near-RT RIC to get policies for.
656 description: The name of the service to get policies for.
664 description: Policies
670 $ref: '#/components/schemas/policy_info_v1'
672 description: Near-RT RIC or type not found
677 /actuator/loggers/{name}:
681 summary: Actuator web endpoint 'loggers-name'
682 operationId: loggers-name_4
701 summary: Actuator web endpoint 'loggers-name'
702 operationId: loggers-name_3
718 /a1-policy/v2/services/{service_id}/keepalive:
721 - Service Registry and Supervision
722 summary: Heartbeat indicates that the service is running
723 description: A registerred service must call this in regular intervals to indicate
724 that it is in operation. Absence of this call will lead to that teh service
725 will be deregisterred and all its policies are removed.
726 operationId: keepAliveService_1
737 description: Service supervision timer refreshed, OK
743 description: The service is not found, needs re-registration
747 $ref: '#/components/schemas/error_information'
751 - A1 Policy Management V1.0
752 summary: Query Near-RT RIC information
757 description: The name of the policy type
771 $ref: '#/components/schemas/ric_info_v1'
773 description: Policy type is not found
781 - A1 Policy Management V1.0
782 summary: Returns one policy type schema definition
783 operationId: getPolicySchema
787 description: The identity of the policy type to get the definition for.
795 description: Policy schema
801 description: The policy type is not found
805 $ref: '#/components/schemas/error_information'
810 summary: Actuator web endpoint 'metrics'
811 operationId: metrics_2
822 - A1 Policy Management V1.0
823 summary: Returns a policy status
824 operationId: getPolicyStatus
828 description: The identity of the policy.
836 description: Policy status
842 description: Policy is not found
850 - NearRT-RIC Repository
851 summary: Query Near-RT RIC information
852 description: The call returns all Near-RT RICs that supports a given policy
854 operationId: getRics_1
856 - name: policytype_id
858 description: The identity of a policy type. If given, all Near-RT RICs supporteing
859 the policy type are returned
871 $ref: '#/components/schemas/ric_info_list_v2'
873 description: Policy type is not found
877 $ref: '#/components/schemas/error_information'
881 - A1 Policy Management V1.0
882 summary: Returns policy type schema definitions
883 operationId: getPolicySchemas
887 description: The name of the Near-RT RIC to get the definitions for.
895 description: Policy schemas
903 description: Near-RT RIC is not found
907 $ref: '#/components/schemas/error_information'
911 - A1 Policy Management V1.0
912 summary: Query policies, only policy identities returned
913 operationId: getPolicyIds
917 description: The name of the policy type to get policies for.
925 description: The name of the Near-RT RIC to get policies for.
933 description: The name of the service to get policies for.
941 description: Policy identitiess
949 description: Near-RT RIC or type not found
954 /a1-policy/v2/services:
957 - Service Registry and Supervision
958 summary: Returns service information
959 description: Either information about a registered service with given identity
960 or all registered services are returned.
961 operationId: getServices_1
965 description: The identity of the service
977 $ref: '#/components/schemas/service_list_v2'
979 description: Service is not found
983 $ref: '#/components/schemas/error_information'
986 - Service Registry and Supervision
987 summary: Register a service
988 description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate
989 supervision of the service. If a service is inactive, its policies will be
991 operationId: putService_1
996 $ref: '#/components/schemas/service_registration_info_v2'
1000 description: Service updated
1006 description: Service created
1012 description: The ServiceRegistrationInfo is not accepted
1016 $ref: '#/components/schemas/error_information'
1021 summary: Actuator web endpoint 'info'
1033 - A1 Policy Management V1.0
1034 summary: Returns the name of a RIC managing one Mananged Element
1037 - name: managedElementId
1039 description: The identity of the Managed Element
1047 description: Near-RT RIC is found
1053 description: Near-RT RIC is not found
1058 /services/keepalive:
1061 - A1 Policy Management V1.0
1062 summary: Heartbeat from a service
1063 operationId: keepAliveService
1067 description: The name of the service
1075 description: Service supervision timer refreshed, OK
1081 description: The service is not found, needs re-registration
1089 - A1 Policy Management V1.0
1090 summary: Returns status and statistics of this service
1091 operationId: getStatus
1094 description: Service is living
1099 /a1-policy/v2/policy-types/{policytype_id}:
1102 - A1 Policy Management
1103 summary: Returns a policy type definition
1104 operationId: getPolicyType
1106 - name: policytype_id
1115 description: Policy type
1119 $ref: '#/components/schemas/policytype_v2'
1121 description: Policy type is not found
1125 $ref: '#/components/schemas/error_information'
1130 summary: Actuator web endpoint 'logfile'
1131 operationId: logfile_2
1143 summary: Actuator web endpoint 'health'
1144 operationId: health_2
1152 /a1-policy/v2/policies:
1155 - A1 Policy Management
1156 summary: Query policy identities
1157 description: Returns a list of A1 policies matching given search criteria. <br>If
1158 several query parameters are defined, the policies matching all conditions
1160 operationId: getPolicyIds_1
1162 - name: policytype_id
1164 description: Select policies of a given policy type identity.
1172 description: Select policies of a given Near-RT RIC identity.
1180 description: Select policies owned by a given service.
1188 description: Select policies of types with the given type name (type identity
1189 has the format <typename_version>)
1197 description: Policy identities
1201 $ref: '#/components/schemas/policy_id_list_v2'
1203 description: Near-RT RIC or type not found
1207 $ref: '#/components/schemas/error_information'
1210 - A1 Policy Management
1211 summary: Create or update a policy
1212 operationId: putPolicy_1
1217 $ref: '#/components/schemas/policy_info_v2'
1221 description: Policy updated
1225 $ref: '#/components/schemas/void'
1227 description: Policy created
1231 $ref: '#/components/schemas/void'
1233 description: Near-RT RIC is not operational
1237 $ref: '#/components/schemas/error_information'
1239 description: Near-RT RIC or policy type is not found
1243 $ref: '#/components/schemas/error_information'
1244 /r-app/near-rt-ric-status:
1248 summary: Callback for Near-RT RIC status
1249 description: The URL to this call is registerred at Service registration.
1250 operationId: serviceCallback
1255 $ref: '#/components/schemas/service_callback_info_v2'
1263 $ref: '#/components/schemas/void'
1267 - A1 Policy Management V1.0
1268 summary: Register a service
1269 operationId: putService
1274 $ref: '#/components/schemas/service_registration_info_v1'
1278 description: Service updated
1284 description: Service created
1290 description: The ServiceRegistrationInfo is not accepted
1295 /a1-policy/v2/services/{service_id}:
1298 - Service Registry and Supervision
1299 summary: Unregister a service
1300 operationId: deleteService_1
1311 description: Not used
1315 $ref: '#/components/schemas/void'
1317 description: Service unregistered
1323 description: Service not found
1327 $ref: '#/components/schemas/error_information'
1328 /a1-policy/v2/policies/{policy_id}/status:
1331 - A1 Policy Management
1332 summary: Returns a policy status
1333 operationId: getPolicyStatus_1
1344 description: Policy status
1348 $ref: '#/components/schemas/policy_status_info_v2'
1350 description: Policy is not found
1354 $ref: '#/components/schemas/error_information'
1359 summary: Actuator web endpoint 'heapdump'
1360 operationId: heapdump_2
1375 description: ' A human-readable explanation specific to this occurrence
1377 example: Policy type not found
1380 description: 'The HTTP status code generated by the origin server for this
1381 occurrence of the problem. '
1384 description: Problem as defined in https://tools.ietf.org/html/rfc7807
1387 description: Void/empty
1393 description: status text
1399 description: the name of the service owning the policy
1402 description: the configuration of the policy
1405 description: identity of the policy
1408 description: timestamp, last modification time
1411 description: name of the policy type
1414 description: identity of the target Near-RT RIC
1415 service_registration_info_v1:
1418 keepAliveIntervalSeconds:
1420 description: keep alive interval for the service. This is a heartbeat supervision
1421 of the service, which in regular intevals must invoke a 'keepAlive' REST
1422 call. When a service does not invoke this call within the given time,
1423 it is considered unavailble. An unavailable service will be automatically
1424 deregistered and its policies will be deleted. Value 0 means no timeout
1429 description: callback for notifying of RIC synchronization
1437 description: identity of the Near-RT RIC
1438 managed_element_ids:
1440 description: O1 identities for managed entities
1443 description: O1 identities for managed entities
1446 description: Represents the states for a Near-RT RIC
1454 description: supported policy types
1457 description: supported policy types
1458 description: Information for a Near-RT RIC
1459 service_registration_info_v2:
1466 description: callback for notifying of Near-RT RIC state changes
1469 description: identity of the service
1470 keep_alive_interval_seconds:
1472 description: keep alive interval for the service. This is a heartbeat supervision
1473 of the service, which in regular intevals must invoke a 'keepalive' REST
1474 call. When a service does not invoke this call within the given time,
1475 it is considered unavailble. An unavailable service will be automatically
1476 deregistered and its policies will be deleted. Value 0 means no timeout
1479 description: Information for one service
1480 policy_info_list_v2:
1485 description: List of policy information
1487 $ref: '#/components/schemas/policy_info_v2'
1488 description: List of policy information
1494 description: O1 identities for managed entities
1497 description: O1 identities for managed entities
1500 description: supported policy types
1503 description: supported policy types
1506 description: state info
1509 description: identity of the Near-RT RIC
1513 keepAliveIntervalSeconds:
1515 description: policy keep alive timeout
1517 timeSinceLastActivitySeconds:
1519 description: time since last invocation by the service
1523 description: callback for notifying of RIC synchronization
1526 description: identity of the service
1527 policy_status_info_v2:
1532 description: timestamp, last modification time
1535 description: the Policy status
1536 description: Status for one A1-P Policy
1542 description: callback for notifying of RIC synchronization
1545 description: identity of the service
1546 keep_alive_interval_seconds:
1548 description: policy keep alive timeout
1550 time_since_last_activity_seconds:
1552 description: time since last invocation by the service
1554 description: List of service information
1560 description: List of Near-RT RIC information
1562 $ref: '#/components/schemas/ric_info_v2'
1563 description: List of Near-RT RIC information
1569 description: Policy type json scema. The schema is a json object following
1570 http://json-schema.org/draft-07/schema
1571 description: Policy type
1572 policytype_id_list_v2:
1577 description: Policy type identities
1580 description: Policy type identities
1581 description: Information about policy types
1593 description: identity of the target Near-RT RIC
1596 description: identity of the policy
1599 description: if true, the policy is deleted at RIC restart. If false, its
1600 value is maintained by this service until explicitly deleted. Default
1604 description: the identity of the service owning the policy
1607 description: the configuration of the policy
1608 status_notification_uri:
1610 description: Callback URI for policy status updates
1613 description: identity of the policy type
1614 description: Information for one A1-P Policy
1620 description: Policy identities
1623 description: Policy identities
1624 description: A list of policy identities
1630 description: List of service information
1632 $ref: '#/components/schemas/service_status_v2'
1633 description: List of service information
1634 service_callback_info_v2:
1642 description: identity of a Near-RT RIC
1647 AVAILABLE: the Near-RT RIC has become available for A1 Policy management
1650 description: Information transferred as in Service callbacks (callback_url)