Add generation of API yaml file

Change-Id: I3f3091c76b926425f9a2187e43dd03a1cdb4bda6
Issue-ID: CCSDK-2736
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
diff --git a/.gitignore b/.gitignore
index 16a2534..a8cc7dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,5 @@
 ## Documentation ignores ##
 .tox
 _build/
+.swagger*
+docs/offeredapis/swagger/README.md
diff --git a/a1-policy-management/api/README.md b/a1-policy-management/api/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/a1-policy-management/api/README.md
diff --git a/a1-policy-management/api/pms-api.json b/a1-policy-management/api/pms-api.json
new file mode 100644
index 0000000..b1bea44
--- /dev/null
+++ b/a1-policy-management/api/pms-api.json
@@ -0,0 +1,1449 @@
+{
+    "basePath": "/",
+    "paths": {
+        "/policy_types": {"get": {
+            "summary": "Query policy type names",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyTypesUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "Policy type names"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "ric",
+                "description": "The name of the Near-RT RIC to get types for.",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/v2/status": {"get": {
+            "summary": "Returns status and statistics of this service",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getStatusUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/status_info_v2"},
+                    "description": "Service is living"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/v2/policy-types": {"get": {
+            "summary": "Query policy type identities",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyTypesUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policytype_id_list_v2"},
+                    "description": "Policy type IDs"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "ric_id",
+                "description": "The identity of the Near-RT RIC to get types for.",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/services": {
+            "get": {
+                "summary": "Returns service information",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "getServicesUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {
+                            "type": "array",
+                            "items": {"$ref": "#/definitions/service_status_v1"}
+                        },
+                        "description": "OK"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Service is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "name",
+                    "description": "The name of the service",
+                    "type": "string",
+                    "required": false
+                }],
+                "tags": ["A1 Policy Management Version 1.0"]
+            },
+            "delete": {
+                "summary": "Delete a service",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deleteServiceUsingDELETE",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "string"},
+                        "description": "OK"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "204": {
+                        "schema": {"type": "string"},
+                        "description": "Service deleted"
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Service not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "name",
+                    "description": "The name of the service",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 1.0"]
+            }
+        },
+        "/v2/services/{service_id}": {"delete": {
+            "summary": "Unregister a service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "deleteServiceUsingDELETE_1",
+            "responses": {
+                "200": {"description": "Not used"},
+                "401": {"description": "Unauthorized"},
+                "204": {
+                    "schema": {"type": "object"},
+                    "description": "Service unregistered"
+                },
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Service not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "service_id",
+                "description": "service_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/policy": {
+            "get": {
+                "summary": "Returns a policy configuration",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "getPolicyUsingGET_1",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "object"},
+                        "description": "Policy found"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {"description": "Policy is not found"}
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "id",
+                    "description": "The identity of the policy instance.",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 1.0"]
+            },
+            "delete": {
+                "summary": "Delete a policy",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deletePolicyUsingDELETE_1",
+                "responses": {
+                    "200": {"description": "Not used"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"type": "string"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "204": {"description": "Policy deleted"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "id",
+                    "description": "The identity of the policy instance.",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 1.0"]
+            },
+            "put": {
+                "summary": "Put a policy",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "putPolicyUsingPUT_1",
+                "responses": {
+                    "200": {"description": "Policy updated"},
+                    "201": {"description": "Policy created"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"type": "string"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"type": "string"},
+                        "description": "Near-RT RIC or policy type is not found"
+                    }
+                },
+                "parameters": [
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "id",
+                        "description": "The identity of the policy instance.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "schema": {"type": "object"},
+                        "in": "body",
+                        "name": "jsonBody",
+                        "description": "jsonBody",
+                        "required": true
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "ric",
+                        "description": "The name of the Near-RT RIC where the policy will be created.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "service",
+                        "description": "The name of the service creating the policy.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "default": false,
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "transient",
+                        "x-example": false,
+                        "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.",
+                        "type": "boolean",
+                        "required": false
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "type",
+                        "description": "The name of the policy type.",
+                        "type": "string",
+                        "required": false
+                    }
+                ],
+                "tags": ["A1 Policy Management Version 1.0"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/policies": {"get": {
+            "summary": "Query policies",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPoliciesUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"$ref": "#/definitions/policy_info_v1"}
+                    },
+                    "description": "Policies"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC or type not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric",
+                    "description": "The name of the Near-RT RIC to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service",
+                    "description": "The name of the service to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "type",
+                    "description": "The name of the policy type to get policies for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/v2/policies/{policy_id}": {
+            "get": {
+                "summary": "Returns a policy",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "getPolicyUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/policy_info_v2"},
+                        "description": "Policy found"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "path",
+                    "name": "policy_id",
+                    "description": "policy_id",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            },
+            "delete": {
+                "summary": "Delete a policy",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deletePolicyUsingDELETE",
+                "responses": {
+                    "200": {"description": "Not used"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "204": {"description": "Policy deleted"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "path",
+                    "name": "policy_id",
+                    "description": "policy_id",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            }
+        },
+        "/policy_schema": {"get": {
+            "summary": "Returns one policy type schema definition",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicySchemaUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"type": "object"},
+                    "description": "Policy schema"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "The policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "id",
+                "description": "The identity of the policy type to get the definition for.",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/rics": {"get": {
+            "summary": "Query Near-RT RIC information",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getRicsUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"$ref": "#/definitions/ric_info_v1"}
+                    },
+                    "description": "OK"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "policyType",
+                "description": "The name of the policy type",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/policy_status": {"get": {
+            "summary": "Returns a policy status",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyStatusUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"type": "object"},
+                    "description": "Policy status"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Policy is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "id",
+                "description": "The identity of the policy.",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/v2/policies/{policy_id}/status": {"get": {
+            "summary": "Returns a policy status",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyStatusUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policy_status_info_v2"},
+                    "description": "Policy status"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Policy is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "policy_id",
+                "description": "policy_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/v2/rics": {"get": {
+            "summary": "Query Near-RT RIC information",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "description": "The call returns all Near-RT RICs that supports a given policy type identity",
+            "operationId": "getRicsUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/ric_info_list_v2"},
+                    "description": "OK"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "policytype_id",
+                "description": "The identity of a policy type. If given, all Near-RT RICs supporteing the policy type are returned",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/v2/configuration": {
+            "get": {
+                "summary": "Returns the contents of the configuration file",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "description": "Note that the file contents is not relevant if the Consul is used.",
+                "operationId": "getConfigurationUsingGET",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "object"},
+                        "description": "Configuration"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "File is not found or readable"
+                    }
+                },
+                "tags": ["Component Configuration"]
+            },
+            "put": {
+                "summary": "Replace the current configuration file with the given configuration",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "description": "Note that the file is ignored if the Consul is used.",
+                "operationId": "putConfigurationUsingPUT",
+                "responses": {
+                    "200": {"description": "Configuration updated"},
+                    "201": {"description": "Created"},
+                    "400": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Invalid configuration provided"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "500": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Something went wrong when replacing the configuration. Try again."
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {"description": "Not Found"}
+                },
+                "parameters": [{
+                    "schema": {"type": "object"},
+                    "in": "body",
+                    "name": "configuration",
+                    "description": "configuration",
+                    "required": true
+                }],
+                "tags": ["Component Configuration"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/policy_ids": {"get": {
+            "summary": "Query policies, only policy identities returned",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyIdsUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "string"}
+                    },
+                    "description": "Policy identitiess"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC or type not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric",
+                    "description": "The name of the Near-RT RIC to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service",
+                    "description": "The name of the service to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "type",
+                    "description": "The name of the policy type to get policies for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/policy_schemas": {"get": {
+            "summary": "Returns policy type schema definitions",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicySchemasUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {
+                        "type": "array",
+                        "items": {"type": "object"}
+                    },
+                    "description": "Policy schemas"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "ric",
+                "description": "The name of the Near-RT RIC to get the definitions for.",
+                "type": "string",
+                "required": false
+            }],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/v2/policy-instances": {"get": {
+            "summary": "Query for A1 policy instances",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "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",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policy_info_list_v2"},
+                    "description": "Policies"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC, policy type or service not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "policytype_id",
+                    "description": "The identity of the policy type to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric_id",
+                    "description": "The identity of the Near-RT RIC to get policies for.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service_id",
+                    "description": "The identity of the service to get policies for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/v2/services": {
+            "get": {
+                "summary": "Returns service information",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "description": "Either information about a registered service with given identity or all registered services are returned.",
+                "operationId": "getServicesUsingGET_1",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/service_list_v2"},
+                        "description": "OK"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Service is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "service_id",
+                    "description": "The identity of the service",
+                    "type": "string",
+                    "required": false
+                }],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            },
+            "put": {
+                "summary": "Register a service",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "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",
+                "responses": {
+                    "200": {
+                        "schema": {"type": "object"},
+                        "description": "Service updated"
+                    },
+                    "201": {
+                        "schema": {"type": "object"},
+                        "description": "Service created"
+                    },
+                    "400": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "The ServiceRegistrationInfo is not accepted"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {"description": "Not Found"}
+                },
+                "parameters": [{
+                    "schema": {"$ref": "#/definitions/service_registration_info_v2"},
+                    "in": "body",
+                    "name": "registrationInfo",
+                    "description": "registrationInfo",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/ric": {"get": {
+            "summary": "Returns the name of a RIC managing one Mananged Element",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getRicUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC is found"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"type": "string"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "managedElementId",
+                "description": "The identity of the Managed Element",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/services/keepalive": {"put": {
+            "summary": "Heartbeat from a service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "keepAliveServiceUsingPUT",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Service supervision timer refreshed, OK"
+                },
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "The service is not found, needs re-registration"}
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "name",
+                "description": "The name of the service",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0"],
+            "consumes": ["application/json"]
+        }},
+        "/v2/services/{service_id}/keepalive": {"put": {
+            "summary": "Heartbeat indicates that the service is running",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "keepAliveServiceUsingPUT_1",
+            "responses": {
+                "200": {
+                    "schema": {"type": "object"},
+                    "description": "Service supervision timer refreshed, OK"
+                },
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "The service is not found, needs re-registration"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "service_id",
+                "description": "service_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+            "consumes": ["application/json"]
+        }},
+        "/status": {"get": {
+            "summary": "Returns status and statistics of this service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getStatusUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Service is living"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "tags": ["A1 Policy Management Version 1.0"]
+        }},
+        "/v2/rics/ric": {"get": {
+            "summary": "Returns info for one Near-RT RIC",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "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",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/ric_info_v2"},
+                    "description": "Near-RT RIC is found"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Near-RT RIC is not found"
+                }
+            },
+            "parameters": [
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "managed_element_id",
+                    "description": "The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.",
+                    "type": "string",
+                    "required": false
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric_id",
+                    "description": "The identity of a Near-RT RIC to get information for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/r-app/pms-callback": {"post": {
+            "summary": "Callback for Near-RT RIC status",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "description": "The URL to this call is registerred at Service registration.",
+            "operationId": "jobStatusCallbackUsingPOST",
+            "responses": {
+                "200": {"description": "OK"},
+                "201": {"description": "Created"},
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/service_callback_info_v2"},
+                "in": "body",
+                "name": "body",
+                "description": "body",
+                "required": true
+            }],
+            "tags": ["R-App Callbacks"],
+            "consumes": ["application/json"]
+        }},
+        "/v2/policy-types/{policytype_id}": {"get": {
+            "summary": "Returns a policy type definition",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyTypeUsingGET",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policytype_v2"},
+                    "description": "Policy type"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Policy type is not found"
+                }
+            },
+            "parameters": [{
+                "in": "path",
+                "name": "policytype_id",
+                "description": "policytype_id",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/service": {"put": {
+            "summary": "Register a service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "putServiceUsingPUT",
+            "responses": {
+                "200": {
+                    "schema": {"type": "string"},
+                    "description": "Service updated"
+                },
+                "201": {
+                    "schema": {"type": "string"},
+                    "description": "Service created"
+                },
+                "400": {
+                    "schema": {"type": "string"},
+                    "description": "The ServiceRegistrationInfo is not accepted"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {"description": "Not Found"}
+            },
+            "parameters": [{
+                "schema": {"$ref": "#/definitions/service_registration_info_v1"},
+                "in": "body",
+                "name": "registrationInfo",
+                "description": "registrationInfo",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 1.0"],
+            "consumes": ["application/json"]
+        }},
+        "/v2/policies": {
+            "get": {
+                "summary": "Query policy identities",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "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",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/policy_id_list_v2"},
+                        "description": "Policy identities"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC or type not found"
+                    }
+                },
+                "parameters": [
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "policytype_id",
+                        "description": "The identity of the policy type to get policies for.",
+                        "type": "string",
+                        "required": false
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "ric_id",
+                        "description": "The identity of the Near-RT RIC to get policies for.",
+                        "type": "string",
+                        "required": false
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "service_id",
+                        "description": "The identity of the service to get policies for.",
+                        "type": "string",
+                        "required": false
+                    }
+                ],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            },
+            "put": {
+                "summary": "Create or update a policy",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "putPolicyUsingPUT",
+                "responses": {
+                    "200": {"description": "Policy updated"},
+                    "201": {"description": "Policy created"},
+                    "401": {"description": "Unauthorized"},
+                    "423": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC is not operational"
+                    },
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Near-RT RIC or policy type is not found"
+                    }
+                },
+                "parameters": [{
+                    "schema": {"$ref": "#/definitions/policy_info_v2"},
+                    "in": "body",
+                    "name": "policyInfo",
+                    "description": "policyInfo",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+                "consumes": ["application/json"]
+            }
+        }
+    },
+    "host": "localhost:46233",
+    "definitions": {
+        "error_information": {
+            "description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
+            "type": "object",
+            "title": "error_information",
+            "properties": {
+                "detail": {
+                    "description": " A human-readable explanation specific to this occurrence of the problem.",
+                    "type": "string",
+                    "example": "Policy type not found"
+                },
+                "status": {
+                    "format": "int32",
+                    "description": "The HTTP status code generated by the origin server for this occurrence of the problem. ",
+                    "type": "integer",
+                    "example": 503
+                }
+            }
+        },
+        "void": {
+            "description": "Void/empty",
+            "type": "object",
+            "title": "void"
+        },
+        "status_info_v2": {
+            "type": "object",
+            "title": "status_info_v2",
+            "properties": {"status": {
+                "description": "status text",
+                "type": "string"
+            }}
+        },
+        "policy_info_v1": {
+            "type": "object",
+            "title": "policy_info_v1",
+            "properties": {
+                "service": {
+                    "description": "the name of the service owning the policy",
+                    "type": "string"
+                },
+                "json": {
+                    "description": "the configuration of the policy",
+                    "type": "object"
+                },
+                "id": {
+                    "description": "identity of the policy",
+                    "type": "string"
+                },
+                "lastModified": {
+                    "description": "timestamp, last modification time",
+                    "type": "string"
+                },
+                "type": {
+                    "description": "name of the policy type",
+                    "type": "string"
+                },
+                "ric": {
+                    "description": "identity of the target Near-RT RIC",
+                    "type": "string"
+                }
+            }
+        },
+        "Mono«ResponseEntity«object»»": {
+            "type": "object",
+            "title": "Mono«ResponseEntity«object»»"
+        },
+        "ric_info_v2": {
+            "description": "Information for a Near-RT RIC",
+            "type": "object",
+            "title": "ric_info_v2",
+            "properties": {
+                "ric_id": {
+                    "description": "identity of the Near-RT RIC",
+                    "type": "string"
+                },
+                "managed_element_ids": {
+                    "description": "O1 identities for managed entities",
+                    "type": "array",
+                    "items": {"type": "string"}
+                },
+                "state": {
+                    "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.",
+                    "type": "string",
+                    "enum": [
+                        "UNAVAILABLE",
+                        "AVAILABLE",
+                        "SYNCHRONIZING",
+                        "CONSISTENCY_CHECK"
+                    ]
+                },
+                "policytype_ids": {
+                    "description": "supported policy types",
+                    "type": "array",
+                    "items": {"type": "string"}
+                }
+            }
+        },
+        "service_registration_info_v1": {
+            "type": "object",
+            "title": "service_registration_info_v1",
+            "properties": {
+                "keepAliveIntervalSeconds": {
+                    "format": "int64",
+                    "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.",
+                    "type": "integer"
+                },
+                "callbackUrl": {
+                    "description": "callback for notifying of RIC synchronization",
+                    "type": "string"
+                },
+                "serviceName": {"type": "string"}
+            }
+        },
+        "policy_info_list_v2": {
+            "description": "List of policy information",
+            "type": "object",
+            "title": "policy_info_list_v2",
+            "properties": {"policies": {
+                "description": "List of policy information",
+                "type": "array",
+                "items": {"$ref": "#/definitions/policy_info_v2"}
+            }}
+        },
+        "service_registration_info_v2": {
+            "description": "Information for one service",
+            "type": "object",
+            "title": "service_registration_info_v2",
+            "required": ["service_id"],
+            "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": {
+                    "format": "int64",
+                    "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.",
+                    "type": "integer"
+                }
+            }
+        },
+        "ric_info_v1": {
+            "type": "object",
+            "title": "ric_info_v1",
+            "properties": {
+                "managedElementIds": {
+                    "description": "O1 identities for managed entities",
+                    "type": "array",
+                    "items": {"type": "string"}
+                },
+                "policyTypes": {
+                    "description": "supported policy types",
+                    "type": "array",
+                    "items": {"type": "string"}
+                },
+                "state": {
+                    "description": "state info",
+                    "type": "string"
+                },
+                "ricName": {
+                    "description": "identity of the Near-RT RIC",
+                    "type": "string"
+                }
+            }
+        },
+        "policy_status_info_v2": {
+            "description": "Status for one A1-P Policy",
+            "type": "object",
+            "title": "policy_status_info_v2",
+            "properties": {
+                "last_modified": {
+                    "description": "timestamp, last modification time",
+                    "type": "string"
+                },
+                "status": {
+                    "description": "the Policy status",
+                    "type": "object"
+                }
+            }
+        },
+        "service_status_v1": {
+            "type": "object",
+            "title": "service_status_v1",
+            "properties": {
+                "keepAliveIntervalSeconds": {
+                    "format": "int64",
+                    "description": "policy keep alive timeout",
+                    "type": "integer"
+                },
+                "callbackUrl": {
+                    "description": "callback for notifying of RIC synchronization",
+                    "type": "string"
+                },
+                "timeSinceLastActivitySeconds": {
+                    "format": "int64",
+                    "description": "time since last invocation by the service",
+                    "type": "integer"
+                },
+                "serviceName": {
+                    "description": "identity of the service",
+                    "type": "string"
+                }
+            }
+        },
+        "service_status_v2": {
+            "type": "object",
+            "title": "service_status_v2",
+            "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": {
+                    "format": "int64",
+                    "description": "policy keep alive timeout",
+                    "type": "integer"
+                },
+                "time_since_last_activity_seconds": {
+                    "format": "int64",
+                    "description": "time since last invocation by the service",
+                    "type": "integer"
+                }
+            }
+        },
+        "policytype_v2": {
+            "description": "Policy type",
+            "type": "object",
+            "title": "policytype_v2",
+            "properties": {"policy_schema": {
+                "description": "Policy type json scema. The schema is a json object following http://json-schema.org/draft-07/schema",
+                "type": "object"
+            }}
+        },
+        "ric_info_list_v2": {
+            "description": "List of Near-RT RIC information",
+            "type": "object",
+            "title": "ric_info_list_v2",
+            "properties": {"rics": {
+                "description": "List of Near-RT RIC information",
+                "type": "array",
+                "items": {"$ref": "#/definitions/ric_info_v2"}
+            }}
+        },
+        "policytype_id_list_v2": {
+            "description": "Information about policy types",
+            "type": "object",
+            "title": "policytype_id_list_v2",
+            "properties": {"policytype_ids": {
+                "description": "Policy type identities",
+                "type": "array",
+                "items": {"type": "string"}
+            }}
+        },
+        "policy_id_list_v2": {
+            "description": "A list of policy identities",
+            "type": "object",
+            "title": "policy_id_list_v2",
+            "properties": {"policy_ids": {
+                "description": "Policy identities",
+                "type": "array",
+                "items": {"type": "string"}
+            }}
+        },
+        "policy_info_v2": {
+            "description": "Information for one A1-P Policy",
+            "type": "object",
+            "title": "policy_info_v2",
+            "required": [
+                "policy_data",
+                "policy_id",
+                "policytype_id",
+                "ric_id",
+                "service_id"
+            ],
+            "properties": {
+                "ric_id": {
+                    "description": "identity of the target Near-RT RIC",
+                    "type": "string"
+                },
+                "policy_id": {
+                    "description": "identity of the policy",
+                    "type": "string"
+                },
+                "transient": {
+                    "description": "if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.",
+                    "type": "boolean"
+                },
+                "service_id": {
+                    "description": "the name of the service owning the policy",
+                    "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 policy type",
+                    "type": "string"
+                }
+            }
+        },
+        "service_list_v2": {
+            "description": "List of service information",
+            "type": "object",
+            "title": "service_list_v2",
+            "properties": {"service_list": {
+                "description": "List of service information",
+                "type": "array",
+                "items": {"$ref": "#/definitions/service_status_v2"}
+            }}
+        },
+        "service_callback_info_v2": {
+            "description": "Information transferred as in Service callbacks (callback_url)",
+            "type": "object",
+            "title": "service_callback_info_v2",
+            "required": [
+                "event_type",
+                "ric_id"
+            ],
+            "properties": {
+                "ric_id": {
+                    "description": "identity of a Near-RT RIC",
+                    "type": "string"
+                },
+                "event_type": {
+                    "description": "values:\nAVAILABLE: the  Near-RT RIC has become available for A1 Policy management",
+                    "type": "string",
+                    "enum": ["AVAILABLE"]
+                }
+            }
+        },
+        "Mono«ResponseEntity«string»»": {
+            "type": "object",
+            "title": "Mono«ResponseEntity«string»»"
+        }
+    },
+    "swagger": "2.0",
+    "info": {
+        "x-audience": "external-partner",
+        "x-api-id": "60f9a0e7-343f-43bf-9194-d8d65688d465",
+        "contact": {
+            "name": "Ericsson Software Technology",
+            "email": "nonrtric@est.tech"
+        },
+        "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>",
+        "title": "A1 Policy management service",
+        "version": "1.1.0"
+    },
+    "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"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/a1-policy-management/api/pms-api.yaml b/a1-policy-management/api/pms-api.yaml
new file mode 100644
index 0000000..665c9b6
--- /dev/null
+++ b/a1-policy-management/api/pms-api.yaml
@@ -0,0 +1,1617 @@
+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
diff --git a/a1-policy-management/pom.xml b/a1-policy-management/pom.xml
index be8838b..f218b52 100644
--- a/a1-policy-management/pom.xml
+++ b/a1-policy-management/pom.xml
@@ -49,6 +49,7 @@
         <docker-maven-plugin>0.30.0</docker-maven-plugin>
         <surefire-maven-plugin.version>3.0.0-M5</surefire-maven-plugin.version><!-- Version must be higher than version 2.19.1 that is defined in the parent pom for JUnit 5 tests to be run. Do not remove! -->
         <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
