Add A1 Adapter API documentation

Change-Id: Id19e858c67681b781871169ef79da5edf48c5cb2
Issue-ID: CCSDK-2833
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
diff --git a/docs/conf.py b/docs/conf.py
index bb52b59..29923a0 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -15,6 +15,12 @@
                 'page': 'offeredapis/pms-api',
                 'spec': './offeredapis/swagger/pms-api.json',
                 'embed': True,
+            },
+            {
+                'name': 'A1 ADAPTER API',
+                'page': 'offeredapis/a1-adapter-api',
+                'spec': './offeredapis/swagger/a1-adapter-api.json',
+                'embed': True,
             }
         ]
 
diff --git a/docs/guide/developer-guide.rst b/docs/guide/developer-guide.rst
index b6d4ce8..f067a3f 100644
--- a/docs/guide/developer-guide.rst
+++ b/docs/guide/developer-guide.rst
@@ -36,6 +36,7 @@
 
 Dependencies
 ------------
+
 This project uses various frameworks which are managed with Maven
 dependency management tool (see *pom.xml* file at root level) :
 
@@ -59,16 +60,21 @@
 Configuration of certs
 ----------------------
 
-The Policy Management Service uses the default keystore and truststore that are built into the container. The paths and passwords for these stores are located in a yaml file:
- oran/a1-policy-management/config/application.yaml
+The Policy Management Service uses the default keystore and truststore that are built into the container. The paths and
+passwords for these stores are located in a yaml file: ::
 
-There is also Policy Management Service's own cert in the default truststore for mocking purposes and unit-testing (ApplicationTest.java).
+   oran/a1-policy-management/config/application.yaml
 
-The default keystore, truststore, and application.yaml files can be overridden by mounting new files using the "volumes" field of docker-compose or docker run command.
+There is also Policy Management Service's own cert in the default truststore for mocking purposes and unit-testing
+(ApplicationTest.java).
 
-Assuming that the keystore, truststore, and application.yaml files are located in the same directory as docker-compose, the volumes field should have these entries:
+The default keystore, truststore, and application.yaml files can be overridden by mounting new files using the "volumes"
+field of docker-compose or docker run command.
 
-`volumes:`
+Assuming that the keystore, truststore, and application.yaml files are located in the same directory as docker-compose,
+the volumes field should have these entries: ::
+
+   `volumes:`
       `- ./new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks:ro`
 
       `- ./new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks:ro`
@@ -77,13 +83,13 @@
 
 The target paths in the container should not be modified.
 
-Example docker run command for mounting new files (assuming they are located in the current directory):
+Example docker run command for mounting new files (assuming they are located in the current directory): ::
 
-`docker run -p 8081:8081 -p 8433:8433 --name=policy-agent-container --network=nonrtric-docker-net --volume "$PWD/new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks" --volume "$PWD/new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks" --volume "$PWD/new_application.yaml:/opt/app/policy-agent/config/application.yaml" o-ran-sc/nonrtric-policy-agent:2.1.0-SNAPSHOT`
+   docker run -p 8081:8081 -p 8433:8433 --name=policy-agent-container --network=nonrtric-docker-net --volume "$PWD/new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks" --volume "$PWD/new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks" --volume "$PWD/new_application.yaml:/opt/app/policy-agent/config/application.yaml" o-ran-sc/nonrtric-policy-agent:2.1.0-SNAPSHOT
 
-A1 Adapter
-++++++++++
+A1 Adapter (Internal)
++++++++++++++++++++++
 
-TBD
+The O-RAN A1 Adapter provides an internal REST CONF API for management of A1 policices, useful for test and verification.
 
-The A1 Adapter can be accessed over the REST API. See :ref:`offered_apis` for how to use the API.
+The A1 Adapter can be accessed over the REST CONF API. See :ref:`a1_adapter_api` for how to use the API.
diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst
index c3a7c95..08126c0 100644
--- a/docs/offeredapis/offeredapis.rst
+++ b/docs/offeredapis/offeredapis.rst
@@ -12,7 +12,7 @@
 Introduction
 ************
 
-The north bound ...
+The north bound REST API of the Policy Management Service provides convenient methods to handle policies.
 
 
 Global ORAN architecture
@@ -25,17 +25,11 @@
    :width: 500pt
 
 
-API Endpoint
-************
-
-TBD
-
-
 API Version
 ***********
 
 APIs are described with a  state version with "v" following the API Name,
