| openapi: 3.0.1 |
| info: |
| title: A1 Policy management service |
| description: "The O-RAN Non-RT RIC Policy Management Service provides a REST API\ |
| \ for management of A1 policices. \nIt provides support for:<ul><li>A1 Policy\ |
| \ creation and modification.</li><li>Maintaining a view of supported Near-RT RIC\ |
| \ policy types </li><li>Supervision of using services (R-APPs). When a service\ |
| \ is unavailble, its policies are removed. </li> <li>Monitoring and maintaining\ |
| \ consistency of the SMO view of A1 policies and the Near-RT RICs </li></ul>" |
| contact: |
| name: Ericsson Software Technology |
| email: nonrtric@est.tech |
| version: 1.1.0 |
| x-audience: external-partner |
| x-api-id: 60f9a0e7-343f-43bf-9194-d8d65688d465 |
| servers: |
| - url: //localhost:46233/ |
| tags: |
| - name: A1 Policy Management Version 1.0 |
| description: Policy Controller |
| - name: A1 Policy Management Version 2.0 (in progress) |
| description: Policy Controller |
| - name: Component Configuration |
| description: Configuration Controller |
| - name: R-App Callbacks |
| description: Rapp Simulator Controller |
| paths: |
| /policy_types: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Query policy type names |
| operationId: getPolicyTypesUsingGET_1 |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get types for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy type names |
| content: |
| '*/*': |
| schema: |
| type: array |
| items: |
| type: string |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /v2/status: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Returns status and statistics of this service |
| operationId: getStatusUsingGET_1 |
| responses: |
| 200: |
| description: Service is living |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/status_info_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Not Found |
| content: {} |
| deprecated: false |
| /v2/policy-types: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Query policy type identities |
| operationId: getPolicyTypesUsingGET |
| parameters: |
| - name: ric_id |
| in: query |
| description: The identity of the Near-RT RIC to get types for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy type IDs |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policytype_id_list_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /services: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Returns service information |
| operationId: getServicesUsingGET |
| parameters: |
| - name: name |
| in: query |
| description: The name of the service |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| '*/*': |
| schema: |
| type: array |
| items: |
| $ref: '#/components/schemas/service_status_v1' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Service is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| delete: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Delete a service |
| operationId: deleteServiceUsingDELETE |
| parameters: |
| - name: name |
| in: query |
| description: The name of the service |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| '*/*': |
| schema: |
| type: string |
| 204: |
| description: Service deleted |
| content: |
| '*/*': |
| schema: |
| type: string |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Service not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /v2/services/{service_id}: |
| delete: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Unregister a service |
| operationId: deleteServiceUsingDELETE_1 |
| parameters: |
| - name: service_id |
| in: path |
| description: service_id |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Not used |
| content: {} |
| 204: |
| description: Service unregistered |
| content: |
| '*/*': |
| schema: |
| type: object |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Service not found |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /policy: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Returns a policy configuration |
| operationId: getPolicyUsingGET_1 |
| parameters: |
| - name: id |
| in: query |
| description: The identity of the policy instance. |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy found |
| content: |
| '*/*': |
| schema: |
| type: object |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy is not found |
| content: {} |
| deprecated: false |
| put: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Put a policy |
| operationId: putPolicyUsingPUT_1 |
| parameters: |
| - name: id |
| in: query |
| description: The identity of the policy instance. |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC where the policy will be created. |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: service |
| in: query |
| description: The name of the service creating the policy. |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: transient |
| in: query |
| description: If the policy is transient or not (boolean defaulted to false). |
| A policy is transient if it will be forgotten when the service needs to |
| reconnect to the Near-RT RIC. |
| allowEmptyValue: false |
| schema: |
| type: boolean |
| default: false |
| example: false |
| - name: type |
| in: query |
| description: The name of the policy type. |
| allowEmptyValue: false |
| schema: |
| type: string |
| requestBody: |
| description: jsonBody |
| content: |
| application/json: |
| schema: |
| type: object |
| required: true |
| responses: |
| 200: |
| description: Policy updated |
| content: {} |
| 201: |
| description: Policy created |
| content: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC or policy type is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| 423: |
| description: Near-RT RIC is not operational |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| delete: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Delete a policy |
| operationId: deletePolicyUsingDELETE_1 |
| parameters: |
| - name: id |
| in: query |
| description: The identity of the policy instance. |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Not used |
| content: {} |
| 204: |
| description: Policy deleted |
| content: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| 423: |
| description: Near-RT RIC is not operational |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /policies: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Query policies |
| operationId: getPoliciesUsingGET |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: service |
| in: query |
| description: The name of the service to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: type |
| in: query |
| description: The name of the policy type to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policies |
| content: |
| '*/*': |
| schema: |
| type: array |
| items: |
| $ref: '#/components/schemas/policy_info_v1' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC or type not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /v2/policies/{policy_id}: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Returns a policy |
| operationId: getPolicyUsingGET |
| parameters: |
| - name: policy_id |
| in: path |
| description: policy_id |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policy_info_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| delete: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Delete a policy |
| operationId: deletePolicyUsingDELETE |
| parameters: |
| - name: policy_id |
| in: path |
| description: policy_id |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Not used |
| content: {} |
| 204: |
| description: Policy deleted |
| content: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy is not found |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| 423: |
| description: Near-RT RIC is not operational |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /policy_schema: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Returns one policy type schema definition |
| operationId: getPolicySchemaUsingGET |
| parameters: |
| - name: id |
| in: query |
| description: The identity of the policy type to get the definition for. |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy schema |
| content: |
| '*/*': |
| schema: |
| type: object |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: The policy type is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /rics: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Query Near-RT RIC information |
| operationId: getRicsUsingGET_1 |
| parameters: |
| - name: policyType |
| in: query |
| description: The name of the policy type |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| '*/*': |
| schema: |
| type: array |
| items: |
| $ref: '#/components/schemas/ric_info_v1' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy type is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /policy_status: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Returns a policy status |
| operationId: getPolicyStatusUsingGET_1 |
| parameters: |
| - name: id |
| in: query |
| description: The identity of the policy. |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy status |
| content: |
| '*/*': |
| schema: |
| type: object |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /v2/policies/{policy_id}/status: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Returns a policy status |
| operationId: getPolicyStatusUsingGET |
| parameters: |
| - name: policy_id |
| in: path |
| description: policy_id |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy status |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policy_status_info_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /v2/rics: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Query Near-RT RIC information |
| description: The call returns all Near-RT RICs that supports a given policy |
| type identity |
| operationId: getRicsUsingGET |
| parameters: |
| - name: policytype_id |
| in: query |
| description: The identity of a policy type. If given, all Near-RT RICs supporteing |
| the policy type are returned |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ric_info_list_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy type is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /v2/configuration: |
| get: |
| tags: |
| - Component Configuration |
| summary: Returns the contents of the configuration file |
| description: Note that the file contents is not relevant if the Consul is used. |
| operationId: getConfigurationUsingGET |
| responses: |
| 200: |
| description: Configuration |
| content: |
| application/json: |
| schema: |
| type: object |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: File is not found or readable |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| put: |
| tags: |
| - Component Configuration |
| summary: Replace the current configuration file with the given configuration |
| description: Note that the file is ignored if the Consul is used. |
| operationId: putConfigurationUsingPUT |
| requestBody: |
| description: configuration |
| content: |
| application/json: |
| schema: |
| type: object |
| required: true |
| responses: |
| 200: |
| description: Configuration updated |
| content: {} |
| 201: |
| description: Created |
| content: {} |
| 400: |
| description: Invalid configuration provided |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Not Found |
| content: {} |
| 500: |
| description: Something went wrong when replacing the configuration. Try |
| again. |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /policy_ids: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Query policies, only policy identities returned |
| operationId: getPolicyIdsUsingGET_1 |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: service |
| in: query |
| description: The name of the service to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: type |
| in: query |
| description: The name of the policy type to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy identitiess |
| content: |
| '*/*': |
| schema: |
| type: array |
| items: |
| type: string |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC or type not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /policy_schemas: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Returns policy type schema definitions |
| operationId: getPolicySchemasUsingGET |
| parameters: |
| - name: ric |
| in: query |
| description: The name of the Near-RT RIC to get the definitions for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy schemas |
| content: |
| '*/*': |
| schema: |
| type: array |
| items: |
| type: object |
| properties: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /v2/policy-instances: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Query for A1 policy instances |
| description: Returns a list of A1 policies matching given search criteria. <br>If |
| several query parameters are defined, the policies matching all conditions |
| are returned. |
| operationId: getPolicyInstancesUsingGET |
| parameters: |
| - name: policytype_id |
| in: query |
| description: The identity of the policy type to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: ric_id |
| in: query |
| description: The identity of the Near-RT RIC to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: service_id |
| in: query |
| description: The identity of the service to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policies |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policy_info_list_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC, policy type or service not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /v2/services: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Returns service information |
| description: Either information about a registered service with given identity |
| or all registered services are returned. |
| operationId: getServicesUsingGET_1 |
| parameters: |
| - name: service_id |
| in: query |
| description: The identity of the service |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: OK |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/service_list_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Service is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| put: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Register a service |
| description: Registering a service is needed to:<ul><li>Get callbacks.</li><li>Activate |
| supervision of the service. If a service is inactive, its policies will be |
| deleted.</li></ul> |
| operationId: putServiceUsingPUT_1 |
| requestBody: |
| description: registrationInfo |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/service_registration_info_v2' |
| required: true |
| responses: |
| 200: |
| description: Service updated |
| content: |
| '*/*': |
| schema: |
| type: object |
| 201: |
| description: Service created |
| content: |
| '*/*': |
| schema: |
| type: object |
| 400: |
| description: The ServiceRegistrationInfo is not accepted |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Not Found |
| content: {} |
| deprecated: false |
| /ric: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Returns the name of a RIC managing one Mananged Element |
| operationId: getRicUsingGET_1 |
| parameters: |
| - name: managedElementId |
| in: query |
| description: The identity of the Managed Element |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Near-RT RIC is found |
| content: |
| '*/*': |
| schema: |
| type: string |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC is not found |
| content: |
| '*/*': |
| schema: |
| type: string |
| deprecated: false |
| /services/keepalive: |
| put: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Heartbeat from a service |
| operationId: keepAliveServiceUsingPUT |
| parameters: |
| - name: name |
| in: query |
| description: The name of the service |
| required: true |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Service supervision timer refreshed, OK |
| content: |
| '*/*': |
| schema: |
| type: string |
| 201: |
| description: Created |
| content: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: The service is not found, needs re-registration |
| content: {} |
| deprecated: false |
| /v2/services/{service_id}/keepalive: |
| put: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Heartbeat indicates that the service is running |
| operationId: keepAliveServiceUsingPUT_1 |
| parameters: |
| - name: service_id |
| in: path |
| description: service_id |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Service supervision timer refreshed, OK |
| content: |
| '*/*': |
| schema: |
| type: object |
| 201: |
| description: Created |
| content: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: The service is not found, needs re-registration |
| content: |
| '*/*': |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /status: |
| get: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Returns status and statistics of this service |
| operationId: getStatusUsingGET |
| responses: |
| 200: |
| description: Service is living |
| content: |
| '*/*': |
| schema: |
| type: string |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Not Found |
| content: {} |
| deprecated: false |
| /v2/rics/ric: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Returns info for one Near-RT RIC |
| description: Either a Near-RT RIC identity or a Mananged Element identity can |
| be specified.<br>The intention with Mananged Element identity is the ID used |
| in O1 for accessing the traffical element (such as the ID of CU). |
| operationId: getRicUsingGET |
| parameters: |
| - name: managed_element_id |
| in: query |
| description: The identity of a Managed Element. If given, the Near-RT RIC |
| managing the ME is returned. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: ric_id |
| in: query |
| description: The identity of a Near-RT RIC to get information for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Near-RT RIC is found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/ric_info_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /r-app/pms-callback: |
| post: |
| tags: |
| - R-App Callbacks |
| summary: Callback for Near-RT RIC status |
| description: The URL to this call is registerred at Service registration. |
| operationId: jobStatusCallbackUsingPOST |
| requestBody: |
| description: body |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/service_callback_info_v2' |
| required: true |
| responses: |
| 200: |
| description: OK |
| content: {} |
| 201: |
| description: Created |
| content: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Not Found |
| content: {} |
| deprecated: false |
| /v2/policy-types/{policytype_id}: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Returns a policy type definition |
| operationId: getPolicyTypeUsingGET |
| parameters: |
| - name: policytype_id |
| in: path |
| description: policytype_id |
| required: true |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy type |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policytype_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Policy type is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| /service: |
| put: |
| tags: |
| - A1 Policy Management Version 1.0 |
| summary: Register a service |
| operationId: putServiceUsingPUT |
| requestBody: |
| description: registrationInfo |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/service_registration_info_v1' |
| required: true |
| responses: |
| 200: |
| description: Service updated |
| content: |
| '*/*': |
| schema: |
| type: string |
| 201: |
| description: Service created |
| content: |
| '*/*': |
| schema: |
| type: string |
| 400: |
| description: The ServiceRegistrationInfo is not accepted |
| content: |
| '*/*': |
| schema: |
| type: string |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Not Found |
| content: {} |
| deprecated: false |
| /v2/policies: |
| get: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Query policy identities |
| description: Returns a list of A1 policies matching given search criteria. <br>If |
| several query parameters are defined, the policies matching all conditions |
| are returned. |
| operationId: getPolicyIdsUsingGET |
| parameters: |
| - name: policytype_id |
| in: query |
| description: The identity of the policy type to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: ric_id |
| in: query |
| description: The identity of the Near-RT RIC to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| - name: service_id |
| in: query |
| description: The identity of the service to get policies for. |
| allowEmptyValue: false |
| schema: |
| type: string |
| responses: |
| 200: |
| description: Policy identities |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policy_id_list_v2' |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC or type not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| put: |
| tags: |
| - A1 Policy Management Version 2.0 (in progress) |
| summary: Create or update a policy |
| operationId: putPolicyUsingPUT |
| requestBody: |
| description: policyInfo |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/policy_info_v2' |
| required: true |
| responses: |
| 200: |
| description: Policy updated |
| content: {} |
| 201: |
| description: Policy created |
| content: {} |
| 401: |
| description: Unauthorized |
| content: {} |
| 403: |
| description: Forbidden |
| content: {} |
| 404: |
| description: Near-RT RIC or policy type is not found |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| 423: |
| description: Near-RT RIC is not operational |
| content: |
| application/json: |
| schema: |
| $ref: '#/components/schemas/error_information' |
| deprecated: false |
| components: |
| schemas: |
| error_information: |
| title: error_information |
| type: object |
| properties: |
| detail: |
| type: string |
| description: ' A human-readable explanation specific to this occurrence |
| of the problem.' |
| example: Policy type not found |
| status: |
| type: integer |
| description: 'The HTTP status code generated by the origin server for this |
| occurrence of the problem. ' |
| format: int32 |
| example: 503 |
| description: Problem as defined in https://tools.ietf.org/html/rfc7807 |
| void: |
| title: void |
| type: object |
| description: Void/empty |
| status_info_v2: |
| title: status_info_v2 |
| type: object |
| properties: |
| status: |
| type: string |
| description: status text |
| policy_info_v1: |
| title: policy_info_v1 |
| type: object |
| properties: |
| service: |
| type: string |
| description: the name of the service owning the policy |
| json: |
| type: object |
| properties: {} |
| description: the configuration of the policy |
| id: |
| type: string |
| description: identity of the policy |
| lastModified: |
| type: string |
| description: timestamp, last modification time |
| type: |
| type: string |
| description: name of the policy type |
| ric: |
| type: string |
| description: identity of the target Near-RT RIC |
| Mono«ResponseEntity«object»»: |
| title: Mono«ResponseEntity«object»» |
| type: object |
| ric_info_v2: |
| title: ric_info_v2 |
| type: object |
| properties: |
| ric_id: |
| type: string |
| description: identity of the Near-RT RIC |
| managed_element_ids: |
| type: array |
| description: O1 identities for managed entities |
| items: |
| type: string |
| state: |
| type: string |
| description: "State for the Near-RT RIC, values: \nUNAVAILABLE: The Near-RT\ |
| \ RIC is not avialable, information may be inconsistent \nAVAILABLE: The\ |
| \ normal state. Policies can be configured. +\nSYNCHRONIZING: The Policy\ |
| \ Management Service is synchronizing the view of the Near-RT RIC. Policies\ |
| \ cannot be configured. \nCONSISTENCY_CHECK: A consistency check between\ |
| \ the Policy Management Service and the Near-RT RIC. Policies cannot be\ |
| \ configured." |
| enum: |
| - UNAVAILABLE |
| - AVAILABLE |
| - SYNCHRONIZING |
| - CONSISTENCY_CHECK |
| policytype_ids: |
| type: array |
| description: supported policy types |
| items: |
| type: string |
| description: Information for a Near-RT RIC |
| service_registration_info_v1: |
| title: service_registration_info_v1 |
| type: object |
| properties: |
| keepAliveIntervalSeconds: |
| type: integer |
| description: keep alive interval for the service. This is a heartbeat supervision |
| of the service, which in regular intevals must invoke a 'keepAlive' REST |
| call. When a service does not invoke this call within the given time, |
| it is considered unavailble. An unavailable service will be automatically |
| deregistered and its policies will be deleted. Value 0 means no timeout |
| supervision. |
| format: int64 |
| callbackUrl: |
| type: string |
| description: callback for notifying of RIC synchronization |
| serviceName: |
| type: string |
| policy_info_list_v2: |
| title: policy_info_list_v2 |
| type: object |
| properties: |
| policies: |
| type: array |
| description: List of policy information |
| items: |
| $ref: '#/components/schemas/policy_info_v2' |
| description: List of policy information |
| service_registration_info_v2: |
| title: service_registration_info_v2 |
| required: |
| - service_id |
| type: object |
| properties: |
| callback_url: |
| type: string |
| description: callback for notifying of Near-RT RIC state changes |
| service_id: |
| type: string |
| description: identity of the service |
| keep_alive_interval_seconds: |
| type: integer |
| description: keep alive interval for the service. This is a heartbeat supervision |
| of the service, which in regular intevals must invoke a 'keepAlive' REST |
| call. When a service does not invoke this call within the given time, |
| it is considered unavailble. An unavailable service will be automatically |
| deregistered and its policies will be deleted. Value 0 means no timeout |
| supervision. |
| format: int64 |
| description: Information for one service |
| ric_info_v1: |
| title: ric_info_v1 |
| type: object |
| properties: |
| managedElementIds: |
| type: array |
| description: O1 identities for managed entities |
| items: |
| type: string |
| policyTypes: |
| type: array |
| description: supported policy types |
| items: |
| type: string |
| state: |
| type: string |
| description: state info |
| ricName: |
| type: string |
| description: identity of the Near-RT RIC |
| policy_status_info_v2: |
| title: policy_status_info_v2 |
| type: object |
| properties: |
| last_modified: |
| type: string |
| description: timestamp, last modification time |
| status: |
| type: object |
| properties: {} |
| description: the Policy status |
| description: Status for one A1-P Policy |
| service_status_v1: |
| title: service_status_v1 |
| type: object |
| properties: |
| keepAliveIntervalSeconds: |
| type: integer |
| description: policy keep alive timeout |
| format: int64 |
| callbackUrl: |
| type: string |
| description: callback for notifying of RIC synchronization |
| timeSinceLastActivitySeconds: |
| type: integer |
| description: time since last invocation by the service |
| format: int64 |
| serviceName: |
| type: string |
| description: identity of the service |
| service_status_v2: |
| title: service_status_v2 |
| type: object |
| properties: |
| callback_url: |
| type: string |
| description: callback for notifying of RIC synchronization |
| service_id: |
| type: string |
| description: identity of the service |
| keep_alive_interval_seconds: |
| type: integer |
| description: policy keep alive timeout |
| format: int64 |
| time_since_last_activity_seconds: |
| type: integer |
| description: time since last invocation by the service |
| format: int64 |
| policytype_v2: |
| title: policytype_v2 |
| type: object |
| properties: |
| policy_schema: |
| type: object |
| properties: {} |
| description: Policy type json scema. The schema is a json object following |
| http://json-schema.org/draft-07/schema |
| description: Policy type |
| ric_info_list_v2: |
| title: ric_info_list_v2 |
| type: object |
| properties: |
| rics: |
| type: array |
| description: List of Near-RT RIC information |
| items: |
| $ref: '#/components/schemas/ric_info_v2' |
| description: List of Near-RT RIC information |
| policytype_id_list_v2: |
| title: policytype_id_list_v2 |
| type: object |
| properties: |
| policytype_ids: |
| type: array |
| description: Policy type identities |
| items: |
| type: string |
| description: Information about policy types |
| policy_id_list_v2: |
| title: policy_id_list_v2 |
| type: object |
| properties: |
| policy_ids: |
| type: array |
| description: Policy identities |
| items: |
| type: string |
| description: A list of policy identities |
| policy_info_v2: |
| title: policy_info_v2 |
| required: |
| - policy_data |
| - policy_id |
| - policytype_id |
| - ric_id |
| - service_id |
| type: object |
| properties: |
| ric_id: |
| type: string |
| description: identity of the target Near-RT RIC |
| policy_id: |
| type: string |
| description: identity of the policy |
| transient: |
| type: boolean |
| description: if true, the policy is deleted at RIC restart. If false, its |
| value is maintained by this service until explicitly deleted. Default |
| false. |
| service_id: |
| type: string |
| description: the name of the service owning the policy |
| policy_data: |
| type: object |
| properties: {} |
| description: the configuration of the policy |
| status_notification_uri: |
| type: string |
| description: Callback URI for policy status updates |
| policytype_id: |
| type: string |
| description: identity of the policy type |
| description: Information for one A1-P Policy |
| service_list_v2: |
| title: service_list_v2 |
| type: object |
| properties: |
| service_list: |
| type: array |
| description: List of service information |
| items: |
| $ref: '#/components/schemas/service_status_v2' |
| description: List of service information |
| service_callback_info_v2: |
| title: service_callback_info_v2 |
| required: |
| - event_type |
| - ric_id |
| type: object |
| properties: |
| ric_id: |
| type: string |
| description: identity of a Near-RT RIC |
| event_type: |
| type: string |
| description: |- |
| values: |
| AVAILABLE: the Near-RT RIC has become available for A1 Policy management |
| enum: |
| - AVAILABLE |
| description: Information transferred as in Service callbacks (callback_url) |
| Mono«ResponseEntity«string»»: |
| title: Mono«ResponseEntity«string»» |
| type: object |