+        <swagger-codegen-maven-plugin.version>3.0.11</swagger-codegen-maven-plugin.version>
         <exec.skip>true</exec.skip>
         <ccsdk.project.version>${project.version}</ccsdk.project.version>
     </properties>
@@ -322,6 +323,27 @@
                 </executions>
             </plugin>
             <plugin>
+                <groupId>io.swagger.codegen.v3</groupId>
+                <artifactId>swagger-codegen-maven-plugin</artifactId>
+                <version>${swagger-codegen-maven-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <phase>test</phase>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                        <configuration>
+                            <inputSpec>${project.basedir}/api/pms-api.json</inputSpec>
+                            <language>openapi-yaml</language>
+                            <output>${project.basedir}/api</output>
+                            <configOptions>
+                                <outputFile>pms-api.yaml</outputFile>
+                            </configOptions>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>io.fabric8</groupId>
                 <artifactId>docker-maven-plugin</artifactId>
                 <version>${docker-maven-plugin}</version>
diff --git a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java
index 30ce4c3..2170b3c 100644
--- a/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java
+++ b/a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/controllers/v2/ApplicationTest.java
@@ -218,7 +218,7 @@
         ResponseEntity<String> resp = restClient("", false).getForEntity(url).block();
         assertThat(resp.getStatusCode()).isEqualTo(HttpStatus.OK);
         String indented = (new JSONObject(resp.getBody())).toString(4);
-        String docDir = "../docs/offeredapis/swagger/";
+        String docDir = "api/";
         Files.createDirectories(Paths.get(docDir));
         try (PrintStream out = new PrintStream(new FileOutputStream(docDir + "pms-api.json"))) {
             out.print(indented);
diff --git a/docs/offeredapis/swagger/pms-api.json b/docs/offeredapis/swagger/pms-api.json
index 55bd080..b1bea44 100644
--- a/docs/offeredapis/swagger/pms-api.json
+++ b/docs/offeredapis/swagger/pms-api.json
@@ -1068,7 +1068,7 @@
             }
         }
     },
