# ============LICENSE_START======================================================= # Copyright (C) 2020-2023 Nordix Foundation. All rights reserved. # Copyright (C) 2023-2025 OpenInfra Foundation Europe. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= openapi: 3.0.3 info: contact: email: discuss-list@onap.com name: ONAP CCSDK Project url: https://www.onap.org/ description: "
The ONAP CCSDK A1 Policy Management Service provides\
\ a REST API for managing A1 policies.
This document describes an older pre-spec\
\ API set to perform tasks for:
This is an older API for managing A1 Policies:
API for\ \ updating and retrieval of the component configuration. Note that there other\ \ ways to maintain the configuration.
These are\ \ endpoints that are invoked by this service. The callbacks are registered in\ \ this service at service registration.
This is an API that provides support for looking up a NearRT-RIC. Each A1\ \ policy is targeted towards one Near-RT RIC.
API used\ \ for supervision of the A1 Policy Management Service .
API used for registering services/clients/rApps. Each\ \ A1 Policy can be tagged with an owner. If the owner service is registered, then\ \ the service can be monitored by a heart-beat supervision mechanism, and if the\ \ registered service becomes unavailable, then its A1 Policies are removed. Note\ \ that services do not need to be registered to create A1 Policies, but unregistered\ \ services are not supervised. This is a feature that is optional to use.
API used for access control of A1 Policy access. If configured, an\ \ external authorization provider is requested to grant access to the A1 Policy\ \ Type.
Provides built-in functions used to\ \ monitor and configure the Spring web application hosting the service.
" license: name: "Copyright (C) 2020-2023 Nordix Foundation, and Copyright (C) 2024-2025\ \ OpenInfra Foundation Europe. \nAll rights reserved. Licensed under the Apache\ \ 2 License.\n" url: http://www.apache.org/licenses/LICENSE-2.0 title: ONAP CCSDK - Pre-Spec A1 Policy Management API version: 1.3.0 x-api-id: a31c510b-20e6-4a08-af16-368c44d7fba8 x-audience: external-public servers: - url: / tags: - description: | Older pre-spec API used to get, create, update and delete A1 Policy Instances. Also used to query A1 Policy Types. name: A1 Policy Management - description: | Older API used to get information about registered Near-RT RICs. name: NearRT-RIC Repository - description: | Older API used to manage registered services, and control their keep-alive status via heart-beat messages. name: Service Registry and Supervision - description: | API used to get the health status and statistics of this service name: Health Check - description: | 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. name: Service Callbacks - description: | 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. name: Authorization API - description: | API used to create or fetch the application configuration. name: Configuration - description: | API used to monitor and configure the A1-PMS Springboot Service. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html name: Actuator API paths: /status: get: description: Returns status and statistics of this service operationId: getStatusV1 responses: "200": content: '*/*': schema: type: string description: OK - Service is living summary: Get Status (getStatusV1) tags: - Health Check /a1-policy/v2/status: get: description: Returns status and statistics of this service operationId: getStatus responses: "200": content: application/json: examples: status_info: $ref: '#/components/examples/status_info' schema: $ref: '#/components/schemas/status_info' description: OK- Service is living Ok summary: Get Status (getStatus) tags: - Health Check /a1-policy/v2/rics/ric: get: description: | 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). operationId: getRic parameters: - description: | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned. explode: true in: query name: managed_element_id required: false schema: type: string style: form - description: The identity of a Near-RT RIC to get information for. explode: true in: query name: ric_id required: false schema: type: string style: form responses: "200": content: application/json: examples: ric_info: $ref: '#/components/examples/ric_info' schema: $ref: '#/components/schemas/ric_info' description: OK - Near-RT RIC is found "404": content: application/problem+json: example: [] description: Not Found summary: Get a Near-RT RIC (getRic) tags: - NearRT-RIC Repository /a1-policy/v2/policy-types: get: description: Query A1 Policy Type identities using query parameters operationId: getPolicyTypes parameters: - description: Select types for the given Near-RT RIC identity. explode: true in: query name: ric_id required: false schema: type: string style: form - description: Select types compatible with the given type name (type identity has the format 'typename_version') explode: true in: query name: type_name required: false schema: type: string style: form - description: Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. explode: true in: query name: compatible_with_version required: false schema: type: string style: form responses: "200": content: application/json: examples: policy_type_id_list: $ref: '#/components/examples/policy_type_id_list' schema: $ref: '#/components/schemas/policy_type_id_list' description: OK - Policy Type IDs Found "404": content: application/problem+json: example: [] description: Not Found summary: Get A1 Policy Types (getPolicyTypes) tags: - A1 Policy Management /a1-policy/v2/policies/{policy_id}: delete: description: Delete an A1 Policy instance using its policy ID. operationId: deletePolicy parameters: - explode: false in: path name: policy_id required: true schema: type: string style: simple responses: "200": content: '*/*': schema: $ref: '#/components/schemas/void' description: OK - Policy deleted "423": content: application/problem+json: example: status: 423 title: Locked detail: Requested resource is in a locked state. schema: $ref: '#/components/schemas/error_information' description: Locked - HTTP Status code which can be used when the state is Locked summary: Delete an A1 Policy instance (deletePolicy) tags: - A1 Policy Management get: description: Get an A1 Policy instance using its policy ID operationId: getPolicy parameters: - explode: false in: path name: policy_id required: true schema: type: string style: simple responses: "200": content: application/json: examples: policy_info: $ref: '#/components/examples/policy_info' schema: $ref: '#/components/schemas/policy_info' description: OK - Policy found "404": content: application/problem+json: example: [] description: Not Found summary: Get an A1 Policy instance (getPolicy) tags: - A1 Policy Management /a1-policy/v2/services/{service_id}/keepalive: put: description: "A registered service should invoke this operation regularly to\ \ indicate that it is still alive. If a registered service fails to invoke\ \ some operation, or this operation, before the end of a timeout period the\ \ service will be deregistered and all its A1 policies wil be removed. This\ \ operation is only intended for registered services. (This timeout can be\ \ set or disabled when each service is initially registered)" operationId: keepAliveService parameters: - explode: false in: path name: service_id required: true schema: type: string style: simple responses: "200": content: '*/*': schema: type: object description: "OK - Service supervision timer refreshed, OK" "404": content: application/problem+json: example: [] description: Not Found summary: Heartbeat message from a service (keepAliveService) tags: - Service Registry and Supervision /a1-policy/v2/rics: get: description: Get all Near-RT RICs that supports a given A1 Policy Type ID operationId: getRics parameters: - description: | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned. explode: true in: query name: policytype_id required: false schema: type: string style: form responses: "200": content: application/json: examples: ric_info_list: $ref: '#/components/examples/ric_info_list' schema: $ref: '#/components/schemas/ric_info_list' description: OK "404": content: application/problem+json: example: [] description: Not Found summary: Get Near-RT RICs for A1 Policy Type (getRics) tags: - NearRT-RIC Repository /a1-policy/v2/services: get: description: | 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. operationId: getServices parameters: - description: The identity of the registered service explode: true in: query name: service_id required: false schema: type: string style: form responses: "200": content: application/json: examples: service_status_list: $ref: '#/components/examples/service_status_list' schema: $ref: '#/components/schemas/service_status_list' description: OK "404": content: application/problem+json: example: [] description: Not Found summary: Get Services (getServices) tags: - Service Registry and Supervision put: callbacks: RICStatus: '{$request.body#/callback_url}': post: description: "Callouts to indicate Near-RT RIC status changes relevant\ \ for Services. \nThe URL invoked by this callback is provided at\ \ Service registration.\n" operationId: serviceCallback requestBody: content: application/json: schema: $ref: '#/components/schemas/service_callback_info_v2' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/void' description: OK "404": content: application/problem+json: example: [] description: Not Found summary: Callback for Near-RT RIC status (serviceCallback) tags: - Service Registry and Supervision - Service Callbacks x-callback-request: true description: | 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. operationId: putService requestBody: content: application/json: schema: $ref: '#/components/schemas/service_registration_info' required: true responses: "200": content: '*/*': schema: type: object description: OK - Service updated "201": content: '*/*': schema: type: object description: Created - Service created "400": content: application/problem+json: example: status: 400 title: Bad Request detail: The provided request is not valid. schema: $ref: '#/components/schemas/error_information' description: Bad Request summary: Register or update a Service (putService) tags: - Service Registry and Supervision /a1-policy/v2/policy-types/{policytype_id}: get: description: Get an A1 Policy Type definition using its policy type ID operationId: getPolicyTypeDefinition parameters: - explode: false in: path name: policytype_id required: true schema: type: string style: simple responses: "200": content: application/json: examples: policy_type_definition: $ref: '#/components/examples/policy_type_definition' schema: $ref: '#/components/schemas/policy_type_definition' description: OK - schema of the requested A1 Policy Type "404": content: application/problem+json: example: [] description: Not Found summary: Get an A1 Policy Type definition (getPolicyTypeDefinition) tags: - A1 Policy Management /a1-policy/v2/policies: get: description: | 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. operationId: getPolicyIds parameters: - description: Select policies of a given A1 Policy Type ID. explode: true in: query name: policytype_id required: false schema: type: string style: form - description: Select policies of a given Near-RT RIC identity. explode: true in: query name: ric_id required: false schema: type: string style: form - description: Select policies owned by a given service. (Both registered and unregistered services) explode: true in: query name: service_id required: false schema: type: string style: form - description: | Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version') explode: true in: query name: type_name required: false schema: type: string style: form responses: "200": content: application/json: examples: policy_id_list: $ref: '#/components/examples/policy_id_list' schema: $ref: '#/components/schemas/policy_id_list' description: OK - Policy identities "404": content: application/problem+json: example: [] description: Not Found summary: Query A1 Policy Instances (getPolicyIds) tags: - A1 Policy Management put: description: Create or Update an A1 Policy Instance operationId: putPolicy requestBody: content: application/json: schema: $ref: '#/components/schemas/policy_info' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/void' description: OK - Policy updated "201": content: application/json: schema: $ref: '#/components/schemas/void' description: Created - Policy created "423": content: application/problem+json: example: status: 423 title: Locked detail: Requested resource is in a locked state. schema: $ref: '#/components/schemas/error_information' description: Locked - HTTP Status code which can be used when the state is Locked summary: Create or Update an A1 Policy Instance (putPolicy) tags: - A1 Policy Management /a1-policy/v2/policy-instances: get: description: | 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. operationId: getPolicyInstances parameters: - description: Select policies with a given A1 Policy Type ID. explode: true in: query name: policytype_id required: false schema: type: string style: form - description: Select policies for a given Near-RT RIC identity. explode: true in: query name: ric_id required: false schema: type: string style: form - description: Select policies owned by a given service (registered or unregistered). explode: true in: query name: service_id required: false schema: type: string style: form - description: Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). explode: true in: query name: type_name required: false schema: type: string style: form responses: "200": content: application/json: examples: policy_info_list: $ref: '#/components/examples/policy_info_list' schema: $ref: '#/components/schemas/policy_info_list' description: OK - Returns A1 Policy Instances which match the criteria "404": content: application/json: schema: $ref: '#/components/schemas/error_information' description: "Not Found - Near-RT RIC, A1 Policy Type or service was not\ \ found" summary: Query for A1 Policy instances (getPolicyInstances) tags: - A1 Policy Management /a1-policy/v2/services/{service_id}: delete: description: | 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. operationId: deleteService parameters: - explode: false in: path name: service_id required: true schema: type: string style: simple responses: "204": content: '*/*': schema: type: object description: No Content - Service unregistered "404": content: application/problem+json: example: [] description: Not Found summary: Unregister a Service (deleteService) tags: - Service Registry and Supervision /a1-policy/v2/policies/{policy_id}/status: get: description: Retrieve the status information for an A1 Policy Instance. operationId: getPolicyStatus parameters: - explode: false in: path name: policy_id required: true schema: type: string style: simple responses: "200": content: application/json: examples: policy_status_info: $ref: '#/components/examples/policy_status_info' schema: $ref: '#/components/schemas/policy_status_info' description: OK - Policy status "404": content: application/problem+json: example: [] description: Not Found summary: Get an A1 Policy Instance's status (getPolicyStatus) tags: - A1 Policy Management /a1-policy/v2/configuration: get: description: Returns the entire contents of the Application Configuration. operationId: getConfiguration responses: "200": content: application/json: schema: type: string description: OK - Configuration "404": content: application/problem+json: example: [] description: Not Found summary: Get the Application Configuration (getConfiguration) tags: - Configuration put: description: | 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) operationId: putConfiguration requestBody: content: application/json: schema: type: object required: true responses: "200": content: '*/*': schema: $ref: '#/components/schemas/void' description: OK - Configuration updated "400": content: application/problem+json: example: status: 400 title: Bad Request detail: The provided request is not valid. schema: $ref: '#/components/schemas/error_information' description: Bad Request summary: Set/Replace the Application Configuration (putConfiguration) tags: - Configuration /example-authz-check: post: description: | A template endpoint for callout requests to an external authorization function. The authorization function, if enabled, decides if individual operations are permitted. operationId: performAccessControl requestBody: content: application/json: schema: $ref: '#/components/schemas/policy_authorization' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/authorization_result' description: OK "403": content: application/problem+json: example: status: 403 title: Forbidden detail: Your role does not allow to perform this action. Contact System Administrator to change your access rights. schema: $ref: '#/components/schemas/error_information' description: Forbidden summary: Callout request for access authorization (performAccessControl) tags: - Authorization API /actuator: get: description: | A1-PMS Springboot Service Actuator web endpoint. Returns a set of links to available/enabled actuator endpoints. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorLinks responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: additionalProperties: additionalProperties: $ref: '#/components/schemas/Link' type: object type: object application/json: schema: additionalProperties: additionalProperties: $ref: '#/components/schemas/Link' type: object type: object application/vnd.spring-boot.actuator.v2+json: schema: additionalProperties: additionalProperties: $ref: '#/components/schemas/Link' type: object type: object description: OK summary: Actuator endpoint - Root (actuatorLinks) tags: - Actuator API x-internal: true /actuator/heapdump: get: description: | A1-PMS Springboot Service Actuator web endpoint - HeapDump. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorHeapdump responses: "200": content: application/octet-stream: schema: type: object description: OK summary: Actuator endpoint - Heapdump (actuatorHeapdump) tags: - Actuator API x-internal: true /actuator/info: get: description: | A1-PMS Springboot Service Actuator web endpoint - Info. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorInfo responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Info (actuatorInfo) tags: - Actuator API x-internal: true /actuator/threaddump: get: description: | A1-PMS Springboot Service Actuator web endpoint - ThreadDump. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorThreaddump responses: "200": content: text/plain;charset=UTF-8: schema: type: object application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Threaddump (actuatorThreaddump) tags: - Actuator API x-internal: true /actuator/loggers: get: description: | A1-PMS Springboot Service Actuator web endpoint - Get a list of Loggers. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorLoggers responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Get Loggers (actuatorLoggers) tags: - Actuator API x-internal: true /actuator/loggers/{name}: get: description: | A1-PMS Springboot Service Actuator web endpoint - Get a single named Logger. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorGetLogger parameters: - explode: false in: path name: name required: true schema: type: string style: simple responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Get Logger (actuatorGetLogger) tags: - Actuator API x-internal: true post: description: | A1-PMS Springboot Service Actuator web endpoint - Create or Update single named Logger. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorSetlogger parameters: - explode: false in: path name: name required: true schema: type: string style: simple requestBody: content: application/json: schema: enum: - TRACE - DEBUG - INFO - WARN - ERROR - FATAL - "OFF" type: string responses: "200": content: '*/*': schema: type: object description: OK summary: Actuator endpoint - Set Logger (actuatorSetlogger) tags: - Actuator API x-internal: true /actuator/logfile: get: description: | A1-PMS Springboot Service Actuator web endpoint - Get the Log file. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorGetLogFile responses: "200": content: text/plain;charset=UTF-8: schema: type: object description: OK summary: Actuator endpoint - Log File (actuatorGetLogFile) tags: - Actuator API x-internal: true /actuator/health: get: description: | A1-PMS Springboot Service Actuator web endpoint - Health Check. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorHealth responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Health (actuatorHealth) tags: - Actuator API x-internal: true /actuator/health/**: get: description: | A1-PMS Springboot Service Actuator web endpoint - Health Status for an Application Component. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorHealthComponent responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Component Health (actuatorHealthComponent) tags: - Actuator API x-internal: true /actuator/shutdown: post: description: | A1-PMS Springboot Service Actuator web endpoint - Shutdown the Application. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorShutdown responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Shutdown (actuatorShutdown) tags: - Actuator API x-internal: true /actuator/metrics: get: description: | A1-PMS Springboot Service Actuator web endpoint - Get a list of Application metrics names. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorMetrics responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Metrics (actuatorMetrics) tags: - Actuator API x-internal: true /actuator/metrics/{requiredMetricName}: get: description: | A1-PMS Springboot Service Actuator web endpoint - Get the value for a named Application metric. externalDocs: description: Spring Boot Actuator Web API Documentation url: https://docs.spring.io/spring-boot/reference/actuator/endpoints.html operationId: actuatorGetMetric parameters: - explode: false in: path name: requiredMetricName required: true schema: type: string style: simple responses: "200": content: application/vnd.spring-boot.actuator.v3+json: schema: type: object application/json: schema: type: object application/vnd.spring-boot.actuator.v2+json: schema: type: object description: OK summary: Actuator endpoint - Get Metric (actuatorGetMetric) x-internal: true components: examples: status_info: value: status: status ric_info: value: ric_id: ric_id managed_element_ids: - some_managed_element_id - some_managed_element_id state: UNAVAILABLE policytype_ids: - some_policytype_id - some_policytype_id policy_type_id_list: description: Array of A1 Policy Type id's value: policy_type_id_list: - policytype_id - policytype_id policy_info: description: Information for an A1 Policy Instance value: ric_id: ric_id1 policy_id: policy_id1 transient: false service_id: service_id1 policy_data: "{}" status_notification_uri: status_notification_uri policytype_id: policytype_id1 ric_info_list: value: rics: - ric_id: ric_id managed_element_ids: - some_managed_element_id - some_managed_element_id state: UNAVAILABLE policytype_ids: - policytype_id - policytype_id - ric_id: ric_id managed_element_ids: - managed_element_ids - managed_element_ids state: UNAVAILABLE policytype_ids: - policytype_ids - policytype_ids service_status_list: description: List of service information value: service_list: - callback_url: callback_url service_id: service_id keep_alive_interval_seconds: 0 time_since_last_activity_seconds: 6 - callback_url: callback_url service_id: service_id keep_alive_interval_seconds: 0 time_since_last_activity_seconds: 6 policy_type_definition: description: Schema of the given A1 Policy Type value: policy_schema: "{}" policy_id_list: description: A list of policy identities value: policy_ids: - some_policy_id - some_policy_id policy_info_list: description: List of policy information value: policies: - ric_id: ric_id1 policy_id: policy_id1 transient: false service_id: service_id1 policy_data: "{}" status_notification_uri: status_notification_uri policytype_id: policytype_id1 - ric_id: ric_id2 policy_id: policy_id2 transient: true service_id: service_id2 policy_data: "{}" status_notification_uri: status_notification_uri policytype_id: policytype_id2 policy_status_info: description: Status for one A1-P Policy value: last_modified: last_modified status: value: status: status responses: NotFound: content: application/problem+json: example: [] description: Not Found Locked: content: application/problem+json: example: status: 423 title: Locked detail: Requested resource is in a locked state. schema: $ref: '#/components/schemas/error_information' description: Locked - HTTP Status code which can be used when the state is Locked BadRequest: content: application/problem+json: example: status: 400 title: Bad Request detail: The provided request is not valid. schema: $ref: '#/components/schemas/error_information' description: Bad Request Forbidden: content: application/problem+json: example: status: 403 title: Forbidden detail: Your role does not allow to perform this action. Contact System Administrator to change your access rights. schema: $ref: '#/components/schemas/error_information' description: Forbidden schemas: status_info: example: status: status properties: status: description: status text type: string type: object ric_info: description: Information for a Near-RT RIC example: ric_id: ric_id managed_element_ids: - managed_element_ids - managed_element_ids state: UNAVAILABLE policytype_ids: - policytype_ids - policytype_ids properties: ric_id: description: identity of the Near-RT RIC type: string managed_element_ids: description: O1 identities for managed entities items: description: O1 identities for managed entities type: string type: array state: description: Represents the states for a Near-RT RIC enum: - UNAVAILABLE - AVAILABLE - SYNCHRONIZING - CONSISTENCY_CHECK type: string policytype_ids: description: supported A1 Policy Types items: description: supported A1 Policy Types type: string type: array type: object policy_type_id_list: description: Information about A1 Policy Types example: policytype_ids: - policytype_ids - policytype_ids properties: policytype_ids: description: A1 Policy Type identities items: description: A1 Policy Type identities type: string type: array type: object policy_info: description: Information for one A1-P Policy example: ric_id: ric_id policy_id: policy_id transient: false service_id: "" policy_data: "{}" status_notification_uri: status_notification_uri policytype_id: policytype_id properties: ric_id: description: identity of the target Near-RT RIC type: string policy_id: description: identity of the policy type: string transient: default: false description: | 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. example: false nullable: false type: boolean service_id: default: "" description: | The identity of the service owning the policy. This can be used to group the policies (it is possible to get all policies associated to a service). Note that the service does not need to be registered. If the service is registered, the A1 Policy Instance will be subject to the same supervision rules as the the service's other policies. type: string policy_data: description: the configuration of the policy type: object status_notification_uri: description: Callback URI for policy status updates type: string policytype_id: description: identity of the A1 Policy Type type: string required: - policy_data - policy_id - policytype_id - ric_id type: object void: description: Void/empty type: object error_information: description: Problem as defined in https://tools.ietf.org/html/rfc7807 example: detail: A1 Policy Type not found title: Not Found status: 404 properties: detail: description: ' A human-readable explanation specific to this occurrence of the problem.' example: A1 Policy Type not found type: string title: description: A specific error name example: Not Found type: string status: description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' example: 404 format: int32 type: integer type: object ric_info_list: description: List of Near-RT RIC information example: rics: - ric_id: ric_id managed_element_ids: - managed_element_ids - managed_element_ids state: UNAVAILABLE policytype_ids: - policytype_ids - policytype_ids - ric_id: ric_id managed_element_ids: - managed_element_ids - managed_element_ids state: UNAVAILABLE policytype_ids: - policytype_ids - policytype_ids properties: rics: description: List of Near-RT RIC information items: $ref: '#/components/schemas/ric_info' type: array type: object service_status_list: example: service_list: - callback_url: callback_url service_id: service_id keep_alive_interval_seconds: 0 time_since_last_activity_seconds: 6 - callback_url: callback_url service_id: service_id keep_alive_interval_seconds: 0 time_since_last_activity_seconds: 6 properties: service_list: description: List of service information items: $ref: '#/components/schemas/service_status' type: array type: object service_status: example: callback_url: callback_url service_id: service_id keep_alive_interval_seconds: 0 time_since_last_activity_seconds: 6 properties: callback_url: description: callback for notifying of RIC synchronization type: string service_id: description: identity of the service type: string keep_alive_interval_seconds: description: policy keep alive timeout format: int64 type: integer time_since_last_activity_seconds: description: time since last invocation by the service format: int64 type: integer type: object service_registration_info: description: Information for one service properties: callback_url: description: Callback for notifying of Near-RT RIC state changes type: string service_id: description: identity of the service type: string keep_alive_interval_seconds: description: | Keep alive interval for the service. This is used to enable optional heartbeat supervision of the service. If set (> 0) the registered service should regularly invoke a 'keepalive' REST call. When a service fails to invoke this 'keepalive' call within the configured time, the service is considered unavailable. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means timeout supervision is disabled. format: int64 type: integer required: - service_id type: object service_callback_info_v2: description: "Information transferred in Service callbacks, \nif a callback\ \ URL was provided for a registered service\n" properties: ric_id: description: identity of a Near-RT RIC type: string event_type: description: "values: \n AVAILABLE: the Near-RT RIC has become available\ \ for A1 Policy management\n" enum: - AVAILABLE type: string required: - event_type - ric_id type: object policy_type_definition: description: Contains A1 Policy Type schema definition example: policy_schema: "{}" properties: policy_schema: description: A1 Policy Type json schema. The schema is a json object following http://json-schema.org/draft-07/schema type: object type: object policy_id_list: description: A list of policy identities example: policy_ids: - policy_ids - policy_ids properties: policy_ids: description: Policy identities items: description: Policy identities type: string type: array type: object policy_info_list: description: List of policy information example: policies: - ric_id: ric_id policy_id: policy_id transient: false service_id: "" policy_data: "{}" status_notification_uri: status_notification_uri policytype_id: policytype_id - ric_id: ric_id policy_id: policy_id transient: false service_id: "" policy_data: "{}" status_notification_uri: status_notification_uri policytype_id: policytype_id properties: policies: description: List of policy information items: $ref: '#/components/schemas/policy_info' type: array type: object policy_status_info: description: Status for one A1-P Policy example: last_modified: last_modified status: "{}" properties: last_modified: description: "timestamp, last modification time" type: string status: description: the Policy status type: object type: object policy_authorization: description: Authorization request for A1 policy requests properties: input: $ref: '#/components/schemas/input' required: - input type: object input: description: input properties: access_type: description: Access type enum: - READ - WRITE - DELETE type: string auth_token: description: Authorization token type: string policy_type_id: description: A1 Policy Type identifier type: string required: - access_type - auth_token - policy_type_id type: object authorization_result: description: Result of authorization example: result: true properties: result: description: "If true, the access is granted" type: boolean required: - result type: object Link: properties: templated: type: boolean href: type: string type: object