+The simulator supports multiple A1 interface versions (version of the open API yaml file\):
+| Yaml file version | Version id|
+| --------------------- | ------------------- |
+| OSC 2.1.0, | OSC\_2.1.0 |
+| A1 Standard 1.1.3, | STD\_1.1.3 |
+| 1.1.x-alpha.2 , | 1.1.x-alpha.2 |
+
+All versions are supported by the same container, see section 'Configuring the simulator' below for details about how to the start the simulator with the intended version id.
+
+The overall folder structure is \(relative to the location of this README file\):
+| Dir | Description |
+| ---------------- | ----------- |
+|. |Dockerfile and README |
+|api |The open api yaml for each supported version |
+|src |Python source code for each supported version |
+|test |Basic test |
+|certificate |A self-signed certificate and a key
+
+The simulator handles the requests that are defined in the A1 open API yaml file. All these requests are implemented in the a1.py file in the source folder. In addition, a number of administrative functions are also supported and implemented by the main.py in the source folder.
+
+The section below outlines the supported open api REST operations as well as the adminstrative REST operations. For the
+documentation of the common parts in the admin API, see [Common Functions](https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface/en/latest/simulator-api.html#common-functions).
+
+# Ports and certificates
+
+The simulator normally opens the port 8085 for http. If a certificate and a key are provided the simulator will open port 8185 for https instead. The port 8185 is only opened if a valid certificate and key is found.
+The certificate and key shall be placed in the same dir and the dir shall be mounted to /usr/src/app/cert in the container.
+
+| Port | Protocol |
+| -------- | ----- |
+| 8085 | http |
+| 8185 | https |
+
+The dir certificate contains a self-signed cert. Use the script generate_cert_and_key.sh to generate a new certificate and key. The password of the certificate must be set 'test'.
+The same urls are availables on both the http port 8085 and the https port 8185. If using curl and https, the flag -k shall be given to make curl ignore checking the certificate.
+
+# Supported operations in simulator OSC 2.1.0
+
+For the complete yaml specification, see [openapi.yaml](../near-rt-ric-simulator/api/OSC_2.1.0/openapi.yaml).
+
+URIs for A1:
+| Function | Path and parameters |
+| --------------------- | ------------------- |
+| GET, do a healthcheck | http://localhost:8085/a1-p/healthcheck |
+| GET, get all policy type ids | http://localhost:8085/a1-p/policytypes |
+| DELETE, delete a policy type | http://localhost:8085/a1-p/policytypes/{policy\_type\_id} |
+| GET, get a policy type | http://localhost:8085/a1-p/policytypes/{policy\_type\_id} |
+| PUT, create/update a policy type | http://localhost:8085/a1-p/policytypes/{policy\_type\_id} |
+| GET, get all policy ids for a type | http://localhost:8085/a1-p/policytypes/{policy\_type\_id}/policies |
+| DELETE, delete a policy | http://localhost:8085/a1-p/policytypes/{policy\_type\_id}/policies/{policy\_instance\_id} |
+| GET, get a policy | http://localhost:8085/a1-p/policytypes/{policy\_type\_id}/policies/{policy\_instance\_id} |
+| PUT, create/update a policy | http://localhost:8085/a1-p/policytypes/{policy\_type\_id}/policies/{policy\_instance\_id} |
+| GET, get policy status | http://localhost:8085/a1-p/policytypes/{policy\_type\_id}/policies/{policy\_instance\_id}/status |
+
+Swagger UI at: http://localhost:8085/ui/
+
+For the documentation of the admin API, see [OSC_2.1.0](https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface/en/latest/simulator-api.html#osc-2-1-0).
+
+URIs for admin operations:
+| Function | Path and parameters |
+| --------------------- | ------------------- |
+| GET, a basic healthcheck | http://localhost:8085/ |
+| GET, a list of all supported interfaces | http://localhost:8085/container\_interfaces |
+| POST, delete all policy instances | http://localhost:8085/deleteinstances |
+| POST, full reset | http://localhost:8085/deleteall |
+| PUT, create/update a policy type | http://localhost:8085/policytype?id=<policytypeid> |
+| DELETE, delete a policy type | http://localhost:8085/policytype?id=<policytypeid> |
+| GET, list of policy type id | http://localhost:8085/policytypes |
+| POST, force a specific response code for an A1 operation | http://localhost:8085/forceresponse?code=<http-code> |
+| POST, force delayed response of all A1 operations | http://localhost:8085/forcedelay?delay=<seconds> |
+| PUT, set status and optional reason, delete and timestamp | http://localhost:8085/status?status=<status>&reason=<reason>[&deleted=<boolean>][&created\_at=<timestamp>] |
+| GET a counter <br> (counter-name: 'num\_instances', 'num\_types', 'interface' or 'remote\_hosts') | http://localhost:8085/counter/<counter-name> |
+
+
+# Supported operations in simulator A1 Standard 1.1.3
+
+For the complete yaml specification, see [STD_A1.yaml](../near-rt-ric-simulator/api/STD_1.1.3/STD_A1.yaml).
+
+URIs for A1:
+| Function | Path and parameters |
+| --------------------- | ------------------- |
+| GET all policy identities | http://localhost:8085/A1-P/v1/policies |
+| PUT a policy instance(create or update it) | http://localhost:8085/A1-P/v1/policies/{policyId} |
+| GET a policy | http://localhost:8085/A1-P/v1/policies/{policyId} |
+| DELETE a policy instance | http://localhost:8085/A1-P/v1/policies/{policyId} |
+| GET a policy status | http://localhost:8085/A1-P/v1/policies/{policyid} |
+Swagger UI at: http://localhost:8085/A1-P/v1/ui/
+
+For the documentation of the admin API, see [A1 Standard 1.1.3](https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface/en/latest/simulator-api.html#a1-standard-1-1-3).
+
+URIs for admin operations:
+| Function | Path and parameters |
+| --------------------- | ------------------- |
+| GET, a basic healthcheck | http://localhost:8085/ |
+| GET, a list of all supported interfaces | http://localhost:8085/container\_interfaces |
+| POST, delete all policy instances | http://localhost:8085/deleteinstances |
+| POST, full reset | http://localhost:8085/deleteall |
+| POST, force a specific response code for an A1 operation | http://localhost:8085/forceresponse?code=<http-code> |
+| POST, force delayed response of all A1 operations | http://localhost:8085/forcedelay?delay=<seconds> |
+| PUT, set status and optional reason | http://localhost:8085/status?status=<status>[&reason=<reason>] |
+| POST, send status for policy | http://localhost:8085/sendstatus?policyid=<policyid> |
+| GET a counter <br> (counter-name: 'num\_instances', 'num\_types'(always 0), 'interface' or 'remote\_hosts') | http://localhost:8085/counter/<counter-name> |
+
+
+
+# Supported operations in simulator 1.1.x-alpha.2
+
+For the complete yaml specification, see [a1-openapi.yaml](../near-rt-ric-simulator/api/1.1.x-alpha.2/a1-openapi.yaml).
+
+The available requests and the addresses are currently:
+| Function | Path and parameters |
+| --------------------- | ------------------- |
+| GET all policy identities (respectively for a policy type if query parameter used) | http://localhost:8085/A1-P/v1/policies?policyTypeId={policyTypeId} |
+| PUT a policy instance(create or update it) | http://localhost:8085/A1-P/v1/policies/{policyId}?policyTypeId={policyTypeId} |
+| GET a policy | http://localhost:8085/A1-P/v1/policies/{policyId} |
+| DELETE a policy instance | http://localhost:8085/A1-P/v1/policies/{policyId} |
+| GET a policy status | http://localhost:8085/A1-P/v1/policystatus |
+| GET all policy types | http://localhost:8085/A1-P/v1/policytypes |
+| GET the schemas for a policy type | http://localhost:8085/A1-P/v1/policytypes/{policyTypeId} |