-    "host": "localhost:37823",
+    "host": "localhost:46233",
     "definitions": {
         "error_information": {
             "description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
diff --git a/docs/offeredapis/swagger/pms-api.yaml b/docs/offeredapis/swagger/pms-api.yaml
index fa8721a..665c9b6 100644
--- a/docs/offeredapis/swagger/pms-api.yaml
+++ b/docs/offeredapis/swagger/pms-api.yaml
@@ -1,1423 +1,1617 @@
-basePath: /
+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:
-      summary: Query policy type names
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: getPolicyTypesUsingGET_1
-      responses:
-        '200':
-          schema:
-            type: array
-            items:
-              type: string
-          description: Policy type names
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Near-RT RIC is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: ric
-          description: The name of the Near-RT RIC to get types for.
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 1.0
+      - 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
-      deprecated: false
-      produces:
-        - application/json
       operationId: getStatusUsingGET_1
       responses:
-        '200':
-          schema:
-            $ref: '#/definitions/status_info_v2'
+        200:
           description: Service is living
-        '401':
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/status_info_v2'
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
+          content: {}
+        404:
           description: Not Found
-      tags:
-        - A1 Policy Management Version 2.0 (in progress)
+          content: {}
+      deprecated: false
   /v2/policy-types:
     get:
-      summary: Query policy type identities
-      deprecated: false
-      produces:
-        - application/json
-      operationId: getPolicyTypesUsingGET
-      responses:
-        '200':
-          schema:
-            $ref: '#/definitions/policytype_id_list_v2'
-          description: Policy type IDs
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Near-RT RIC is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: ric_id
-          description: The identity of the Near-RT RIC to get types for.
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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
-      deprecated: false
-      produces:
-        - '*/*'
       operationId: getServicesUsingGET
+      parameters:
+      - name: name
+        in: query
+        description: The name of the service
+        allowEmptyValue: false
+        schema:
+          type: string
       responses:
-        '200':
-          schema:
-            type: array
-            items:
-              $ref: '#/definitions/service_status_v1'
+        200:
           description: OK
-        '401':
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/service_status_v1'
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
-          schema:
-            type: string
+          content: {}
+        404:
           description: Service is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: name
-          description: The name of the service
-          type: string
-          required: false
-      tags:
-        - A1 Policy Management Version 1.0
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
     delete:
+      tags:
+      - A1 Policy Management Version 1.0
       summary: Delete a service
-      deprecated: false
-      produces:
-        - '*/*'
       operationId: deleteServiceUsingDELETE
+      parameters:
+      - name: name
+        in: query
+        description: The name of the service
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
       responses:
-        '200':
-          schema:
-            type: string
+        200:
           description: OK
-        '204':
-          schema:
-            type: string
+          content:
+            '*/*':
+              schema:
+                type: string
+        204:
           description: Service deleted
-        '401':
+          content:
+            '*/*':
+              schema:
+                type: string
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
-          schema:
-            type: string
+          content: {}
+        404:
           description: Service not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: name
-          description: The name of the service
-          type: string
-          required: true
-      tags:
-        - A1 Policy Management Version 1.0
-  '/v2/services/{service_id}':
-    delete:
-      summary: Unregister a service
+          content:
+            '*/*':
+              schema:
+                type: string
       deprecated: false
-      produces:
-        - '*/*'
-      operationId: deleteServiceUsingDELETE_1
-      responses:
-        '200':
-          description: Not used
-        '204':
-          schema:
-            type: object
-          description: Service unregistered
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Service not found
-      parameters:
-        - in: path
-          name: service_id
-          description: service_id
-          type: string
-          required: true
+  /v2/services/{service_id}:
+    delete:
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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
-      deprecated: false
-      produces:
-        - '*/*'
       operationId: getPolicyUsingGET_1
+      parameters:
+      - name: id
+        in: query
+        description: The identity of the policy instance.
+        required: true
+        allowEmptyValue: false
+        schema:
+          type: string
       responses:
-        '200':
-          schema:
-            type: object
+        200:
           description: Policy found
-        '401':
+          content:
+            '*/*':
+              schema:
+                type: object
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
+          content: {}
+        404:
           description: Policy is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: id
-          description: The identity of the policy instance.
-          type: string
-          required: true
-      tags:
-        - A1 Policy Management Version 1.0
-    delete:
-      summary: Delete a policy
+          content: {}
       deprecated: false
-      produces:
-        - '*/*'
-      operationId: deletePolicyUsingDELETE_1
-      responses:
-        '200':
-          description: Not used
-        '204':
-          description: Policy deleted
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Policy is not found
-        '423':
-          schema:
-            type: string
-          description: Near-RT RIC is not operational
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: id
-          description: The identity of the policy instance.
-          type: string
-          required: true
-      tags:
-        - A1 Policy Management Version 1.0
     put:
-      summary: Put a policy
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: putPolicyUsingPUT_1
-      responses:
-        '200':
-          description: Policy updated
-        '201':
-          description: Policy created
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Near-RT RIC or policy type is not found
-        '423':
-          schema:
-            type: string
-          description: Near-RT RIC is not operational
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: id
-          description: The identity of the policy instance.
-          type: string
-          required: true
-        - schema:
-            type: object
-          in: body
-          name: jsonBody
-          description: jsonBody
-          required: true
-        - in: query
-          allowEmptyValue: false
-          name: ric
-          description: The name of the Near-RT RIC where the policy will be created.
-          type: string
-          required: true
-        - in: query
-          allowEmptyValue: false
-          name: service
-          description: The name of the service creating the policy.
-          type: string
-          required: true
-        - default: false
-          in: query
-          allowEmptyValue: false
-          name: transient
-          x-example: false
-          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.
-          type: boolean
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: type
-          description: The name of the policy type.
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 1.0
-      consumes:
-        - application/json
+      - 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
-      deprecated: false
-      produces:
-        - '*/*'
       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':
-          schema:
-            type: array
-            items:
-              $ref: '#/definitions/policy_info_v1'
+        200:
           description: Policies
-        '401':
+          content:
+            '*/*':
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/policy_info_v1'
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
-          schema:
-            type: string
+          content: {}
+        404:
           description: Near-RT RIC or type not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: ric
-          description: The name of the Near-RT RIC to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: service
-          description: The name of the service to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: type
-          description: The name of the policy type to get policies for.
-          type: string
-          required: false
-      tags:
-        - A1 Policy Management Version 1.0
-  '/v2/policies/{policy_id}':
+          content:
+            '*/*':
+              schema:
+                type: string
+      deprecated: false
+  /v2/policies/{policy_id}:
     get:
+      tags:
+      - A1 Policy Management Version 2.0 (in progress)
       summary: Returns a policy
-      deprecated: false
-      produces:
-        - application/json
       operationId: getPolicyUsingGET
+      parameters:
+      - name: policy_id
+        in: path
+        description: policy_id
+        required: true
+        schema:
+          type: string
       responses:
-        '200':
-          schema:
-            $ref: '#/definitions/policy_info_v2'
+        200:
           description: Policy found
-        '401':
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policy_info_v2'
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
+          content: {}
+        404:
           description: Policy is not found
-      parameters:
-        - in: path
-          name: policy_id
-          description: policy_id
-          type: string
-          required: true
-      tags:
-        - A1 Policy Management Version 2.0 (in progress)
-    delete:
-      summary: Delete a policy
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
       deprecated: false
-      produces:
-        - '*/*'
-      operationId: deletePolicyUsingDELETE
-      responses:
-        '200':
-          description: Not used
-        '204':
-          description: Policy deleted
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Policy is not found
-        '423':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Near-RT RIC is not operational
-      parameters:
-        - in: path
-          name: policy_id
-          description: policy_id
-          type: string
-          required: true
+    delete:
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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:
-      summary: Returns one policy type schema definition
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: getPolicySchemaUsingGET
-      responses:
-        '200':
-          schema:
-            type: object
-          description: Policy schema
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: The policy type is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: id
-          description: The identity of the policy type to get the definition for.
-          type: string
-          required: true
       tags:
-        - A1 Policy Management Version 1.0
+      - 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:
-      summary: Query Near-RT RIC information
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: getRicsUsingGET_1
-      responses:
-        '200':
-          schema:
-            type: array
-            items:
-              $ref: '#/definitions/ric_info_v1'
-          description: OK
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Policy type is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: policyType
-          description: The name of the policy type
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 1.0
+      - 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
-      deprecated: false
-      produces:
-        - '*/*'
       operationId: getPolicyStatusUsingGET_1
-      responses:
-        '200':
-          schema:
-            type: object
-          description: Policy status
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Policy is not found
       parameters:
-        - in: query
-          allowEmptyValue: false
-          name: id
-          description: The identity of the policy.
+      - name: id
+        in: query
+        description: The identity of the policy.
+        required: true
+        allowEmptyValue: false
+        schema:
           type: string
-          required: true
-      tags:
-        - A1 Policy Management Version 1.0
-  '/v2/policies/{policy_id}/status':
-    get:
-      summary: Returns a policy status
+      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
-      produces:
-        - application/json
-      operationId: getPolicyStatusUsingGET
-      responses:
-        '200':
-          schema:
-            $ref: '#/definitions/policy_status_info_v2'
-          description: Policy status
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Policy is not found
-      parameters:
-        - in: path
-          name: policy_id
-          description: policy_id
-          type: string
-          required: true
+  /v2/policies/{policy_id}/status:
+    get:
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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:
-      summary: Query Near-RT RIC information
-      deprecated: false
-      produces:
-        - application/json
-      description: The call returns all Near-RT RICs that supports a given policy type identity
-      operationId: getRicsUsingGET
-      responses:
-        '200':
-          schema:
-            $ref: '#/definitions/ric_info_list_v2'
-          description: OK
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Policy type is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: policytype_id
-          description: 'The identity of a policy type. If given, all Near-RT RICs supporteing the policy type are returned'
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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
-      deprecated: false
-      produces:
-        - application/json
+      description: Note that the file contents is not relevant if the Consul is used.
       operationId: getConfigurationUsingGET
       responses:
-        '200':
-          schema:
-            type: object
+        200:
           description: Configuration
-        '401':
+          content:
+            application/json:
+              schema:
+                type: object
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
+          content: {}
+        404:
           description: File is not found or readable
-      tags:
-        - Component Configuration
-    put:
-      summary: Replace the current configuration file with the given configuration
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
       deprecated: false
-      produces:
-        - '*/*'
+    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':
+        200:
           description: Configuration updated
-        '201':
+          content: {}
+        201:
           description: Created
-        '400':
-          schema:
-            $ref: '#/definitions/error_information'
+          content: {}
+        400:
           description: Invalid configuration provided
-        '401':
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
+          content: {}
+        404:
           description: Not Found
-        '500':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Something went wrong when replacing the configuration. Try again.
-      parameters:
-        - schema:
-            type: object
-          in: body
-          name: configuration
-          description: configuration
-          required: true
-      tags:
-        - Component Configuration
-      consumes:
-        - application/json
+          content: {}
+        500:
+          description: Something went wrong when replacing the configuration. Try
+            again.
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/error_information'
+      deprecated: false
   /policy_ids:
     get:
-      summary: 'Query policies, only policy identities returned'
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: getPolicyIdsUsingGET_1
-      responses:
-        '200':
-          schema:
-            type: array
-            items:
-              type: string
-          description: Policy identitiess
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Near-RT RIC or type not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: ric
-          description: The name of the Near-RT RIC to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: service
-          description: The name of the service to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: type
-          description: The name of the policy type to get policies for.
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 1.0
+      - 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:
-      summary: Returns policy type schema definitions
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: getPolicySchemasUsingGET
-      responses:
-        '200':
-          schema:
-            type: array
-            items:
-              type: object
-          description: Policy schemas
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Near-RT RIC is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: ric
-          description: The name of the Near-RT RIC to get the definitions for.
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 1.0
+      - 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:
-      summary: Query for A1 policy instances
-      deprecated: false
-      produces:
-        - application/json
-      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
-      responses:
-        '200':
-          schema:
-            $ref: '#/definitions/policy_info_list_v2'
-          description: Policies
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: 'Near-RT RIC, policy type or service not found'
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: policytype_id
-          description: The identity of the policy type to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: ric_id
-          description: The identity of the Near-RT RIC to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: service_id
-          description: The identity of the service to get policies for.
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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
-      deprecated: false
-      produces:
-        - application/json
-      description: Either information about a registered service with given identity or all registered services are returned.
+      description: Either information about a registered service with given identity
+        or all registered services are returned.
       operationId: getServicesUsingGET_1
-      responses:
-        '200':
-          schema:
-            $ref: '#/definitions/service_list_v2'
-          description: OK
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Service is not found
       parameters:
-        - in: query
-          allowEmptyValue: false
-          name: service_id
-          description: The identity of the service
+      - name: service_id
+        in: query
+        description: The identity of the service
+        allowEmptyValue: false
+        schema:
           type: string
-          required: false
-      tags:
-        - A1 Policy Management Version 2.0 (in progress)
-    put:
-      summary: Register a service
-      deprecated: false
-      produces:
-        - '*/*'
-      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
       responses:
-        '200':
-          schema:
-            type: object
-          description: Service updated
-        '201':
-          schema:
-            type: object
-          description: Service created
-        '400':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: The ServiceRegistrationInfo is not accepted
-        '401':
+        200:
+          description: OK
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/service_list_v2'
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
-          description: Not Found
-      parameters:
-        - schema:
-            $ref: '#/definitions/service_registration_info_v2'
-          in: body
-          name: registrationInfo
-          description: registrationInfo
-          required: true
+          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)
-      consumes:
-        - application/json
+      - 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:
-      summary: Returns the name of a RIC managing one Mananged Element
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: getRicUsingGET_1
-      responses:
-        '200':
-          schema:
-            type: string
-          description: Near-RT RIC is found
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            type: string
-          description: Near-RT RIC is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: managedElementId
-          description: The identity of the Managed Element
-          type: string
-          required: true
       tags:
-        - A1 Policy Management Version 1.0
+      - 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
-      deprecated: false
-      produces:
-        - '*/*'
       operationId: keepAliveServiceUsingPUT
-      responses:
-        '200':
-          schema:
-            type: string
-          description: 'Service supervision timer refreshed, OK'
-        '201':
-          description: Created
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: 'The service is not found, needs re-registration'
       parameters:
-        - in: query
-          allowEmptyValue: false
-          name: name
-          description: The name of the service
+      - name: name
+        in: query
+        description: The name of the service
+        required: true
+        allowEmptyValue: false
+        schema:
           type: string
-          required: true
-      tags:
-        - A1 Policy Management Version 1.0
-      consumes:
-        - application/json
-  '/v2/services/{service_id}/keepalive':
-    put:
-      summary: Heartbeat indicates that the service is running
+      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
-      produces:
-        - '*/*'
-      operationId: keepAliveServiceUsingPUT_1
-      responses:
-        '200':
-          schema:
-            type: object
-          description: 'Service supervision timer refreshed, OK'
-        '201':
-          description: Created
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: 'The service is not found, needs re-registration'
-      parameters:
-        - in: path
-          name: service_id
-          description: service_id
-          type: string
-          required: true
+  /v2/services/{service_id}/keepalive:
+    put:
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
-      consumes:
-        - application/json
+      - 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
-      deprecated: false
-      produces:
-        - '*/*'
       operationId: getStatusUsingGET
       responses:
-        '200':
-          schema:
-            type: string
+        200:
           description: Service is living
-        '401':
+          content:
+            '*/*':
+              schema:
+                type: string
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
+          content: {}
+        404:
           description: Not Found
-      tags:
-        - A1 Policy Management Version 1.0
+          content: {}
+      deprecated: false
   /v2/rics/ric:
     get:
-      summary: Returns info for one Near-RT RIC
-      deprecated: false
-      produces:
-        - application/json
-      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
-      responses:
-        '200':
-          schema:
-            $ref: '#/definitions/ric_info_v2'
-          description: Near-RT RIC is found
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Near-RT RIC is not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: managed_element_id
-          description: 'The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.'
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: ric_id
-          description: The identity of a Near-RT RIC to get information for.
-          type: string
-          required: false
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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
-      deprecated: false
-      produces:
-        - application/json
       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':
+        200:
           description: OK
-        '201':
+          content: {}
+        201:
           description: Created
-        '401':
+          content: {}
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
+          content: {}
+        404:
           description: Not Found
-      parameters:
-        - schema:
-            $ref: '#/definitions/service_callback_info_v2'
-          in: body
-          name: body
-          description: body
-          required: true
-      tags:
-        - R-App Callbacks
-      consumes:
-        - application/json
-  '/v2/policy-types/{policytype_id}':
-    get:
-      summary: Returns a policy type definition
+          content: {}
       deprecated: false
-      produces:
-        - application/json
-      operationId: getPolicyTypeUsingGET
-      responses:
-        '200':
-          schema:
-            $ref: '#/definitions/policytype_v2'
-          description: Policy type
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Policy type is not found
-      parameters:
-        - in: path
-          name: policytype_id
-          description: policytype_id
-          type: string
-          required: true
+  /v2/policy-types/{policytype_id}:
+    get:
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
+      - 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:
-      summary: Register a service
-      deprecated: false
-      produces:
-        - '*/*'
-      operationId: putServiceUsingPUT
-      responses:
-        '200':
-          schema:
-            type: string
-          description: Service updated
-        '201':
-          schema:
-            type: string
-          description: Service created
-        '400':
-          schema:
-            type: string
-          description: The ServiceRegistrationInfo is not accepted
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          description: Not Found
-      parameters:
-        - schema:
-            $ref: '#/definitions/service_registration_info_v1'
-          in: body
-          name: registrationInfo
-          description: registrationInfo
-          required: true
       tags:
-        - A1 Policy Management Version 1.0
-      consumes:
-        - application/json
+      - 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
-      deprecated: false
-      produces:
-        - application/json
-      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.'
+      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':
-          schema:
-            $ref: '#/definitions/policy_id_list_v2'
+        200:
           description: Policy identities
-        '401':
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/policy_id_list_v2'
+        401:
           description: Unauthorized
-        '403':
+          content: {}
+        403:
           description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
+          content: {}
+        404:
           description: Near-RT RIC or type not found
-      parameters:
-        - in: query
-          allowEmptyValue: false
-          name: policytype_id
-          description: The identity of the policy type to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: ric_id
-          description: The identity of the Near-RT RIC to get policies for.
-          type: string
-          required: false
-        - in: query
-          allowEmptyValue: false
-          name: service_id
-          description: The identity of the service to get policies for.
-          type: string
-          required: false
-      tags:
-        - A1 Policy Management Version 2.0 (in progress)
-    put:
-      summary: Create or update a policy
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/error_information'
       deprecated: false
-      produces:
-        - application/json
-      operationId: putPolicyUsingPUT
-      responses:
-        '200':
-          description: Policy updated
-        '201':
-          description: Policy created
-        '401':
-          description: Unauthorized
-        '403':
-          description: Forbidden
-        '404':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Near-RT RIC or policy type is not found
-        '423':
-          schema:
-            $ref: '#/definitions/error_information'
-          description: Near-RT RIC is not operational
-      parameters:
-        - schema:
-            $ref: '#/definitions/policy_info_v2'
-          in: body
-          name: policyInfo
-          description: policyInfo
-          required: true
+    put:
       tags:
-        - A1 Policy Management Version 2.0 (in progress)
-      consumes:
-        - application/json
-host: 'localhost:46377'
-definitions:
-  error_information:
-    description: 'Problem as defined in https://tools.ietf.org/html/rfc7807'
-    type: object
-    title: error_information
-    properties:
-      detail:
-        description: ' A human-readable explanation specific to this occurrence of the problem.'
-        type: string
-        example: Policy type not found
-      status:
-        format: int32
-        description: 'The HTTP status code generated by the origin server for this occurrence of the problem. '
-        type: integer
-        example: 503
-  void:
-    description: Void/empty
-    type: object
-    title: void
-  status_info_v2:
-    type: object
-    title: status_info_v2
-    properties:
-      status:
-        description: status text
-        type: string
-  policy_info_v1:
-    type: object
-    title: policy_info_v1
-    properties:
-      service:
-        description: the name of the service owning the policy
-        type: string
-      json:
-        description: the configuration of the policy
-        type: object
-      id:
-        description: identity of the policy
-        type: string
-      lastModified:
-        description: 'timestamp, last modification time'
-        type: string
-      type:
-        description: name of the policy type
-        type: string
-      ric:
-        description: identity of the target Near-RT RIC
-        type: string
-  Mono«ResponseEntity«object»»:
-    type: object
-    title: Mono«ResponseEntity«object»»
-  ric_info_v2:
-    description: Information for a Near-RT RIC
-    type: object
-    title: ric_info_v2
-    properties:
-      ric_id:
-        description: identity of the Near-RT RIC
-        type: string
-      managed_element_ids:
-        description: O1 identities for managed entities
-        type: array
-        items:
+      - 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
-      state:
-        description: |-
-          State for the Near-RT RIC, values: 
-          UNAVAILABLE: The Near-RT RIC is not avialable, information may be inconsistent 
-          AVAILABLE: The normal state. Policies can be configured. +
-          SYNCHRONIZING: The Policy Management Service is synchronizing the view of the Near-RT RIC. Policies cannot be configured. 
-          CONSISTENCY_CHECK: A consistency check between the Policy Management Service and the Near-RT RIC. Policies cannot be configured.
-        type: string
-        enum:
+          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:
-        description: supported policy types
-        type: array
-        items:
+        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
-  service_registration_info_v1:
-    type: object
-    title: service_registration_info_v1
-    properties:
-      keepAliveIntervalSeconds:
-        format: int64
-        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.'
-        type: integer
-      callbackUrl:
-        description: callback for notifying of RIC synchronization
-        type: string
-      serviceName:
-        type: string
-  policy_info_list_v2:
-    description: List of policy information
-    type: object
-    title: policy_info_list_v2
-    properties:
-      policies:
-        description: List of policy information
-        type: array
-        items:
-          $ref: '#/definitions/policy_info_v2'
-  service_registration_info_v2:
-    description: Information for one service
-    type: object
-    title: service_registration_info_v2
-    required:
+          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
-    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:
-        format: int64
-        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.'
-        type: integer
-  ric_info_v1:
-    type: object
-    title: ric_info_v1
-    properties:
-      managedElementIds:
-        description: O1 identities for managed entities
-        type: array
-        items:
+      type: object
+      properties:
+        callback_url:
           type: string
-      policyTypes:
-        description: supported policy types
-        type: array
-        items:
+          description: callback for notifying of Near-RT RIC state changes
+        service_id:
           type: string
-      state:
-        description: state info
-        type: string
-      ricName:
-        description: identity of the Near-RT RIC
-        type: string
-  policy_status_info_v2:
-    description: Status for one A1-P Policy
-    type: object
-    title: policy_status_info_v2
-    properties:
-      last_modified:
-        description: 'timestamp, last modification time'
-        type: string
-      status:
-        description: the Policy status
-        type: object
-  service_status_v1:
-    type: object
-    title: service_status_v1
-    properties:
-      keepAliveIntervalSeconds:
-        format: int64
-        description: policy keep alive timeout
-        type: integer
-      callbackUrl:
-        description: callback for notifying of RIC synchronization
-        type: string
-      timeSinceLastActivitySeconds:
-        format: int64
-        description: time since last invocation by the service
-        type: integer
-      serviceName:
-        description: identity of the service
-        type: string
-  service_status_v2:
-    type: object
-    title: service_status_v2
-    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:
-        format: int64
-        description: policy keep alive timeout
-        type: integer
-      time_since_last_activity_seconds:
-        format: int64
-        description: time since last invocation by the service
-        type: integer
-  policytype_v2:
-    description: Policy type
-    type: object
-    title: policytype_v2
-    properties:
-      policy_schema:
-        description: 'Policy type json scema. The schema is a json object following http://json-schema.org/draft-07/schema'
-        type: object
-  ric_info_list_v2:
-    description: List of Near-RT RIC information
-    type: object
-    title: ric_info_list_v2
-    properties:
-      rics:
-        description: List of Near-RT RIC information
-        type: array
-        items:
-          $ref: '#/definitions/ric_info_v2'
-  policytype_id_list_v2:
-    description: Information about policy types
-    type: object
-    title: policytype_id_list_v2
-    properties:
-      policytype_ids:
-        description: Policy type identities
-        type: array
-        items:
+          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
-  policy_id_list_v2:
-    description: A list of policy identities
-    type: object
-    title: policy_id_list_v2
-    properties:
-      policy_ids:
-        description: Policy identities
-        type: array
-        items:
+          description: state info
+        ricName:
           type: string
-  policy_info_v2:
-    description: Information for one A1-P Policy
-    type: object
-    title: policy_info_v2
-    required:
+          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
-    properties:
-      ric_id:
-        description: identity of the target Near-RT RIC
-        type: string
-      policy_id:
-        description: identity of the policy
-        type: string
-      transient:
-        description: 'if true, the policy is deleted at RIC restart. If false, its value is maintained by this service until explicitly deleted. Default false.'
-        type: boolean
-      service_id:
-        description: the name of the service owning the policy
-        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 policy type
-        type: string
-  service_list_v2:
-    description: List of service information
-    type: object
-    title: service_list_v2
-    properties:
-      service_list:
-        description: List of service information
-        type: array
-        items:
-          $ref: '#/definitions/service_status_v2'
-  service_callback_info_v2:
-    description: Information transferred as in Service callbacks (callback_url)
-    type: object
-    title: service_callback_info_v2
-    required:
+      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
-    properties:
-      ric_id:
-        description: identity of a Near-RT RIC
-        type: string
-      event_type:
-        description: |-
-          values:
-          AVAILABLE: the  Near-RT RIC has become available for A1 Policy management
-        type: string
-        enum:
+      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
-  Mono«ResponseEntity«string»»:
-    type: object
-    title: Mono«ResponseEntity«string»»
-swagger: '2.0'
-info:
-  x-audience: external-partner
-  x-api-id: 60f9a0e7-343f-43bf-9194-d8d65688d465
-  contact:
-    name: Ericsson Software Technology
-    email: nonrtric@est.tech
-  description: |-
-    The O-RAN Non-RT RIC Policy Management Service provides a REST API for management of A1 policices. 
-    It 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>
-  title: A1 Policy management service
-  version: 1.1.0
-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
-
+      description: Information transferred as in Service callbacks (callback_url)
+    Mono«ResponseEntity«string»»:
+      title: Mono«ResponseEntity«string»»
+      type: object
diff --git a/pom.xml b/pom.xml
index fe0f143..7e732e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,6 +42,7 @@
 
     <properties>
         <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
+        <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
     </properties>
 
     <build>
@@ -52,6 +53,30 @@
                 <artifactId>sonar-maven-plugin</artifactId>
                 <version>${sonar-maven-plugin.version}</version>
             </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>${maven-resources-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>copy-resource-one</id>
+                        <phase>install</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${basedir}/docs/offeredapis/swagger</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>${basedir}/a1-policy-management/api</directory>
+                                    <includes>
+                                        <include>pms-api.*</include>
+                                    </includes>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+               </executions>
+            </plugin>
         </plugins>
     </build>
 </project>