-e.g.:  ``TBD``.
+e.g.:  ``v2/policy``.
 The schema associated with a REST API must have its version number aligned
 with that of the REST API.
 
@@ -77,6 +71,7 @@
    :widths: 10,5, 5
 
    "PMS API", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`"
+   "A1 ADAPTER API (Internal)", ":download:`link <./swagger/a1-adapter-api.json>`", ":download:`link <./swagger/a1-adapter-api.yaml>`"
 
 
 .. _pms_api:
@@ -85,3 +80,9 @@
 .......
 `PMS API <./pms-api.html>`_
 
+.. _a1_adapter_api:
+
+A1 ADAPTER API
+..............
+`A1 ADAPTER API (Internal) <./a1-adapter-api.html>`_
+
diff --git a/docs/offeredapis/swagger/a1-adapter-api.json b/docs/offeredapis/swagger/a1-adapter-api.json
new file mode 100644
index 0000000..1295127
--- /dev/null
+++ b/docs/offeredapis/swagger/a1-adapter-api.json
@@ -0,0 +1,378 @@
+{
+  "apiVersion": "1.0.0",
+  "swagger": "2.0",
+  "basePath": "/",
+    "info": {
+        "x-audience": "external-partner",
+        "contact": {
+            "name": "Ericsson Software Technology",
+            "email": "nonrtric@est.tech"
+        },
+        "description": "The O-RAN A1 Adapter provides an internal REST CONF API for management of A1 policices, useful for test and verification. <b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html should be used!",
+        "title": "A1 Adapter",
+        "version": "1.1.0"
+    },
+  "paths": {
+      "/restconf/operations/A1-ADAPTER-API:putA1Policy": {"post": {
+          "summary": "Create or update a policy",
+          "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html PUT /policy method should be used!",
+          "nickname": "putA1Policy",
+          "produces": "application/json",
+          "responses": {
+              "200": {
+                  "schema": {"$ref": "#/models/(putA1Policy)output"},
+                  "description": "Policy created/updated",
+                  "examples": {
+                      "application/json": {
+                          "A1-ADAPTER-API:body": {},
+                          "A1-ADAPTER-API:http-status": 200
+                      }
+                  }
+              }
+          },
+          "parameters": [
+            {
+                "schema": {"$ref": "#/models/(putA1Policy)input"},
+                "in": "body",
+                "name": null,
+                "description": null,
+                "required": false
+            }
+          ]
+        }
+    },
+      "/operations/A1-ADAPTER-API:getA1Policy": {"post": {
+          "summary": "Get policy configuration/s",
+          "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html GET /policy method should be used!",
+          "nickname": "getA1Policy",
+          "produces": "application/json",
+          "responses": {
+              "200": {
+                  "schema": {"$ref": "#/models/(getA1Policy)output"},
+                  "description": "Policy found",
+                  "examples": {
+                      "application/json": {
+                          "A1-ADAPTER-API:body": {
+                              "id": "Policy 1",
+                              "json": {
+                                "scope": {
+                                  "ueId": "UE1 ",
+                                  "cellId": "Cell 1"
+                                },
+                                "qosObjectives": {
+                                  "gfbr": 319.5,
+                                  "mfbr": 782.75,
+                                  "priorityLevel": 268.5,
+                                  "pdb": 44.0
+                                },
+                                "qoeObjectives": {
+                                  "qoeScore": 329.0,
+                                  "initialBuffering": 27.75,
+                                  "reBuffFreq": 539.0,
+                                  "stallRatio": 343.0
+                                },
+                                "resources": []
+                              },
+                              "ownerServiceName": "Service 1",
+                              "ric": "ric1",
+                              "type": "STD_PolicyModelUnconstrained_0.2.0",
+                              "lastModified": "Wed, 01 Apr 2020 07:45:45 GMT"
+                          },
+                          "A1-ADAPTER-API:http-status": 200
+                      }
+                  }
+              }
+          },
+          "parameters": [
+            {
+                "schema": {"$ref": "#/models/(getA1Policy)input"},
+                "in": "body",
+                "name": null,
+                "description": null,
+                "required": false
+            }
+          ]
+        }
+    },
+      "/restconf/operations/A1-ADAPTER-API:getA1PolicyStatus": {"post": {
+          "summary": "Get a policy status",
+          "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html GET /policy-status method should be used!",
+          "nickname": "getA1PolicyStatus",
+          "produces": "application/json",
+          "responses": {
+              "200": {
+                  "schema": {"$ref": "#/models/(getA1PolicyStatus)output"},
+                  "description": "Policy status",
+                  "examples": {
+                      "application/json": {
+                          "A1-ADAPTER-API:body": {
+                              "enforceStatus": "UNDEFINED"
+                          },
+                          "A1-ADAPTER-API:http-status": 200
+                      }
+                  }
+              }
+          },
+          "parameters": [
+            {
+                "schema": {"$ref": "#/models/(getA1PolicyStatus)input"},
+                "in": "body",
+                "name": null,
+                "description": null,
+                "required": false
+            }
+          ]
+        }
+    },
+      "/restconf/operations/A1-ADAPTER-API:getA1PolicyType": {"post": {
+          "summary": "Get a policy type schema definition",
+          "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html GET /policy-types method should be used!",
+          "nickname": "getA1PolicyType",
+          "produces": "application/json",
+          "responses": {
+              "200": {
+                  "schema": {"$ref": "#/models/(getA1PolicyType)output"},
+                  "description": "Policy schema",
+                  "examples": {
+                      "application/json": {
+                          "A1-ADAPTER-API: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
+                                }
+                              }
+                          },
+                          "A1-ADAPTER-API:http-status": 200
+                      }
+                  }
+              }
+          },
+          "parameters": [
+            {
+                "schema": {"$ref": "#/models/(getA1PolicyType)input"},
+                "in": "body",
+                "name": null,
+                "description": null,
+                "required": false
+            }
+          ]
+        }
+    },
+      "/restconf/operations/A1-ADAPTER-API:deleteA1Policy": {"post": {
+          "summary": "Delete a policy",
+          "description": "<b>Note!</b> For production, the https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html DELETE /policy method should be used!",
+          "nickname": "deleteA1Policy",
+          "produces": "application/json",
+          "responses": {
+              "200": {
+                  "schema": {"$ref": "#/models/(deleteA1Policy)output"},
+                  "description": "Policy deleted",
+                  "examples": {
+                      "application/json": {
+                          "A1-ADAPTER-API:body": {},
+                          "A1-ADAPTER-API:http-status": 200
+                      }
+                  }
+              }
+          },
+          "parameters": [
+            {
+                "schema": {"$ref": "#/models/(deleteA1Policy)input"},
+                "in": "body",
+                "name": null,
+                "description": null,
+                "required": false
+            }
+          ]
+        }
+    }
+  },
+  "models": {
+    "(putA1Policy)input": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:near-rt-ric-url": {
+          "required": false,
+          "type": "Some near-rt-ric-url",
+          "example": "http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000"
+        },
+        "A1-ADAPTER-API:body": {
+          "required": false,
+          "type": "Some body",
+          "example": {
+              "blocking_rate":20,
+              "enforce":true,
+              "trigger_threshold":10,
+              "window_length":10
+          }
+        }
+      },
+      "id": "(putA1Policy)input"
+    },
+    "(putA1Policy)output": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:body": {
+          "required": false,
+          "type": "Some body"
+        },
+        "A1-ADAPTER-API:http-status": {
+          "required": false,
+          "type": "-2147483648"
+        }
+      },
+      "id": "(putA1Policy)output"
+    },
+    "(getA1Policy)input": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:near-rt-ric-url": {
+          "required": false,
+          "type": "Some near-rt-ric-url",
+          "example": "http://localhost:8081/policy?id=Policy 1"
+        }
+      },
+      "id": "(getA1Policy)input"
+    },
+    "(getA1Policy)output": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:body": {
+          "required": false,
+          "type": "object"        },
+        "A1-ADAPTER-API:http-status": {
+          "required": false,
+          "type": "-2147483648"
+        }
+      },
+      "id": "(getA1Policy)output"
+    },
+    "(getA1PolicyStatus)input": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:near-rt-ric-url": {
+          "required": false,
+          "type": "Some near-rt-ric-url",
+          "example": "http://ricsim_g2_1:8085/A1-P/v1/policies/5000/status"
+        }
+      },
+      "id": "(getA1PolicyStatus)input"
+    },
+    "(getA1PolicyStatus)output": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:body": {
+          "required": false,
+          "type": "Some body"
+        },
+        "A1-ADAPTER-API:http-status": {
+          "required": false,
+          "type": "-2147483648"
+        }
+      },
+      "id": "(getA1PolicyStatus)output"
+    },
+    "(getA1PolicyType)input": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:near-rt-ric-url": {
+          "required": false,
+          "type": "Some near-rt-ric-url",
+          "example": "http://nearRtRic-sim1:8085/a1-p/policytypes/11"
+        }
+      },
+      "id": "(getA1PolicyType)input"
+    },
+    "(getA1PolicyType)output": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:body": {
+          "required": false,
+          "type": "Some body"
+        },
+        "A1-ADAPTER-API:http-status": {
+          "required": false,
+          "type": "-2147483648"
+        }
+      },
+      "id": "(getA1PolicyType)output"
+    },
+    "(deleteA1Policy)input": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:near-rt-ric-url": {
+          "required": false,
+          "type": "Some near-rt-ric-url",
+          "example": "http://localhost:8282/restconf/operations/A1-ADAPTER-API:deleteA1Policy"
+        }
+      },
+      "id": "(deleteA1Policy)input"
+    },
+    "(deleteA1Policy)output": {
+      "$schema": "http://json-schema.org/draft-04/schema",
+      "type": "object",
+      "properties": {
+        "A1-ADAPTER-API:body": {
+          "required": false,
+          "type": "Some body"
+        },
+        "A1-ADAPTER-API:http-status": {
+          "required": false,
+          "type": "-2147483648"
+        }
+      },
+      "id": "(deleteA1Policy)output"
+    }
+  }
+}
\ No newline at end of file
diff --git a/docs/offeredapis/swagger/a1-adapter-api.yaml b/docs/offeredapis/swagger/a1-adapter-api.yaml
new file mode 100644
index 0000000..1db8415
--- /dev/null
+++ b/docs/offeredapis/swagger/a1-adapter-api.yaml
@@ -0,0 +1,306 @@
+apiVersion: 1.0.0
+swagger: '2.0'
+basePath: /
+info:
+  x-audience: external-partner
+  contact:
+    name: Ericsson Software Technology
+    email: nonrtric@est.tech
+  description: >-
+    The O-RAN A1 Adapter provides an internal REST API for management of A1
+    policices, useful for test and verification. <b>Note!</b> For production,
+    the
+    https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html
+    should be used!
+  title: A1 Adapter
+  version: 1.1.0
+paths:
+  '/restconf/operations/A1-ADAPTER-API:putA1Policy':
+    post:
+      summary: Create or update a policy
+      description: >-
+        <b>Note!</b> For production, the
+        https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html
+        PUT /policy method should be used!
+      nickname: putA1Policy
+      produces: application/json
+      responses:
+        '200':
+          schema:
+            $ref: '#/models/(putA1Policy)output'
+          description: Policy created/updated
+          examples:
+            application/json:
+              'A1-ADAPTER-API:body': {}
+              'A1-ADAPTER-API:http-status': 200
+      parameters:
+        - schema:
+            $ref: '#/models/(putA1Policy)input'
+          in: body
+          name: null
+          description: null
+          required: false
+  '/operations/A1-ADAPTER-API:getA1Policy':
+    post:
+      summary: Get policy configuration/s
+      description: >-
+        <b>Note!</b> For production, the
+        https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html
+        GET /policy method should be used!
+      nickname: getA1Policy
+      produces: application/json
+      responses:
+        '200':
+          schema:
+            $ref: '#/models/(getA1Policy)output'
+          description: Policy found
+          examples:
+            application/json:
+              'A1-ADAPTER-API:body':
+                id: Policy 1
+                json:
+                  scope:
+                    ueId: 'UE1 '
+                    cellId: Cell 1
+                  qosObjectives:
+                    gfbr: 319.5
+                    mfbr: 782.75
+                    priorityLevel: 268.5
+                    pdb: 44
+                  qoeObjectives:
+                    qoeScore: 329
+                    initialBuffering: 27.75
+                    reBuffFreq: 539
+                    stallRatio: 343
+                  resources: []
+                ownerServiceName: Service 1
+                ric: ric1
+                type: STD_PolicyModelUnconstrained_0.2.0
+                lastModified: 'Wed, 01 Apr 2020 07:45:45 GMT'
+              'A1-ADAPTER-API:http-status': 200
+      parameters:
+        - schema:
+            $ref: '#/models/(getA1Policy)input'
+          in: body
+          name: null
+          description: null
+          required: false
+  '/restconf/operations/A1-ADAPTER-API:getA1PolicyStatus':
+    post:
+      summary: Get a policy status
+      description: >-
+        <b>Note!</b> For production, the
+        https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html
+        GET /policy-status method should be used!
+      nickname: getA1PolicyStatus
+      produces: application/json
+      responses:
+        '200':
+          schema:
+            $ref: '#/models/(getA1PolicyStatus)output'
+          description: Policy status
+          examples:
+            application/json:
+              'A1-ADAPTER-API:body':
+                enforceStatus: UNDEFINED
+              'A1-ADAPTER-API:http-status': 200
+      parameters:
+        - schema:
+            $ref: '#/models/(getA1PolicyStatus)input'
+          in: body
+          name: null
+          description: null
+          required: false
+  '/restconf/operations/A1-ADAPTER-API:getA1PolicyType':
+    post:
+      summary: Get a policy type schema definition
+      description: >-
+        <b>Note!</b> For production, the
+        https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html
+        GET /policy-types method should be used!
+      nickname: getA1PolicyType
+      produces: application/json
+      responses:
+        '200':
+          schema:
+            $ref: '#/models/(getA1PolicyType)output'
+          description: Policy schema
+          examples:
+            application/json:
+              'A1-ADAPTER-API: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
+              'A1-ADAPTER-API:http-status': 200
+      parameters:
+        - schema:
+            $ref: '#/models/(getA1PolicyType)input'
+          in: body
+          name: null
+          description: null
+          required: false
+  '/restconf/operations/A1-ADAPTER-API:deleteA1Policy':
+    post:
+      summary: Delete a policy
+      description: >-
+        <b>Note!</b> For production, the
+        https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/offeredapis/pms-api.html
+        DELETE /policy method should be used!
+      nickname: deleteA1Policy
+      produces: application/json
+      responses:
+        '200':
+          schema:
+            $ref: '#/models/(deleteA1Policy)output'
+          description: Policy deleted
+          examples:
+            application/json:
+              'A1-ADAPTER-API:body': {}
+              'A1-ADAPTER-API:http-status': 200
+      parameters:
+        - schema:
+            $ref: '#/models/(deleteA1Policy)input'
+          in: body
+          name: null
+          description: null
+          required: false
+models:
+  (putA1Policy)input:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:near-rt-ric-url':
+        required: false
+        type: Some near-rt-ric-url
+        example: 'http://nearRtRic-sim1:8085/a1-p/policytypes/11/policies/5000'
+      'A1-ADAPTER-API:body':
+        required: false
+        type: Some body
+        example:
+          blocking_rate: 20
+          enforce: true
+          trigger_threshold: 10
+          window_length: 10
+    id: (putA1Policy)input
+  (putA1Policy)output:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:body':
+        required: false
+        type: Some body
+      'A1-ADAPTER-API:http-status':
+        required: false
+        type: '-2147483648'
+    id: (putA1Policy)output
+  (getA1Policy)input:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:near-rt-ric-url':
+        required: false
+        type: Some near-rt-ric-url
+        example: 'http://localhost:8081/policy?id=Policy 1'
+    id: (getA1Policy)input
+  (getA1Policy)output:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:body':
+        required: false
+        type: object
+      'A1-ADAPTER-API:http-status':
+        required: false
+        type: '-2147483648'
+    id: (getA1Policy)output
+  (getA1PolicyStatus)input:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:near-rt-ric-url':
+        required: false
+        type: Some near-rt-ric-url
+        example: 'http://ricsim_g2_1:8085/A1-P/v1/policies/5000/status'
+    id: (getA1PolicyStatus)input
+  (getA1PolicyStatus)output:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:body':
+        required: false
+        type: Some body
+      'A1-ADAPTER-API:http-status':
+        required: false
+        type: '-2147483648'
+    id: (getA1PolicyStatus)output
+  (getA1PolicyType)input:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:near-rt-ric-url':
+        required: false
+        type: Some near-rt-ric-url
+        example: 'http://nearRtRic-sim1:8085/a1-p/policytypes/11'
+    id: (getA1PolicyType)input
+  (getA1PolicyType)output:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:body':
+        required: false
+        type: Some body
+      'A1-ADAPTER-API:http-status':
+        required: false
+        type: '-2147483648'
+    id: (getA1PolicyType)output
+  (deleteA1Policy)input:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:near-rt-ric-url':
+        required: false
+        type: Some near-rt-ric-url
+        example: >-
+          http://localhost:8282/restconf/operations/A1-ADAPTER-API:deleteA1Policy
+    id: (deleteA1Policy)input
+  (deleteA1Policy)output:
+    $schema: 'http://json-schema.org/draft-04/schema'
+    type: object
+    properties:
+      'A1-ADAPTER-API:body':
+        required: false
+        type: Some body
+      'A1-ADAPTER-API:http-status':
+        required: false
+        type: '-2147483648'
+    id: (deleteA1Policy)output