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: A1 Policy Management V1.0
31 description: (deprecated primitves)
32 - name: Management of configuration
33 - name: A1 Policy Management
34 - name: NearRT-RIC Repository
35 - name: Service Registry and Supervision
42 - A1 Policy Management V1.0
43 summary: Query policy type names
44 operationId: getPolicyTypes
48 description: The name of the Near-RT RIC to get types for.
56 description: Policy type names
64 description: Near-RT RIC is not found
68 $ref: '#/components/schemas/error_information'
69 /a1-policy/v2/policy-instances:
72 - A1 Policy Management
73 summary: Query for A1 policy instances
74 description: Returns a list of A1 policies matching given search criteria. <br>If
75 several query parameters are defined, the policies matching all conditions
77 operationId: getPolicyInstances
81 description: The identity of the policy type to get policies for.
89 description: The identity of the Near-RT RIC to get policies for.
97 description: The identity of the service to get policies for.
105 description: Policies
109 $ref: '#/components/schemas/policy_info_list_v2'
111 description: Near-RT RIC, policy type or service not found
115 $ref: '#/components/schemas/error_information'
116 /a1-policy/v2/status:
120 summary: Returns status and statistics of this service
121 operationId: getStatus_1
124 description: Service is living
128 $ref: '#/components/schemas/status_info_v2'
132 - A1 Policy Management V1.0
133 summary: Returns service information
134 operationId: getServices
138 description: The name of the service
152 $ref: '#/components/schemas/service_status_v1'
154 description: Service is not found
161 - A1 Policy Management V1.0
162 summary: Unregister a service
163 operationId: deleteService
167 description: The name of the service
175 description: Service unregistered
179 $ref: '#/components/schemas/void'
181 description: Service not found
186 /a1-policy/v2/rics/ric:
189 - NearRT-RIC Repository
190 summary: Returns info for one Near-RT RIC
191 description: Either a Near-RT RIC identity or a Mananged Element identity can
192 be specified.<br>The intention with Mananged Element identity is the ID used
193 in O1 for accessing the traffical element (such as the ID of CU).
194 operationId: getRic_1
196 - name: managed_element_id
198 description: The identity of a Managed Element. If given, the Near-RT RIC
199 managing the ME is returned.
207 description: The identity of a Near-RT RIC to get information for.
215 description: Near-RT RIC is found
219 $ref: '#/components/schemas/ric_info_v2'
221 description: Near-RT RIC is not found
225 $ref: '#/components/schemas/error_information'
226 /a1-policy/v2/policy-types:
229 - A1 Policy Management
230 summary: Query policy type identities
231 operationId: getPolicyTypes_1
235 description: The identity of the Near-RT RIC to get types for.
243 description: Policy type IDs
247 $ref: '#/components/schemas/policytype_id_list_v2'
249 description: Near-RT RIC is not found
253 $ref: '#/components/schemas/error_information'
254 /a1-policy/v2/policies/{policy_id}:
257 - A1 Policy Management
258 summary: Returns a policy
259 operationId: getPolicy_1
270 description: Policy found
274 $ref: '#/components/schemas/policy_info_v2'
276 description: Policy is not found
280 $ref: '#/components/schemas/error_information'
283 - A1 Policy Management
284 summary: Delete a policy
285 operationId: deletePolicy_1
296 description: Not used
300 $ref: '#/components/schemas/void'
302 description: Near-RT RIC is not operational
306 $ref: '#/components/schemas/error_information'
308 description: Policy deleted
312 $ref: '#/components/schemas/void'
314 description: Policy is not found
318 $ref: '#/components/schemas/error_information'
319 /a1-policy/v2/configuration:
322 - Management of configuration
323 summary: Returns the contents of the configuration file
324 description: Note that the file contents is not relevant if the Consul is used.
325 operationId: getConfiguration
328 description: Configuration
334 description: File is not found or readable
338 $ref: '#/components/schemas/error_information'
341 - Management of configuration
342 summary: Replace the current configuration file with the given configuration
343 description: Note that the file is ignored if the Consul is used.
344 operationId: putConfiguration
353 description: Configuration updated
357 $ref: '#/components/schemas/void'
359 description: Invalid configuration provided
363 $ref: '#/components/schemas/error_information'
365 description: Something went wrong when replacing the configuration. Try
370 $ref: '#/components/schemas/error_information'
374 - A1 Policy Management V1.0
375 summary: Returns a policy configuration
376 operationId: getPolicy
380 description: The identity of the policy instance.
388 description: Policy found
394 description: Policy is not found
398 $ref: '#/components/schemas/error_information'
401 - A1 Policy Management V1.0
402 summary: Put a policy
403 operationId: putPolicy
407 description: The name of the policy type.
416 description: The identity of the policy instance.
424 description: The name of the Near-RT RIC where the policy will be created.
432 description: The name of the service creating the policy.
440 description: If the policy is transient or not (boolean defaulted to false).
441 A policy is transient if it will be forgotten when the service needs to
442 reconnect to the Near-RT RIC.
457 description: Policy updated
461 $ref: '#/components/schemas/void'
463 description: Policy created
467 $ref: '#/components/schemas/void'
469 description: Near-RT RIC is not operational
475 description: Near-RT RIC or policy type is not found
482 - A1 Policy Management V1.0
483 summary: Delete a policy
484 operationId: deletePolicy
488 description: The identity of the policy instance.
496 description: Not used
500 $ref: '#/components/schemas/void'
502 description: Near-RT RIC is not operational
508 description: Policy deleted
512 $ref: '#/components/schemas/void'
514 description: Policy is not found
522 - A1 Policy Management V1.0
523 summary: Query policies
524 operationId: getPolicies
528 description: The name of the policy type to get policies for.
536 description: The name of the Near-RT RIC to get policies for.
544 description: The name of the service to get policies for.
552 description: Policies
558 $ref: '#/components/schemas/policy_info_v1'
560 description: Near-RT RIC or type not found
565 /a1-policy/v2/services/{service_id}/keepalive:
568 - Service Registry and Supervision
569 summary: Heartbeat indicates that the service is running
570 description: A registerred service must call this in regular intervals to indicate
571 that it is in operation. Absence of this call will lead to that teh service
572 will be deregisterred and all its policies are removed.
573 operationId: keepAliveService_1
584 description: Service supervision timer refreshed, OK
590 description: The service is not found, needs re-registration
594 $ref: '#/components/schemas/error_information'
598 - A1 Policy Management V1.0
599 summary: Query Near-RT RIC information
604 description: The name of the policy type
618 $ref: '#/components/schemas/ric_info_v1'
620 description: Policy type is not found
628 - A1 Policy Management V1.0
629 summary: Returns one policy type schema definition
630 operationId: getPolicySchema
634 description: The identity of the policy type to get the definition for.
642 description: Policy schema
648 description: The policy type is not found
652 $ref: '#/components/schemas/error_information'
656 - A1 Policy Management V1.0
657 summary: Returns a policy status
658 operationId: getPolicyStatus
662 description: The identity of the policy.
670 description: Policy status
676 description: Policy is not found
684 - NearRT-RIC Repository
685 summary: Query Near-RT RIC information
686 description: The call returns all Near-RT RICs that supports a given policy
688 operationId: getRics_1
690 - name: policytype_id
692 description: The identity of a policy type. If given, all Near-RT RICs supporteing
693 the policy type are returned
705 $ref: '#/components/schemas/ric_info_list_v2'
707 description: Policy type is not found
711 $ref: '#/components/schemas/error_information'
715 - A1 Policy Management V1.0
716 summary: Returns policy type schema definitions
717 operationId: getPolicySchemas
721 description: The name of the Near-RT RIC to get the definitions for.
729 description: Policy schemas
737 description: Near-RT RIC is not found
741 $ref: '#/components/schemas/error_information'
745 - A1 Policy Management V1.0
746 summary: Query policies, only policy identities returned
747 operationId: getPolicyIds
751 description: The name of the policy type to get policies for.
759 description: The name of the Near-RT RIC to get policies for.
767 description: The name of the service to get policies for.
775 description: Policy identitiess
783 description: Near-RT RIC or type not found
788 /a1-policy/v2/services:
791 - Service Registry and Supervision
792 summary: Returns service information
793 description: Either information about a registered service with given identity
794 or all registered services are returned.
795 operationId: getServices_1
799 description: The identity of the service
811 $ref: '#/components/schemas/service_list_v2'
813 description: Service is not found
817 $ref: '#/components/schemas/error_information'
820 - Service Registry and Supervision
821 summary: Register a service
822 description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate
823 supervision of the service. If a service is inactive, its policies will be
825 operationId: putService_1
830 $ref: '#/components/schemas/service_registration_info_v2'
834 description: Service updated
840 description: Service created
846 description: The ServiceRegistrationInfo is not accepted
850 $ref: '#/components/schemas/error_information'
854 - A1 Policy Management V1.0
855 summary: Returns the name of a RIC managing one Mananged Element
858 - name: managedElementId
860 description: The identity of the Managed Element
868 description: Near-RT RIC is found
874 description: Near-RT RIC is not found
882 - A1 Policy Management V1.0
883 summary: Heartbeat from a service
884 operationId: keepAliveService
888 description: The name of the service
896 description: Service supervision timer refreshed, OK
902 description: The service is not found, needs re-registration
910 - A1 Policy Management V1.0
911 summary: Returns status and statistics of this service
912 operationId: getStatus
915 description: Service is living
920 /a1-policy/v2/policy-types/{policytype_id}:
923 - A1 Policy Management
924 summary: Returns a policy type definition
925 operationId: getPolicyType
927 - name: policytype_id
936 description: Policy type
940 $ref: '#/components/schemas/policytype_v2'
942 description: Policy type is not found
946 $ref: '#/components/schemas/error_information'
947 /a1-policy/v2/policies:
950 - A1 Policy Management
951 summary: Query policy identities
952 description: Returns a list of A1 policies matching given search criteria. <br>If
953 several query parameters are defined, the policies matching all conditions
955 operationId: getPolicyIds_1
957 - name: policytype_id
959 description: The identity of the policy type to get policies for.
967 description: The identity of the Near-RT RIC to get policies for.
975 description: The identity of the service to get policies for.
983 description: Policy identities
987 $ref: '#/components/schemas/policy_id_list_v2'
989 description: Near-RT RIC or type not found
993 $ref: '#/components/schemas/error_information'
996 - A1 Policy Management
997 summary: Create or update a policy
998 operationId: putPolicy_1
1003 $ref: '#/components/schemas/policy_info_v2'
1007 description: Policy updated
1011 $ref: '#/components/schemas/void'
1013 description: Policy created
1017 $ref: '#/components/schemas/void'
1019 description: Near-RT RIC is not operational
1023 $ref: '#/components/schemas/error_information'
1025 description: Near-RT RIC or policy type is not found
1029 $ref: '#/components/schemas/error_information'
1030 /r-app/near-rt-ric-status:
1034 summary: Callback for Near-RT RIC status
1035 description: The URL to this call is registerred at Service registration.
1036 operationId: serviceCallback
1041 $ref: '#/components/schemas/service_callback_info_v2'
1049 $ref: '#/components/schemas/void'
1053 - A1 Policy Management V1.0
1054 summary: Register a service
1055 operationId: putService
1060 $ref: '#/components/schemas/service_registration_info_v1'
1064 description: Service updated
1070 description: Service created
1076 description: The ServiceRegistrationInfo is not accepted
1081 /a1-policy/v2/services/{service_id}:
1084 - Service Registry and Supervision
1085 summary: Unregister a service
1086 operationId: deleteService_1
1097 description: Not used
1101 $ref: '#/components/schemas/void'
1103 description: Service unregistered
1109 description: Service not found
1113 $ref: '#/components/schemas/error_information'
1114 /a1-policy/v2/policies/{policy_id}/status:
1117 - A1 Policy Management
1118 summary: Returns a policy status
1119 operationId: getPolicyStatus_1
1130 description: Policy status
1134 $ref: '#/components/schemas/policy_status_info_v2'
1136 description: Policy is not found
1140 $ref: '#/components/schemas/error_information'
1148 description: ' A human-readable explanation specific to this occurrence
1150 example: Policy type not found
1153 description: 'The HTTP status code generated by the origin server for this
1154 occurrence of the problem. '
1157 description: Problem as defined in https://tools.ietf.org/html/rfc7807
1160 description: Void/empty
1166 description: status text
1172 description: the name of the service owning the policy
1175 description: the configuration of the policy
1178 description: identity of the policy
1181 description: timestamp, last modification time
1184 description: name of the policy type
1187 description: identity of the target Near-RT RIC
1188 service_registration_info_v1:
1191 keepAliveIntervalSeconds:
1193 description: keep alive interval for the service. This is a heartbeat supervision
1194 of the service, which in regular intevals must invoke a 'keepAlive' REST
1195 call. When a service does not invoke this call within the given time,
1196 it is considered unavailble. An unavailable service will be automatically
1197 deregistered and its policies will be deleted. Value 0 means no timeout
1202 description: callback for notifying of RIC synchronization
1210 description: identity of the Near-RT RIC
1211 managed_element_ids:
1213 description: O1 identities for managed entities
1216 description: O1 identities for managed entities
1219 description: Represents the states for a Near-RT RIC
1227 description: supported policy types
1230 description: supported policy types
1231 description: Information for a Near-RT RIC
1232 service_registration_info_v2:
1239 description: callback for notifying of Near-RT RIC state changes
1242 description: identity of the service
1243 keep_alive_interval_seconds:
1245 description: keep alive interval for the service. This is a heartbeat supervision
1246 of the service, which in regular intevals must invoke a 'keepalive' REST
1247 call. When a service does not invoke this call within the given time,
1248 it is considered unavailble. An unavailable service will be automatically
1249 deregistered and its policies will be deleted. Value 0 means no timeout
1252 description: Information for one service
1253 policy_info_list_v2:
1258 description: List of policy information
1260 $ref: '#/components/schemas/policy_info_v2'
1261 description: List of policy information
1267 description: O1 identities for managed entities
1270 description: O1 identities for managed entities
1273 description: supported policy types
1276 description: supported policy types
1279 description: state info
1282 description: identity of the Near-RT RIC
1286 keepAliveIntervalSeconds:
1288 description: policy keep alive timeout
1290 timeSinceLastActivitySeconds:
1292 description: time since last invocation by the service
1296 description: callback for notifying of RIC synchronization
1299 description: identity of the service
1300 policy_status_info_v2:
1305 description: timestamp, last modification time
1308 description: the Policy status
1309 description: Status for one A1-P Policy
1315 description: callback for notifying of RIC synchronization
1318 description: identity of the service
1319 keep_alive_interval_seconds:
1321 description: policy keep alive timeout
1323 time_since_last_activity_seconds:
1325 description: time since last invocation by the service
1327 description: List of service information
1333 description: List of Near-RT RIC information
1335 $ref: '#/components/schemas/ric_info_v2'
1336 description: List of Near-RT RIC information
1342 description: Policy type json scema. The schema is a json object following
1343 http://json-schema.org/draft-07/schema
1344 description: Policy type
1345 policytype_id_list_v2:
1350 description: Policy type identities
1353 description: Policy type identities
1354 description: Information about policy types
1366 description: identity of the target Near-RT RIC
1369 description: identity of the policy
1372 description: if true, the policy is deleted at RIC restart. If false, its
1373 value is maintained by this service until explicitly deleted. Default
1377 description: the name of the service owning the policy
1380 description: the configuration of the policy
1381 status_notification_uri:
1383 description: Callback URI for policy status updates
1386 description: identity of the policy type
1387 description: Information for one A1-P Policy
1393 description: Policy identities
1396 description: Policy identities
1397 description: A list of policy identities
1403 description: List of service information
1405 $ref: '#/components/schemas/service_status_v2'
1406 description: List of service information
1407 service_callback_info_v2:
1415 description: identity of a Near-RT RIC
1420 AVAILABLE: the Near-RT RIC has become available for A1 Policy management
1423 description: Information transferred as in Service callbacks (callback_url)