Use redoc for api docs

Change-Id: Ia530424154226698aad6c1498c90eadf23efdea0
Issue-ID: CCSDK-2833
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
diff --git a/docs/a1-adapter-api.rst b/docs/a1-adapter-api.rst
deleted file mode 100644
index 5999d55..0000000
--- a/docs/a1-adapter-api.rst
+++ /dev/null
@@ -1,530 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright (C) 2020 Nordix
-
-.. _a1-adapter-api:
-
-.. |nbsp| unicode:: 0xA0
-   :trim:
-
-.. |nbh| unicode:: 0x2011
-   :trim:
-
-##############
-A1 Adapter API
-##############
-
-The A1 of a Near |nbh| RT |nbsp| RIC can be used through the A1 Adapter.
-
-The A1 Adapter supports using multiple versions of A1 API southbound. By passing the full URL for each southbound
-A1 operation the problem of version-specific URL formats is avoided.
-
-Since different versions of A1 operations may use different data formats for data payloads for similar REST requests and
-responses the data formatting requirements are flexible, so version-specific encoding/decoding is handled by the service
-that requests the A1 operation.
-
-Get Policy Type
-~~~~~~~~~~~~~~~
-
-POST
-++++
-
-Gets a policy type.
-
-Definition
-""""""""""
-
-**URL path:**
-
-/restconf/operations/A1-ADAPTER-API:getA1PolicyType
-
-**Parameters:**
-
-None.
-
-**Body:** (*Required*)
-
-A JSON object. ::
-
-  {
-    "input": {
-      "near-rt-ric-url": "<url-to-near-rt-ric-to-get-type>"
-    }
-  }
-
-**Responses:**
-
-200:
-
-A JSON object where the body tag contains the JSON object of the policy type. ::
-
-  {
-    "output": {
-      "http-status": "integer",
-      "body": "{
-        <policy-type>
-      }"
-    }
-  }
-
-Examples
-""""""""
-
-Get a policy type from a Near |nbh| RT |nbsp| RIC that is using the OSC 2.1.0 version. The STD 1.1.3 version does not
-support types, so this function is not available for that version.
-
-**Call**: ::
-
-    curl -X POST "http://localhost:8282/restconf/operations/A1-ADAPTER-API:getA1PolicyType"
-    -H "Content-Type: application/json" -d '{
-      "input": {
-        "near-rt-ric-url": "http://nearRtRic-sim1:8085/a1-p/policytypes/11"
-      }
-    }'
-
-**Result**:
-
-200: ::
-
-  {
-    "output": {
-      "http-status": 200,
-      "body": "{
-        \"$schema\": \"http://json-schema.org/draft-07/schema#\",
-        \"title\": \"Example_QoETarget_1.0.0\",
-        \"description\": \"Example QoE Target policy type\",
-        \"type\": \"object\",
-        \"properties\": {
-          \"scope\": {
-            \"type\": \"object\",
-            \"properties\": {
-              \"ueId\": {
-                \"type\": \"string\"
-              },
-              \"sliceId\": {
-                \"type\": \"string\"
-              },
-              \"qosId\": {
-                \"type\": \"string\"
-              },
-              \"cellId\": {
-                \"type\": \"string\"
-              }
-            },
-            \"additionalProperties\": false,
-            \"required\": [
-              \"ueId\",
-              \"sliceId\"
-            ]
-          },
-          \"statement\": {
-            \"type\": \"object\",
-            \"properties\": {
-              \"qoeScore\": {
-                \"type\": \"number\"
-              },
-              \"initialBuffering\": {
-                \"type\": \"number\"
-              },
-              \"reBuffFreq\": {
-                \"type\": \"number\"
-              },
-              \"stallRatio\": {
-                \"type\": \"number\"
-              }
-            },
-            \"minProperties\": 1,
-            \"additionalProperties\": false
-          }
-        }
-      }"
-    }
-  }
-
-Put Policy
-~~~~~~~~~~
-
-POST
-++++
-
-Creates or updates a policy instance.
-
-Definition
-""""""""""
-
-**URL path:**
-
-/restconf/operations/A1-ADAPTER-API:putA1Policy
-
-**Parameters:**
-
-None.
-
-**Body:** (*Required*)
-
-A JSON object where the body tag contains the JSON object of the policy. ::
-
-  {
-    "input": {
-      "near-rt-ric-url": "<url-to-near-rt-ric-to-put-policy>",
-      "body": "<policy-as-json-string>"
-    }
-  }
-
-**Responses:**
-
-200:
-
-A JSON object with the response. ::
-
-  {
-    "output": {
-      "http-status": "integer"
-    }
-  }
-
-Examples
-""""""""
-
-**Call**:
-
-Create a policy in a Near |nbh| RT |nbsp| RIC that is using the OSC 2.1.0 version. ::
-
-    curl -X POST "http://localhost:8282/restconf/operations/A1-ADAPTER-API:putA1Policy"
-    -H "Content-Type: application/json" -d '{
-      "input": {
-        "near-rt-ric-url": "http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000",
-        "body": "{
-          "blocking_rate":20,
-          "enforce":true,
-          "trigger_threshold":10,
-          "window_length":10
-        }"
-      }
-    }'
-
-Create a policy in a Near |nbh| RT |nbsp| RIC that is using the STD 1.1.3 version. ::
-
-    curl -X POST http://localhost:8282/restconf/operations/A1-ADAPTER-API:putA1Policy
-    -H Content-Type:application/json -d '{
-      "input": {
-        "near-rt-ric-url": "http://ricsim_g2_1:8085/A1-P/v1/policies/5000",
-        "body": "{
-          "scope": {
-            "ueId": "ue5000",
-            "qosId": "qos5000"
-          },
-          "qosObjective": {
-            "priorityLevel": 5000
-          }
-        }"
-      }
-    }'
-
-**Result**:
-
-The result is the same irrespective of which API that is used.
-
-200: ::
-
-  {
-    "output": {
-      "http-status": 200
-    }
-  }
-
-Get Policy
-~~~~~~~~~~
-
-POST
-++++
-
-Gets a policy instance.
-
-Definition
-""""""""""
-
-**URL path:**
-
-/restconf/operations/A1-ADAPTER-API:getA1Policy
-
-**Parameters:**
-
-None.
-
-**Body:** (*Required*)
-
-A JSON object. ::
-
-  {
-    "input": {
-      "near-rt-ric-url": "<url-to-near-rt-ric-to-get-policy>"
-    }
-  }
-
-**Responses:**
-
-200:
-  A JSON object where the body tag contains the JSON object of the policy. ::
-
-    {
-      "output": {
-        "http-status": "integer",
-        "body": "{
-          <result>
-        }"
-      }
-    }
-
-Examples
-""""""""
-
-**Call**:
-
-Get **all** policy IDs from a Near |nbh| RT |nbsp| RIC that is using the OSC 2.1.0 version. ::
-
-    curl -X POST http://localhost:8282/restconf/operations/A1-ADAPTER-API:getA1Policy
-    -H Content-Type:application/json -d '{
-      "input": {
-        "near-rt-ric-url":"http://ricsim_g1_1:8085/a1-p/policytypes/11/policies"
-      }
-    }'
-
-Get **all** policy IDs from a Near |nbh| RT |nbsp| RIC that is using the STD 1.1.3 version. ::
-
-    curl -X POST http://localhost:8282/restconf/operations/A1-ADAPTER-API:getA1Policy
-    -H Content-Type:application/json -d '{
-      "input": {
-        "near-rt-ric-url":"http://ricsim_g2_1:8085/A1-P/v1/policies"
-      }
-    }'
-
-**Result**:
-
-The result is the same irrespective of which API that is used.
-
-200: ::
-
-  {
-    "output": {
-      "http-status":200,
-      "body":"[
-        \"5000\",
-          .
-          .
-          .
-        \"6000\"
-      ]"
-    }
-  }
-
-**Call**:
-
-Get **a specific** policy from a Near |nbh| RT |nbsp| RIC that is using the OSC 2.1.0 version. ::
-
-    curl -X POST "http://localhost:8282/restconf/operations/A1-ADAPTER-API:getA1Policy"
-    -H "Content-Type: application/json" -d '{
-      "input": {
-        "near-rt-ric-url": "http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000"
-      }
-    }'
-
-Get **a specific** policy from a Near |nbh| RT |nbsp| RIC that is using the STD 1.1.3 version. ::
-
-    curl -X POST http://localhost:8282/restconf/operations/A1-ADAPTER-API:getA1PolicyType
-    -H Content-Type:application/json -d '{
-      "input": {
-        "near-rt-ric-url":"http://ricsim_g2_1:8085/A1-P/v1/policies/5000"
-      }
-    }'
-
-**Result**:
-
-The result is the same irrespective of which API that is used.
-
-200: ::
-
-  {
-    "output": {
-      "http-status": 200,
-      "body": "{
-        \"blocking_rate\": 20,
-        \"enforce\": true,
-        \"trigger_threshold\": 10,
-        \"window_length\": 10
-      }"
-    }
-  }
-
-Delete Policy
-~~~~~~~~~~~~~
-
-POST
-++++
-
-Deletes a policy instance.
-
-Definition
-""""""""""
-
-**URL path:**
-
-/restconf/operations/A1-ADAPTER-API:deleteA1Policy
-
-**Parameters:**
-
-None.
-
-**Body:** (*Required*)
-
-A JSON object. ::
-
-  {
-    "input": {
-      "near-rt-ric-url": "<url-to-near-rt-ric-to-delete-policy>"
-    }
-  }
-
-**Responses:**
-
-200:
-
-A JSON object with the response. ::
-
-  {
-    "output": {
-      "http-status": "integer"
-    }
-  }
-
-Examples
-""""""""
-
-**Call**:
-
-Delete a policy from a Near |nbh| RT |nbsp| RIC that is using the OSC 2.1.0 version. ::
-
-    curl -X POST "http://localhost:8282/restconf/operations/A1-ADAPTER-API:deleteA1Policy"
-    -H "Content-Type: application/json" -d '{
-      "input": {
-        "near-rt-ric-url": "http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000"
-      }
-    }'
-
-Delete a policy from a Near |nbh| RT |nbsp| RIC that is using the STD 1.1.3 version. ::
-
-    curl -X POST "http://localhost:8282/restconf/operations/A1-ADAPTER-API:deleteA1Policy"
-    -H "Content-Type: application/json" -d '{
-      "input": {
-        "near-rt-ric-url": "http://ricsim_g2_1:8085/A1-P/v1/policies/5000"
-      }
-    }'
-
-**Result**:
-
-The result is the same irrespective of which API that is used.
-
-200: ::
-
-  {
-    "output": {
-      "http-status": 202
-    }
-  }
-
-Get Policy Status
-~~~~~~~~~~~~~~~~~
-
-POST
-++++
-
-Get the status of a policy instance.
-
-Definition
-""""""""""
-
-**URL path:**
-
-/restconf/operations/A1-ADAPTER-API:getA1PolicyStatus
-
-**Parameters:**
-
-None.
-
-**Body:** (*Required*)
-
-A JSON object. ::
-
-  {
-    "input": {
-      "near-rt-ric-url": "<url-to-near-rt-ric-to-get-policy-status>"
-    }
-  }
-
-**Responses:**
-
-200:
-
-A JSON object where the body tag contains the JSON object with the policy status according to the API version used. ::
-
-  {
-    "output": {
-      "http-status": "integer",
-      "body": "{
-        <policy-status-object>
-      }"
-    }
-  }
-
-Examples
-""""""""
-
-**Call**:
-
-Get the policy status for a specific policy from a Near |nbh| RT |nbsp| RIC that is using the OSC 2.1.0 version. ::
-
-    curl -X POST "http://localhost:8282/restconf/operations/A1-ADAPTER-API:getA1PolicyStatus"
-    -H "Content-Type: application/json" -d '{
-      "input": {
-        "near-rt-ric-url": "http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000/status"
-      }
-    }'
-
-**Result**:
-
-200: ::
-
-  {
-    "output": {
-      "http-status": 200,
-      "body": "{
-        \"instance_status\": \"IN EFFECT\",
-        \"has_been_deleted\": \"true\",
-        \"created_at\": \"Wed, 01 Apr 2020 07:45:45 GMT\"
-      }"
-    }
-  }
-
-**Call**:
-
-Get the policy status for a specific policy from a Near |nbh| RT |nbsp| RIC that is using the STD 1.1.3 version. ::
-
-    curl -X POST "http://localhost:8282/restconf/operations/A1-ADAPTER-API:getA1PolicyStatus"
-    -H "Content-Type: application/json" -d '{
-      "input": {
-        "near-rt-ric-url": "http://ricsim_g2_1:8085/A1-P/v1/policies/5000/status"
-      }
-    }'
-
-**Result**:
-
-200: ::
-
-  {
-    "output": {
-      "http-status": 200,
-      "body": "{
-        \"enforceStatus\": \"UNDEFINED\"
-      }"
-    }
-  }
diff --git a/docs/conf.py b/docs/conf.py
index de84a19..bb52b59 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -7,7 +7,18 @@
     'http://localhost',
 ]
 
-extensions = ['sphinx_tabs.tabs']
+extensions = ['sphinx_tabs.tabs', 'sphinxcontrib.redoc',]
+
+redoc = [
+            {
+                'name': 'PMS API',
+                'page': 'offeredapis/pms-api',
+                'spec': './offeredapis/swagger/pms-api.json',
+                'embed': True,
+            }
+        ]
+
+redoc_uri = 'https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js'
 
 intersphinx_mapping = {}
 
diff --git a/docs/developer-guide.rst b/docs/guide/developer-guide.rst
similarity index 100%
rename from docs/developer-guide.rst
rename to docs/guide/developer-guide.rst
diff --git a/docs/index.rst b/docs/index.rst
index de676d1..65db292 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -7,10 +7,9 @@
 ----------
 
 .. toctree::
-   :maxdepth: 2
+   :maxdepth: 1
    :caption: Contents:
 
-   ./developer-guide.rst
-   ./pms-api.rst
-   ./a1-adapter-api.rst
+   ./offeredapis/offeredapis.rst
+   ./guide/developer-guide.rst
    ./release-notes.rst
diff --git a/docs/media/swagger.png b/docs/media/swagger.png
new file mode 100644
index 0000000..f5a9e0c
--- /dev/null
+++ b/docs/media/swagger.png
Binary files differ
diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst
new file mode 100644
index 0000000..2b29aa4
--- /dev/null
+++ b/docs/offeredapis/offeredapis.rst
@@ -0,0 +1,81 @@
+.. This work is licensed under a Creative Commons Attribution 4.0
+   International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2020 Nordix Foundation
+.. _offeredapis:
+
+
+Offered APIs
+============
+
+Introduction
+************
+
+The north bound ...
+
+
+Global ORAN architecture
+************************
+
+Following illustration provides a global view about **ORAN** architecture,
+integration with other ONAP components and API resource/operation provided.
+
+.. image:: ../images/onap_ccsdk_oran.jpg
+   :width: 800px
+
+
+API Endpoint
+************
+
+TBD
+
+
+API Version
+***********
+
+APIs are described with a  state version with "v" following the API Name,
+e.g.:  ``TBD``.
+The schema associated with a REST API must have its version number aligned
+with that of the REST API.
+
+The version number has major, minor and revision numbers. E.g. v1.0.0
+The version number (without the revision number) is held in the URI.
+
+The major version number is incremented for an incompatible change.
+The minor version number is incremented for a compatible change.
+For minor modifications of the API, version numbering must not be updated,
+provided the following  backward compatibility rules are respected:
+
+- New elements in a data type must be optional (``minOccurs=0``)
+- Changes in the cardinality of an attribute in a data type must be from
+  mandatory to optional or from lower to greater
+- New attributes defined in an element must be optional (absence of
+  ``use="required"``).
+- If new enumerated values are included, the former ones and its meaning must
+  be kept.
+- If new operations are added, the existing operations must be kept
+- New parameters added to existing operations must be optional and existing
+  parameters must be kept
+
+For major modifications of the API, not backward compatible and forcing client
+implementations to be changed, the version number must be updated.
+
+
+API Table
+*********
+
+.. |swagger-icon| image:: ../media/swagger.png
+                  :width: 40px
+
+
+.. csv-table::
+   :header: "API name", "|swagger-icon|"
+   :widths: 10,5
+
+   "PMS API", ":download:`link <./swagger/pms-api.json>`"
+
+
+PMS API
+.......
+`PMS API <./pms-api.html>`_
+
diff --git a/docs/offeredapis/swagger/pms-api.json b/docs/offeredapis/swagger/pms-api.json
new file mode 100644
index 0000000..f600470
--- /dev/null
+++ b/docs/offeredapis/swagger/pms-api.json
@@ -0,0 +1,1383 @@
+{
+    "swagger": "2.0",
+    "basePath": "/",
+    "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"
+        }
+    ],
+    "paths": {
+        "/policy_types": {"get": {
+            "summary": "Query policy type names",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyTypesUsingGET",
+            "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/policy": {
+            "get": {
+                "summary": "Returns a policy configuration",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "getPolicyUsingGET_1",
+                "responses": {
+                    "200": {
+                        "schema": {"$ref": "#/definitions/json_object"},
+                        "description": "Policy found"
+                    },
+                    "401": {"description": "Unauthorized"},
+                    "403": {"description": "Forbidden"},
+                    "404": {
+                        "schema": {"$ref": "#/definitions/error_information"},
+                        "description": "Policy is not found"
+                    }
+                },
+                "parameters": [{
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "policy_id",
+                    "description": "The identity of the policy instance.",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            },
+            "delete": {
+                "summary": "Delete a policy",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deletePolicyUsingDELETE_1",
+                "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": "query",
+                    "allowEmptyValue": false,
+                    "name": "policy_id",
+                    "description": "The identity of the policy instance.",
+                    "type": "string",
+                    "required": true
+                }],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+            },
+            "put": {
+                "summary": "Create or update a policy",
+                "deprecated": false,
+                "produces": ["application/json"],
+                "operationId": "putPolicyUsingPUT_1",
+                "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": {"type": "object"},
+                        "in": "body",
+                        "name": "jsonBody",
+                        "description": "jsonBody",
+                        "required": true
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "policy_id",
+                        "description": "The identity of the policy instance.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "policytype_id",
+                        "description": "The identity of the policy type.",
+                        "type": "string",
+                        "required": false
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "ric_id",
+                        "description": "The identity of the Near-RT RIC where the policy will be created.",
+                        "type": "string",
+                        "required": true
+                    },
+                    {
+                        "in": "query",
+                        "allowEmptyValue": false,
+                        "name": "service_id",
+                        "description": "The identity 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 not be recreated in the Near-RT RIC when it has been lost (for instance due to a restart)",
+                        "type": "boolean",
+                        "required": false
+                    }
+                ],
+                "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+                "consumes": ["application/json"]
+            }
+        },
+        "/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)"]
+        }},
+        "/policy_ids": {"get": {
+            "summary": "Query policies, only policy identities returned",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyIdsUsingGET",
+            "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-types": {"get": {
+            "summary": "Query policy type identities",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyTypesUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policy_type_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)"]
+        }},
+        "/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",
+                "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)"]
+            },
+            "delete": {
+                "summary": "Unregister a service",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "deleteServiceUsingDELETE",
+                "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": "query",
+                    "allowEmptyValue": false,
+                    "name": "service_id",
+                    "description": "The idenitity of the service",
+                    "type": "string",
+                    "required": true
+                }],
+                "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",
+                "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"]
+            }
+        },
+        "/services": {
+            "get": {
+                "summary": "Returns service information",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "getServicesUsingGET_1",
+                "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_1",
+                "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"]
+            }
+        },
+        "/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 serice",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "keepAliveServiceUsingPUT_1",
+            "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/keepalive": {"put": {
+            "summary": "Heartbeat indicates that the service is running",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "keepAliveServiceUsingPUT",
+            "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": "query",
+                "allowEmptyValue": false,
+                "name": "service_id",
+                "description": "The identity of the service",
+                "type": "string",
+                "required": true
+            }],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"],
+            "consumes": ["application/json"]
+        }},
+        "/v2/policy-schemas": {"get": {
+            "summary": "Returns policy type schema definitions",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicySchemasUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/policy_schema_list_v2"},
+                    "description": "Policy schemas"
+                },
+                "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": "policytype_id",
+                    "description": "The identity of the policy type to get the definition for. When this parameter is given, max one schema will be returned",
+                    "type": "string",
+                    "required": true
+                },
+                {
+                    "in": "query",
+                    "allowEmptyValue": false,
+                    "name": "ric_id",
+                    "description": "The identity of the Near-RT RIC to get the definitions for.",
+                    "type": "string",
+                    "required": false
+                }
+            ],
+            "tags": ["A1 Policy Management Version 2.0 (in progress)"]
+        }},
+        "/v2/ric": {"get": {
+            "summary": "Returns info for a 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)"]
+        }},
+        "/policy": {
+            "get": {
+                "summary": "Returns a policy configuration",
+                "deprecated": false,
+                "produces": ["*/*"],
+                "operationId": "getPolicyUsingGET",
+                "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",
+                "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",
+                "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"]
+            }
+        },
+        "/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/policy-ids": {"get": {
+            "summary": "Query policies, only policy identities are returned",
+            "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_1",
+            "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)"]
+        }},
+        "/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/policy-status": {"get": {
+            "summary": "Returns a policy status",
+            "deprecated": false,
+            "produces": ["application/json"],
+            "operationId": "getPolicyStatusUsingGET_1",
+            "responses": {
+                "200": {
+                    "schema": {"$ref": "#/definitions/json_object"},
+                    "description": "Policy status"
+                },
+                "401": {"description": "Unauthorized"},
+                "403": {"description": "Forbidden"},
+                "404": {
+                    "schema": {"$ref": "#/definitions/error_information"},
+                    "description": "Policy is not found"
+                }
+            },
+            "parameters": [{
+                "in": "query",
+                "allowEmptyValue": false,
+                "name": "policy_id",
+                "description": "The identity of the policy.",
+                "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"]
+        }},
+        "/service": {"put": {
+            "summary": "Register a service",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "putServiceUsingPUT_1",
+            "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 for existing A1 policies",
+            "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": "getPoliciesUsingGET_1",
+            "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)"]
+        }},
+        "/policy_status": {"get": {
+            "summary": "Returns a policy status",
+            "deprecated": false,
+            "produces": ["*/*"],
+            "operationId": "getPolicyStatusUsingGET",
+            "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/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)"]
+        }}
+    },
+    "host": "localhost:41579",
+    "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"
+                }
+            }
+        },
+        "policy_schema_list_v2": {
+            "description": "Policy type json schemas",
+            "type": "object",
+            "title": "policy_schema_list_v2",
+            "properties": {"policy_schemas": {
+                "description": "Policy type json schemas. The schema is a json object following http://json-schema.org/draft-07/schema",
+                "type": "array",
+                "items": {"type": "object"}
+            }}
+        },
+        "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"
+                    ]
+                },
+                "policy_type_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 RIC synchronization",
+                    "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_type_id_list_v2": {
+            "description": "Information about policy types",
+            "type": "object",
+            "title": "policy_type_id_list_v2",
+            "properties": {"policy_type_ids": {
+                "description": "Policy type identities",
+                "type": "array",
+                "items": {"type": "string"}
+            }}
+        },
+        "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"
+                }
+            }
+        },
+        "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"}
+            }}
+        },
+        "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",
+            "properties": {
+                "ric_id": {
+                    "description": "identity of the target Near-RT RIC",
+                    "type": "string"
+                },
+                "policy_id": {
+                    "description": "identity of the policy",
+                    "type": "string"
+                },
+                "service_id": {
+                    "description": "the name of the service owning the policy",
+                    "type": "string"
+                },
+                "policy_data": {
+                    "description": "the configuration of the policy",
+                    "type": "object"
+                },
+                "last_modified": {
+                    "description": "timestamp, last modification time",
+                    "type": "string"
+                },
+                "policy_type_id": {
+                    "description": "name of the policy type",
+                    "type": "string"
+                }
+            }
+        },
+        "json_object": {
+            "description": "A JSON object defining the configuration of the policy. The schema is defined by the Policy Type.",
+            "type": "object",
+            "title": "json_object"
+        },
+        "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"}
+            }}
+        },
+        "Mono«ResponseEntity«string»»": {
+            "type": "object",
+            "title": "Mono«ResponseEntity«string»»"
+        }
+    }
+}
\ No newline at end of file
diff --git a/docs/pms-api.rst b/docs/pms-api.rst
deleted file mode 100644
index e32194f..0000000
--- a/docs/pms-api.rst
+++ /dev/null
@@ -1,69 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2020 Nordix Foundation.
-
-.. _pms-api:
-
-Policy Management Service API
-=============================
-
-This document provides the northboudn api for the Policy Management Service.
-
-.. raw:: html
-
-    <embed>
-
-      <!DOCTYPE html>
-      <html lang="en">
-      <head>
-        <meta charset="UTF-8">
-        <title>Swagger UI</title>
-        <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
-        <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.24.2/swagger-ui.css" >
-        <style>
-          html
-          {
-            box-sizing: border-box;
-            overflow: -moz-scrollbars-vertical;
-            overflow-y: scroll;
-          }
-          *,
-          *:before,
-          *:after
-          {
-            box-sizing: inherit;
-          }
-          body {
-            margin:0;
-            background: #fafafa;
-          }
-        </style>
-      </head>
-      <body>
-      <div id="swagger-ui"></div>
-      <script src="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.24.2/swagger-ui-bundle.js"> </script>
-      <script src="https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.24.2/swagger-ui-standalone-preset.js"> </script>
-      <script>
-      window.onload = function() {
-        var spec = {"swagger": "2.0", "info": {"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>", "version": "1.1.0", "title": "A1 Policy management service", "contact": {"name": "Ericsson Software Technology", "email": "nonrtric@est.tech"}, "x-api-id": "60f9a0e7-343f-43bf-9194-d8d65688d465", "x-audience": "external-partner"}, "host": "localhost:8081", "basePath": "/", "tags": [{"name": "A1 Policy Management Version 1.0", "description": "Policy Controller"}, {"name": "A1 Policy Management Version 2.0 (in progress)", "description": "Policy Controller"}], "paths": {"/policies": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Query policies", "operationId": "getPoliciesUsingGET_1", "produces": ["*/*"], "parameters": [{"name": "ric", "in": "query", "description": "The name of the Near-RT RIC to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "service", "in": "query", "description": "The name of the service to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "type", "in": "query", "description": "The name of the policy type to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policies", "schema": {"type": "array", "items": {"$ref": "#/definitions/policy_info_v1"}}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC or type not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/policy": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Returns a policy configuration", "operationId": "getPolicyUsingGET_1", "produces": ["*/*"], "parameters": [{"name": "id", "in": "query", "description": "The identity of the policy instance.", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy found", "schema": {"type": "object"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy is not found"}}, "deprecated": false}, "put": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Put a policy", "operationId": "putPolicyUsingPUT_1", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{"name": "id", "in": "query", "description": "The identity of the policy instance.", "required": true, "type": "string", "allowEmptyValue": false}, {"in": "body", "name": "jsonBody", "description": "jsonBody", "required": true, "schema": {"type": "object"}}, {"name": "ric", "in": "query", "description": "The name of the Near-RT RIC where the policy will be created.", "required": true, "type": "string", "allowEmptyValue": false}, {"name": "service", "in": "query", "description": "The name of the service creating the policy.", "required": true, "type": "string", "allowEmptyValue": false}, {"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.", "required": false, "type": "boolean", "default": false, "allowEmptyValue": false, "x-example": false}, {"name": "type", "in": "query", "description": "The name of the policy type.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy updated"}, "201": {"description": "Policy created"}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC or policy type is not found", "schema": {"type": "string"}}, "423": {"description": "Near-RT RIC is not operational", "schema": {"type": "string"}}}, "deprecated": false}, "delete": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Delete a policy", "operationId": "deletePolicyUsingDELETE_1", "produces": ["*/*"], "parameters": [{"name": "id", "in": "query", "description": "The identity of the policy instance.", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Not used"}, "204": {"description": "Policy deleted"}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy is not found", "schema": {"type": "string"}}, "423": {"description": "Near-RT RIC is not operational", "schema": {"type": "string"}}}, "deprecated": false}}, "/policy_ids": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Query policies, only policy identities returned", "operationId": "getPolicyIdsUsingGET_1", "produces": ["*/*"], "parameters": [{"name": "ric", "in": "query", "description": "The name of the Near-RT RIC to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "service", "in": "query", "description": "The name of the service to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "type", "in": "query", "description": "The name of the policy type to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy identitiess", "schema": {"type": "array", "items": {"type": "string"}}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC or type not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/policy_schema": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Returns one policy type schema definition", "operationId": "getPolicySchemaUsingGET", "produces": ["*/*"], "parameters": [{"name": "id", "in": "query", "description": "The identity of the policy type to get the definition for.", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy schema", "schema": {"type": "object"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "The policy type is not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/policy_schemas": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Returns policy type schema definitions", "operationId": "getPolicySchemasUsingGET_1", "produces": ["*/*"], "parameters": [{"name": "ric", "in": "query", "description": "The name of the Near-RT RIC to get the definitions for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy schemas", "schema": {"type": "array", "items": {"type": "object"}}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC is not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/policy_status": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Returns a policy status", "operationId": "getPolicyStatusUsingGET_1", "produces": ["*/*"], "parameters": [{"name": "id", "in": "query", "description": "The identity of the policy.", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy status", "schema": {"type": "object"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy is not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/policy_types": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Query policy type names", "operationId": "getPolicyTypesUsingGET_1", "produces": ["*/*"], "parameters": [{"name": "ric", "in": "query", "description": "The name of the Near-RT RIC to get types for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy type names", "schema": {"type": "array", "items": {"type": "string"}}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC is not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/ric": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Returns the name of a RIC managing one Mananged Element", "operationId": "getRicUsingGET", "produces": ["*/*"], "parameters": [{"name": "managedElementId", "in": "query", "description": "The identity of the Managed Element", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Near-RT RIC is found", "schema": {"type": "string"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC is not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/rics": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Query Near-RT RIC information", "operationId": "getRicsUsingGET", "produces": ["*/*"], "parameters": [{"name": "policyType", "in": "query", "description": "The name of the policy type", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "OK", "schema": {"type": "array", "items": {"$ref": "#/definitions/ric_info_v1"}}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy type is not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/service": {"put": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Register a service", "operationId": "putServiceUsingPUT_1", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{"in": "body", "name": "registrationInfo", "description": "registrationInfo", "required": true, "schema": {"$ref": "#/definitions/service_registration_info_v1"}}], "responses": {"200": {"description": "Service updated", "schema": {"type": "string"}}, "201": {"description": "Service created", "schema": {"type": "string"}}, "400": {"description": "The ServiceRegistrationInfo is not accepted", "schema": {"type": "string"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Not Found"}}, "deprecated": false}}, "/services": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Returns service information", "operationId": "getServicesUsingGET_1", "produces": ["*/*"], "parameters": [{"name": "name", "in": "query", "description": "The name of the service", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "OK", "schema": {"type": "array", "items": {"$ref": "#/definitions/service_status_v1"}}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Service is not found", "schema": {"type": "string"}}}, "deprecated": false}, "delete": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Delete a service", "operationId": "deleteServiceUsingDELETE_1", "produces": ["*/*"], "parameters": [{"name": "name", "in": "query", "description": "The name of the service", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "OK", "schema": {"type": "string"}}, "204": {"description": "Service deleted", "schema": {"type": "string"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Service not found", "schema": {"type": "string"}}}, "deprecated": false}}, "/services/keepalive": {"put": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Heartbeat from a serice", "operationId": "keepAliveServiceUsingPUT_1", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{"name": "name", "in": "query", "description": "The name of the service", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Service supervision timer refreshed, OK", "schema": {"type": "string"}}, "201": {"description": "Created"}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "The service is not found, needs re-registration"}}, "deprecated": false}}, "/status": {"get": {"tags": ["A1 Policy Management Version 1.0"], "summary": "Returns status and statistics of this service", "operationId": "getStatusUsingGET", "produces": ["*/*"], "responses": {"200": {"description": "Service is living", "schema": {"type": "string"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Not Found"}}, "deprecated": false}}, "/v2/policies": {"get": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Query for existing A1 policies", "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": "getPoliciesUsingGET", "produces": ["application/json"], "parameters": [{"name": "policytype_id", "in": "query", "description": "The identity of the policy type to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "ric_id", "in": "query", "description": "The identity of the Near-RT RIC to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "service_id", "in": "query", "description": "The identity of the service to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policies", "schema": {"$ref": "#/definitions/policy_info_list_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC, policy type or service not found", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}}, "/v2/policy": {"get": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Returns a policy configuration", "operationId": "getPolicyUsingGET", "produces": ["application/json"], "parameters": [{"name": "policy_id", "in": "query", "description": "The identity of the policy instance.", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy found", "schema": {"$ref": "#/definitions/json_object"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy is not found", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}, "put": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Create or update a policy", "operationId": "putPolicyUsingPUT", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{"in": "body", "name": "jsonBody", "description": "jsonBody", "required": true, "schema": {"type": "object"}}, {"name": "policy_id", "in": "query", "description": "The identity of the policy instance.", "required": true, "type": "string", "allowEmptyValue": false}, {"name": "policytype_id", "in": "query", "description": "The identity of the policy type.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "ric_id", "in": "query", "description": "The identity of the Near-RT RIC where the policy will be created.", "required": true, "type": "string", "allowEmptyValue": false}, {"name": "service_id", "in": "query", "description": "The identity of the service creating the policy.", "required": true, "type": "string", "allowEmptyValue": false}, {"name": "transient", "in": "query", "description": "If the policy is transient or not (boolean defaulted to false). A policy is transient if it will not be recreated in the Near-RT RIC when it has been lost (for instance due to a restart)", "required": false, "type": "boolean", "default": false, "allowEmptyValue": false, "x-example": false}], "responses": {"200": {"description": "Policy updated"}, "201": {"description": "Policy created"}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC or policy type is not found", "schema": {"$ref": "#/definitions/error_information"}}, "423": {"description": "Near-RT RIC is not operational", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}, "delete": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Delete a policy", "operationId": "deletePolicyUsingDELETE", "produces": ["*/*"], "parameters": [{"name": "policy_id", "in": "query", "description": "The identity of the policy instance.", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Not used"}, "204": {"description": "Policy deleted"}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy is not found", "schema": {"$ref": "#/definitions/error_information"}}, "423": {"description": "Near-RT RIC is not operational", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}}, "/v2/policy-ids": {"get": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Query policies, only policy identities 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", "produces": ["application/json"], "parameters": [{"name": "policytype_id", "in": "query", "description": "The identity of the policy type to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "ric_id", "in": "query", "description": "The identity of the Near-RT RIC to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "service_id", "in": "query", "description": "The identity of the service to get policies for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy identities", "schema": {"$ref": "#/definitions/policy_id_list_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC or type not found", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}}, "/v2/policy-schemas": {"get": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Returns policy type schema definitions", "operationId": "getPolicySchemasUsingGET", "produces": ["application/json"], "parameters": [{"name": "policytype_id", "in": "query", "description": "The identity of the policy type to get the definition for. When this parameter is given, max one schema will be returned", "required": true, "type": "string", "allowEmptyValue": false}, {"name": "ric_id", "in": "query", "description": "The identity of the Near-RT RIC to get the definitions for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy schemas", "schema": {"$ref": "#/definitions/policy_schema_list_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC is not found", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}}, "/v2/policy-status": {"get": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Returns a policy status", "operationId": "getPolicyStatusUsingGET", "produces": ["application/json"], "parameters": [{"name": "policy_id", "in": "query", "description": "The identity of the policy.", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy status", "schema": {"$ref": "#/definitions/json_object"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy is not found", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}}, "/v2/policy-types": {"get": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Query policy type identities", "operationId": "getPolicyTypesUsingGET", "produces": ["application/json"], "parameters": [{"name": "ric_id", "in": "query", "description": "The identity of the Near-RT RIC to get types for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Policy type IDs", "schema": {"$ref": "#/definitions/policy_type_id_list_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC is not found", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}}, "/v2/ric": {"get": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Returns info for a 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_1", "produces": ["application/json"], "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.", "required": false, "type": "string", "allowEmptyValue": false}, {"name": "ric_id", "in": "query", "description": "The identity of a Near-RT RIC to get information for.", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Near-RT RIC is found", "schema": {"$ref": "#/definitions/ric_info_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Near-RT RIC is not found", "schema": {"$ref": "#/definitions/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_1", "produces": ["application/json"], "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", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "OK", "schema": {"$ref": "#/definitions/ric_info_list_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Policy type is not found", "schema": {"$ref": "#/definitions/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", "produces": ["application/json"], "parameters": [{"name": "service_id", "in": "query", "description": "The identity of the service", "required": false, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "OK", "schema": {"$ref": "#/definitions/service_list_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Service is not found", "schema": {"$ref": "#/definitions/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", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{"in": "body", "name": "registrationInfo", "description": "registrationInfo", "required": true, "schema": {"$ref": "#/definitions/service_registration_info_v2"}}], "responses": {"200": {"description": "Service updated", "schema": {"type": "object"}}, "201": {"description": "Service created", "schema": {"type": "object"}}, "400": {"description": "The ServiceRegistrationInfo is not accepted", "schema": {"$ref": "#/definitions/error_information"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Not Found"}}, "deprecated": false}, "delete": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Unregister a service", "operationId": "deleteServiceUsingDELETE", "produces": ["*/*"], "parameters": [{"name": "service_id", "in": "query", "description": "The idenitity of the service", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Not used"}, "204": {"description": "Service unregistered", "schema": {"type": "object"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Service not found", "schema": {"$ref": "#/definitions/error_information"}}}, "deprecated": false}}, "/v2/services/keepalive": {"put": {"tags": ["A1 Policy Management Version 2.0 (in progress)"], "summary": "Heartbeat indicates that the service is running", "operationId": "keepAliveServiceUsingPUT", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{"name": "service_id", "in": "query", "description": "The identity of the service", "required": true, "type": "string", "allowEmptyValue": false}], "responses": {"200": {"description": "Service supervision timer refreshed, OK", "schema": {"type": "object"}}, "201": {"description": "Created"}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "The service is not found, needs re-registration", "schema": {"$ref": "#/definitions/error_information"}}}, "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", "produces": ["application/json"], "responses": {"200": {"description": "Service is living", "schema": {"$ref": "#/definitions/status_info_v2"}}, "401": {"description": "Unauthorized"}, "403": {"description": "Forbidden"}, "404": {"description": "Not Found"}}, "deprecated": false}}}, "definitions": {"Mono\u00abResponseEntity\u00abobject\u00bb\u00bb": {"type": "object", "title": "Mono\u00abResponseEntity\u00abobject\u00bb\u00bb"}, "Mono\u00abResponseEntity\u00abstring\u00bb\u00bb": {"type": "object", "title": "Mono\u00abResponseEntity\u00abstring\u00bb\u00bb"}, "error_information": {"type": "object", "properties": {"detail": {"type": "string", "example": "Policy type not found", "description": " A human-readable explanation specific to this occurrence of the problem."}, "status": {"type": "integer", "format": "int32", "example": 503, "description": "The HTTP status code generated by the origin server for this occurrence of the problem. "}}, "title": "error_information", "description": "Problem as defined in https://tools.ietf.org/html/rfc7807"}, "json_object": {"type": "object", "title": "json_object", "description": "A JSON object defining the configuration of the policy. The schema is defined by the Policy Type."}, "policy_id_list_v2": {"type": "object", "properties": {"policy_ids": {"type": "array", "description": "Policy identities", "items": {"type": "string"}}}, "title": "policy_id_list_v2", "description": "A list of policy identities"}, "policy_info_list_v2": {"type": "object", "properties": {"policies": {"type": "array", "description": "List of policy information", "items": {"$ref": "#/definitions/policy_info_v2"}}}, "title": "policy_info_list_v2", "description": "List of policy information"}, "policy_info_v1": {"type": "object", "properties": {"id": {"type": "string", "description": "identity of the policy"}, "json": {"type": "object", "description": "the configuration of the policy"}, "lastModified": {"type": "string", "description": "timestamp, last modification time"}, "ric": {"type": "string", "description": "identity of the target Near-RT RIC"}, "service": {"type": "string", "description": "the name of the service owning the policy"}, "type": {"type": "string", "description": "name of the policy type"}}, "title": "policy_info_v1"}, "policy_info_v2": {"type": "object", "properties": {"last_modified": {"type": "string", "description": "timestamp, last modification time"}, "policy_data": {"type": "object", "description": "the configuration of the policy"}, "policy_id": {"type": "string", "description": "identity of the policy"}, "policy_type_id": {"type": "string", "description": "name of the policy type"}, "ric_id": {"type": "string", "description": "identity of the target Near-RT RIC"}, "service_id": {"type": "string", "description": "the name of the service owning the policy"}}, "title": "policy_info_v2", "description": "Information for one A1-P Policy"}, "policy_schema_list_v2": {"type": "object", "properties": {"policy_schemas": {"type": "array", "description": "Policy type json schemas. The schema is a json object following http://json-schema.org/draft-07/schema", "items": {"type": "object"}}}, "title": "policy_schema_list_v2", "description": "Policy type json schemas"}, "policy_type_id_list_v2": {"type": "object", "properties": {"policy_type_ids": {"type": "array", "description": "Policy type identities", "items": {"type": "string"}}}, "title": "policy_type_id_list_v2", "description": "Information about policy types"}, "ric_info_list_v2": {"type": "object", "properties": {"rics": {"type": "array", "description": "List of Near-RT RIC information", "items": {"$ref": "#/definitions/ric_info_v2"}}}, "title": "ric_info_list_v2", "description": "List of Near-RT RIC information"}, "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"}}, "ricName": {"type": "string", "description": "identity of the Near-RT RIC"}, "state": {"type": "string", "description": "state info"}}, "title": "ric_info_v1"}, "ric_info_v2": {"type": "object", "properties": {"managed_element_ids": {"type": "array", "description": "O1 identities for managed entities", "items": {"type": "string"}}, "policy_type_ids": {"type": "array", "description": "supported policy types", "items": {"type": "string"}}, "ric_id": {"type": "string", "description": "identity of the Near-RT RIC"}, "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"]}}, "title": "ric_info_v2", "description": "Information for a Near-RT RIC"}, "service_list_v2": {"type": "object", "properties": {"service_list": {"type": "array", "description": "List of service information", "items": {"$ref": "#/definitions/service_status_v2"}}}, "title": "service_list_v2", "description": "List of service information"}, "service_registration_info_v1": {"type": "object", "properties": {"callbackUrl": {"type": "string", "description": "callback for notifying of RIC synchronization"}, "keepAliveIntervalSeconds": {"type": "integer", "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."}, "serviceName": {"type": "string"}}, "title": "service_registration_info_v1"}, "service_registration_info_v2": {"type": "object", "required": ["service_id"], "properties": {"callback_url": {"type": "string", "description": "callback for notifying of RIC synchronization"}, "keep_alive_interval_seconds": {"type": "integer", "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."}, "service_id": {"type": "string", "description": "identity of the service"}}, "title": "service_registration_info_v2", "description": "Information for one service"}, "service_status_v1": {"type": "object", "properties": {"callbackUrl": {"type": "string", "description": "callback for notifying of RIC synchronization"}, "keepAliveIntervalSeconds": {"type": "integer", "format": "int64", "description": "policy keep alive timeout"}, "serviceName": {"type": "string", "description": "identity of the service"}, "timeSinceLastActivitySeconds": {"type": "integer", "format": "int64", "description": "time since last invocation by the service"}}, "title": "service_status_v1"}, "service_status_v2": {"type": "object", "properties": {"callback_url": {"type": "string", "description": "callback for notifying of RIC synchronization"}, "keep_alive_interval_seconds": {"type": "integer", "format": "int64", "description": "policy keep alive timeout"}, "service_id": {"type": "string", "description": "identity of the service"}, "time_since_last_activity_seconds": {"type": "integer", "format": "int64", "description": "time since last invocation by the service"}}, "title": "service_status_v2"}, "status_info_v2": {"type": "object", "properties": {"status": {"type": "string", "description": "status text"}}, "title": "status_info_v2"}, "void": {"type": "object", "title": "void", "description": "Void/empty"}}};
-        // Build a system
-        const ui = SwaggerUIBundle({
-          spec: spec,
-          dom_id: '#swagger-ui',
-          deepLinking: true,
-          presets: [
-            SwaggerUIBundle.presets.apis,
-            SwaggerUIStandalonePreset
-          ],
-          plugins: [
-            SwaggerUIBundle.plugins.DownloadUrl
-          ],
-          layout: "StandaloneLayout"
-        })
-        window.ui = ui
-      }
-      </script>
-      </body>
-      </html>
-
-   </embed>
diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt
index b1ec65c..aeda4ee 100644
--- a/docs/requirements-docs.txt
+++ b/docs/requirements-docs.txt
@@ -13,4 +13,5 @@
 sphinxcontrib-swaggerdoc
 sphinxcontrib-plantuml
 sphinx_bootstrap_theme
-lfdocs-conf
+sphinxcontrib-redoc
+lfdocs-conf
\ No newline at end of file