# OSC - A1 Policy Management API

## API and SDK Documentation

Version: 1.0.0

## General

The ORAN SC A1 Policy Management Service provides a REST API for managing A1 policies.
This document describes the latest API set to perform tasks for:

- A1 Policy creation, modification and deletion.
- Monitoring and maintaining consistency of the SMO view of A1 Policies and the Near-RT RICs
- Maintaining a view of each Near-RT RIC's supported A1 Policy Types
- Supervision of registered services (rApps). When a registered service is unavailable, its policies are removed.

## APIs provided or defined by the service

Note: parts of this API are strongly based on extracts of the O-RAN Alliance R1 Interface specification for A1 Policy Management, and those parts should be considered 'Copyright (C) O-RAN ALLIANCE - All rights reserved.'

### A1 Policy Management

This is the latest API for managing A1 Policies. This API is partially compliant with O-RAN Alliance R1 Interface specifications for A1 Policy Management:

- A1 Policy retrieval, creation, modification and deletion.
- Retrieval of supported A1 Policy Types for a Near-RT RIC
- Retrieval of status for existing A1 policies

### Management of configuration

API for updating and retrieval of the component configuration. Note that there other ways to maintain the configuration.

### Service Callbacks

These are endpoints that are invoked by this service. The callbacks are registered in this service at service registration.

### NearRT-RIC Repository (Older version)

This is an API that provides support for looking up a NearRT-RIC. Each A1 policy is targeted towards one Near-RT RIC.

### Health Check

API used for supervision of the A1 Policy Management Service.

### Service Registry and Supervision

API used for registering services/clients/rApps. Each A1 Policy can be tagged with an owner. If the owner service is registered, then the service can be optionally monitored by a heart-beat supervision mechanism, and if the registered service becomes unavailable, then it is removed and all its A1 Policies are deleted. Note that services do not need to be registered to create A1 Policies, but unregistered services are not supervised. This is a feature that is optional to use.

# A1PolicyManagement

# deletePolicy

Delete an A1 Policy instance (deletePolicy)

Delete an A1 Policy instance using its policy ID.

    /a1-policy/v2/policies/{policy_id}

### Usage and SDK Samples

    curl -X DELETE \
     -H "Accept: */*,application/problem+json" \
     "http://localhost/a1-policy/v2/policies/{policy_id}"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policyId = policyId_example; // String |

            try {
                Object result = apiInstance.deletePolicy(policyId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#deletePolicy");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String policyId = new String(); // String |

    try {
        final result = await api_instance.deletePolicy(policyId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->deletePolicy: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policyId = policyId_example; // String |

            try {
                Object result = apiInstance.deletePolicy(policyId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#deletePolicy");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    String *policyId = policyId_example; //  (default to null)

    // Delete an A1 Policy instance (deletePolicy)
    [apiInstance deletePolicyWith:policyId
                  completionHandler: ^(Object output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var policyId = policyId_example; // {String}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.deletePolicy(policyId, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class deletePolicyExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var policyId = policyId_example;  // String |  (default to null)

                try {
                    // Delete an A1 Policy instance (deletePolicy)
                    Object result = apiInstance.deletePolicy(policyId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.deletePolicy: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $policyId = policyId_example; // String |

    try {
        $result = $api_instance->deletePolicy($policyId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->deletePolicy: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $policyId = policyId_example; # String |

    eval {
        my $result = $api_instance->deletePolicy(policyId => $policyId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->deletePolicy: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    policyId = policyId_example # String |  (default to null)

    try:
        # Delete an A1 Policy instance (deletePolicy)
        api_response = api_instance.delete_policy(policyId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->deletePolicy: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let policyId = policyId_example; // String

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.deletePolicy(policyId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Path parameters

Name | Description
--- | ---
policy_id* | String Required

## Responses

###

###

# getPolicy

Get an A1 Policy instance (getPolicy)

Get an A1 Policy instance using its policy ID

    /a1-policy/v2/policies/{policy_id}

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/policies/{policy_id}"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policyId = policyId_example; // String |

            try {
                policy_info result = apiInstance.getPolicy(policyId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicy");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String policyId = new String(); // String |

    try {
        final result = await api_instance.getPolicy(policyId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getPolicy: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policyId = policyId_example; // String |

            try {
                policy_info result = apiInstance.getPolicy(policyId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicy");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    String *policyId = policyId_example; //  (default to null)

    // Get an A1 Policy instance (getPolicy)
    [apiInstance getPolicyWith:policyId
                  completionHandler: ^(policy_info output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var policyId = policyId_example; // {String}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getPolicy(policyId, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getPolicyExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var policyId = policyId_example;  // String |  (default to null)

                try {
                    // Get an A1 Policy instance (getPolicy)
                    policy_info result = apiInstance.getPolicy(policyId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.getPolicy: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $policyId = policyId_example; // String |

    try {
        $result = $api_instance->getPolicy($policyId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->getPolicy: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $policyId = policyId_example; # String |

    eval {
        my $result = $api_instance->getPolicy(policyId => $policyId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->getPolicy: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    policyId = policyId_example # String |  (default to null)

    try:
        # Get an A1 Policy instance (getPolicy)
        api_response = api_instance.get_policy(policyId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->getPolicy: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let policyId = policyId_example; // String

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.getPolicy(policyId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Path parameters

Name | Description
--- | ---
policy_id* | String Required

## Responses

###

###

# getPolicyIds

Query A1 Policy Instances (getPolicyIds)

Retrieve a list of A1 Policy Instance IDs for policies that match given search criteria. If multiple query parameters are given, the policies matching all conditions are returned.

    /a1-policy/v2/policies

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/policies?policytype_id=policytypeId_example&ric_id=ricId_example&service_id=serviceId_example&type_name=typeName_example"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policytypeId = policytypeId_example; // String | Select policies of a given A1 Policy Type ID.
            String ricId = ricId_example; // String | Select policies of a given Near-RT RIC identity.
            String serviceId = serviceId_example; // String | Select policies owned by a given service. (Both registered and unregistered services)
            String typeName = typeName_example; // String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')

            try {
                policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String policytypeId = new String(); // String | Select policies of a given A1 Policy Type ID.
    final String ricId = new String(); // String | Select policies of a given Near-RT RIC identity.
    final String serviceId = new String(); // String | Select policies owned by a given service. (Both registered and unregistered services)
    final String typeName = new String(); // String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')

    try {
        final result = await api_instance.getPolicyIds(policytypeId, ricId, serviceId, typeName);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getPolicyIds: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policytypeId = policytypeId_example; // String | Select policies of a given A1 Policy Type ID.
            String ricId = ricId_example; // String | Select policies of a given Near-RT RIC identity.
            String serviceId = serviceId_example; // String | Select policies owned by a given service. (Both registered and unregistered services)
            String typeName = typeName_example; // String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')

            try {
                policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyIds");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    String *policytypeId = policytypeId_example; // Select policies of a given A1 Policy Type ID. (optional) (default to null)
    String *ricId = ricId_example; // Select policies of a given Near-RT RIC identity. (optional) (default to null)
    String *serviceId = serviceId_example; // Select policies owned by a given service. (Both registered and unregistered services) (optional) (default to null)
    String *typeName = typeName_example; // Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
     (optional) (default to null)

    // Query A1 Policy Instances (getPolicyIds)
    [apiInstance getPolicyIdsWith:policytypeId
        ricId:ricId
        serviceId:serviceId
        typeName:typeName
                  completionHandler: ^(policy_id_list output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var opts = {
      'policytypeId': policytypeId_example, // {String} Select policies of a given A1 Policy Type ID.
      'ricId': ricId_example, // {String} Select policies of a given Near-RT RIC identity.
      'serviceId': serviceId_example, // {String} Select policies owned by a given service. (Both registered and unregistered services)
      'typeName': typeName_example // {String} Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')

    };

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getPolicyIds(opts, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getPolicyIdsExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var policytypeId = policytypeId_example;  // String | Select policies of a given A1 Policy Type ID. (optional)  (default to null)
                var ricId = ricId_example;  // String | Select policies of a given Near-RT RIC identity. (optional)  (default to null)
                var serviceId = serviceId_example;  // String | Select policies owned by a given service. (Both registered and unregistered services) (optional)  (default to null)
                var typeName = typeName_example;  // String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
     (optional)  (default to null)

                try {
                    // Query A1 Policy Instances (getPolicyIds)
                    policy_id_list result = apiInstance.getPolicyIds(policytypeId, ricId, serviceId, typeName);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyIds: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $policytypeId = policytypeId_example; // String | Select policies of a given A1 Policy Type ID.
    $ricId = ricId_example; // String | Select policies of a given Near-RT RIC identity.
    $serviceId = serviceId_example; // String | Select policies owned by a given service. (Both registered and unregistered services)
    $typeName = typeName_example; // String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')

    try {
        $result = $api_instance->getPolicyIds($policytypeId, $ricId, $serviceId, $typeName);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->getPolicyIds: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $policytypeId = policytypeId_example; # String | Select policies of a given A1 Policy Type ID.
    my $ricId = ricId_example; # String | Select policies of a given Near-RT RIC identity.
    my $serviceId = serviceId_example; # String | Select policies owned by a given service. (Both registered and unregistered services)
    my $typeName = typeName_example; # String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')

    eval {
        my $result = $api_instance->getPolicyIds(policytypeId => $policytypeId, ricId => $ricId, serviceId => $serviceId, typeName => $typeName);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->getPolicyIds: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    policytypeId = policytypeId_example # String | Select policies of a given A1 Policy Type ID. (optional) (default to null)
    ricId = ricId_example # String | Select policies of a given Near-RT RIC identity. (optional) (default to null)
    serviceId = serviceId_example # String | Select policies owned by a given service. (Both registered and unregistered services) (optional) (default to null)
    typeName = typeName_example # String | Select policies of types with the given A1 Policy Type name  (type names have the format 'typename_version')
     (optional) (default to null)

    try:
        # Query A1 Policy Instances (getPolicyIds)
        api_response = api_instance.get_policy_ids(policytypeId=policytypeId, ricId=ricId, serviceId=serviceId, typeName=typeName)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->getPolicyIds: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let policytypeId = policytypeId_example; // String
        let ricId = ricId_example; // String
        let serviceId = serviceId_example; // String
        let typeName = typeName_example; // String

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.getPolicyIds(policytypeId, ricId, serviceId, typeName, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Query parameters

Name | Description
--- | ---
policytype_id | String Select policies of a given A1 Policy Type ID.
ric_id | String Select policies of a given Near-RT RIC identity.
service_id | String Select policies owned by a given service. (Both registered and unregistered services)
type_name | String Select policies of types with the given A1 Policy Type name (type names have the format 'typename_version')

## Responses

###

###

# getPolicyInstances

Query for A1 Policy instances (getPolicyInstances)

Returns a collection of A1 Policy Instance information for policies that match given search criteria. If several query parameters are defined, the policies matching all conditions are returned.

    /a1-policy/v2/policy-instances

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json" \
     "http://localhost/a1-policy/v2/policy-instances?policytype_id=policytypeId_example&ric_id=ricId_example&service_id=serviceId_example&type_name=typeName_example"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policytypeId = policytypeId_example; // String | Select policies with a given A1 Policy Type ID.
            String ricId = ricId_example; // String | Select policies for a given Near-RT RIC identity.
            String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
            String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').

            try {
                policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyInstances");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String policytypeId = new String(); // String | Select policies with a given A1 Policy Type ID.
    final String ricId = new String(); // String | Select policies for a given Near-RT RIC identity.
    final String serviceId = new String(); // String | Select policies owned by a given service (registered or unregistered).
    final String typeName = new String(); // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').

    try {
        final result = await api_instance.getPolicyInstances(policytypeId, ricId, serviceId, typeName);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getPolicyInstances: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policytypeId = policytypeId_example; // String | Select policies with a given A1 Policy Type ID.
            String ricId = ricId_example; // String | Select policies for a given Near-RT RIC identity.
            String serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
            String typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').

            try {
                policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyInstances");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    String *policytypeId = policytypeId_example; // Select policies with a given A1 Policy Type ID. (optional) (default to null)
    String *ricId = ricId_example; // Select policies for a given Near-RT RIC identity. (optional) (default to null)
    String *serviceId = serviceId_example; // Select policies owned by a given service (registered or unregistered). (optional) (default to null)
    String *typeName = typeName_example; // Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null)

    // Query for A1 Policy instances (getPolicyInstances)
    [apiInstance getPolicyInstancesWith:policytypeId
        ricId:ricId
        serviceId:serviceId
        typeName:typeName
                  completionHandler: ^(policy_info_list output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var opts = {
      'policytypeId': policytypeId_example, // {String} Select policies with a given A1 Policy Type ID.
      'ricId': ricId_example, // {String} Select policies for a given Near-RT RIC identity.
      'serviceId': serviceId_example, // {String} Select policies owned by a given service (registered or unregistered).
      'typeName': typeName_example // {String} Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').
    };

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getPolicyInstances(opts, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getPolicyInstancesExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var policytypeId = policytypeId_example;  // String | Select policies with a given A1 Policy Type ID. (optional)  (default to null)
                var ricId = ricId_example;  // String | Select policies for a given Near-RT RIC identity. (optional)  (default to null)
                var serviceId = serviceId_example;  // String | Select policies owned by a given service (registered or unregistered). (optional)  (default to null)
                var typeName = typeName_example;  // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional)  (default to null)

                try {
                    // Query for A1 Policy instances (getPolicyInstances)
                    policy_info_list result = apiInstance.getPolicyInstances(policytypeId, ricId, serviceId, typeName);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyInstances: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $policytypeId = policytypeId_example; // String | Select policies with a given A1 Policy Type ID.
    $ricId = ricId_example; // String | Select policies for a given Near-RT RIC identity.
    $serviceId = serviceId_example; // String | Select policies owned by a given service (registered or unregistered).
    $typeName = typeName_example; // String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').

    try {
        $result = $api_instance->getPolicyInstances($policytypeId, $ricId, $serviceId, $typeName);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->getPolicyInstances: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $policytypeId = policytypeId_example; # String | Select policies with a given A1 Policy Type ID.
    my $ricId = ricId_example; # String | Select policies for a given Near-RT RIC identity.
    my $serviceId = serviceId_example; # String | Select policies owned by a given service (registered or unregistered).
    my $typeName = typeName_example; # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').

    eval {
        my $result = $api_instance->getPolicyInstances(policytypeId => $policytypeId, ricId => $ricId, serviceId => $serviceId, typeName => $typeName);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->getPolicyInstances: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    policytypeId = policytypeId_example # String | Select policies with a given A1 Policy Type ID. (optional) (default to null)
    ricId = ricId_example # String | Select policies for a given Near-RT RIC identity. (optional) (default to null)
    serviceId = serviceId_example # String | Select policies owned by a given service (registered or unregistered). (optional) (default to null)
    typeName = typeName_example # String | Select policies of a given A1 Policy Type name (type identity has the format 'typename_version'). (optional) (default to null)

    try:
        # Query for A1 Policy instances (getPolicyInstances)
        api_response = api_instance.get_policy_instances(policytypeId=policytypeId, ricId=ricId, serviceId=serviceId, typeName=typeName)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->getPolicyInstances: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let policytypeId = policytypeId_example; // String
        let ricId = ricId_example; // String
        let serviceId = serviceId_example; // String
        let typeName = typeName_example; // String

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.getPolicyInstances(policytypeId, ricId, serviceId, typeName, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Query parameters

Name | Description
--- | ---
policytype_id | String Select policies with a given A1 Policy Type ID.
ric_id | String Select policies for a given Near-RT RIC identity.
service_id | String Select policies owned by a given service (registered or unregistered).
type_name | String Select policies of a given A1 Policy Type name (type identity has the format 'typename_version').

## Responses

###

###

# getPolicyStatus

Get an A1 Policy Instance's status (getPolicyStatus)

Retrieve the status information for an A1 Policy Instance.

    /a1-policy/v2/policies/{policy_id}/status

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/policies/{policy_id}/status"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policyId = policyId_example; // String |

            try {
                policy_status_info result = apiInstance.getPolicyStatus(policyId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyStatus");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String policyId = new String(); // String |

    try {
        final result = await api_instance.getPolicyStatus(policyId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getPolicyStatus: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policyId = policyId_example; // String |

            try {
                policy_status_info result = apiInstance.getPolicyStatus(policyId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyStatus");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    String *policyId = policyId_example; //  (default to null)

    // Get an A1 Policy Instance's status (getPolicyStatus)
    [apiInstance getPolicyStatusWith:policyId
                  completionHandler: ^(policy_status_info output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var policyId = policyId_example; // {String}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getPolicyStatus(policyId, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getPolicyStatusExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var policyId = policyId_example;  // String |  (default to null)

                try {
                    // Get an A1 Policy Instance's status (getPolicyStatus)
                    policy_status_info result = apiInstance.getPolicyStatus(policyId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyStatus: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $policyId = policyId_example; // String |

    try {
        $result = $api_instance->getPolicyStatus($policyId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->getPolicyStatus: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $policyId = policyId_example; # String |

    eval {
        my $result = $api_instance->getPolicyStatus(policyId => $policyId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->getPolicyStatus: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    policyId = policyId_example # String |  (default to null)

    try:
        # Get an A1 Policy Instance's status (getPolicyStatus)
        api_response = api_instance.get_policy_status(policyId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->getPolicyStatus: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let policyId = policyId_example; // String

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.getPolicyStatus(policyId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Path parameters

Name | Description
--- | ---
policy_id* | String Required

## Responses

###

###

# getPolicyTypeDefinition

Get an A1 Policy Type definition (getPolicyTypeDefinition)

Get an A1 Policy Type definition using its policy type ID

    /a1-policy/v2/policy-types/{policytype_id}

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/policy-types/{policytype_id}"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policytypeId = policytypeId_example; // String |

            try {
                policy_type_definition result = apiInstance.getPolicyTypeDefinition(policytypeId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypeDefinition");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String policytypeId = new String(); // String |

    try {
        final result = await api_instance.getPolicyTypeDefinition(policytypeId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getPolicyTypeDefinition: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String policytypeId = policytypeId_example; // String |

            try {
                policy_type_definition result = apiInstance.getPolicyTypeDefinition(policytypeId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypeDefinition");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    String *policytypeId = policytypeId_example; //  (default to null)

    // Get an A1 Policy Type definition (getPolicyTypeDefinition)
    [apiInstance getPolicyTypeDefinitionWith:policytypeId
                  completionHandler: ^(policy_type_definition output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var policytypeId = policytypeId_example; // {String}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getPolicyTypeDefinition(policytypeId, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getPolicyTypeDefinitionExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var policytypeId = policytypeId_example;  // String |  (default to null)

                try {
                    // Get an A1 Policy Type definition (getPolicyTypeDefinition)
                    policy_type_definition result = apiInstance.getPolicyTypeDefinition(policytypeId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyTypeDefinition: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $policytypeId = policytypeId_example; // String |

    try {
        $result = $api_instance->getPolicyTypeDefinition($policytypeId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->getPolicyTypeDefinition: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $policytypeId = policytypeId_example; # String |

    eval {
        my $result = $api_instance->getPolicyTypeDefinition(policytypeId => $policytypeId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->getPolicyTypeDefinition: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    policytypeId = policytypeId_example # String |  (default to null)

    try:
        # Get an A1 Policy Type definition (getPolicyTypeDefinition)
        api_response = api_instance.get_policy_type_definition(policytypeId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->getPolicyTypeDefinition: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let policytypeId = policytypeId_example; // String

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.getPolicyTypeDefinition(policytypeId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Path parameters

Name | Description
--- | ---
policytype_id* | String Required

## Responses

###

###

# getPolicyTypes

Get A1 Policy Types (getPolicyTypes)

Query A1 Policy Type identities using query parameters

    /a1-policy/v2/policy-types

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/policy-types?ric_id=ricId_example&type_name=typeName_example&compatible_with_version=compatibleWithVersion_example"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String ricId = ricId_example; // String | Select types for the given Near-RT RIC identity.
            String typeName = typeName_example; // String | Select types compatible with the given type name (type identity has the format 'typename_version')
            String compatibleWithVersion = compatibleWithVersion_example; // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.

            try {
                policy_type_id_list result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypes");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String ricId = new String(); // String | Select types for the given Near-RT RIC identity.
    final String typeName = new String(); // String | Select types compatible with the given type name (type identity has the format 'typename_version')
    final String compatibleWithVersion = new String(); // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.

    try {
        final result = await api_instance.getPolicyTypes(ricId, typeName, compatibleWithVersion);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getPolicyTypes: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            String ricId = ricId_example; // String | Select types for the given Near-RT RIC identity.
            String typeName = typeName_example; // String | Select types compatible with the given type name (type identity has the format 'typename_version')
            String compatibleWithVersion = compatibleWithVersion_example; // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.

            try {
                policy_type_id_list result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#getPolicyTypes");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    String *ricId = ricId_example; // Select types for the given Near-RT RIC identity. (optional) (default to null)
    String *typeName = typeName_example; // Select types compatible with the given type name (type identity has the format 'typename_version') (optional) (default to null)
    String *compatibleWithVersion = compatibleWithVersion_example; // Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null)

    // Get A1 Policy Types (getPolicyTypes)
    [apiInstance getPolicyTypesWith:ricId
        typeName:typeName
        compatibleWithVersion:compatibleWithVersion
                  completionHandler: ^(policy_type_id_list output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var opts = {
      'ricId': ricId_example, // {String} Select types for the given Near-RT RIC identity.
      'typeName': typeName_example, // {String} Select types compatible with the given type name (type identity has the format 'typename_version')
      'compatibleWithVersion': compatibleWithVersion_example // {String} Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.
    };

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getPolicyTypes(opts, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getPolicyTypesExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var ricId = ricId_example;  // String | Select types for the given Near-RT RIC identity. (optional)  (default to null)
                var typeName = typeName_example;  // String | Select types compatible with the given type name (type identity has the format 'typename_version') (optional)  (default to null)
                var compatibleWithVersion = compatibleWithVersion_example;  // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional)  (default to null)

                try {
                    // Get A1 Policy Types (getPolicyTypes)
                    policy_type_id_list result = apiInstance.getPolicyTypes(ricId, typeName, compatibleWithVersion);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.getPolicyTypes: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $ricId = ricId_example; // String | Select types for the given Near-RT RIC identity.
    $typeName = typeName_example; // String | Select types compatible with the given type name (type identity has the format 'typename_version')
    $compatibleWithVersion = compatibleWithVersion_example; // String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.

    try {
        $result = $api_instance->getPolicyTypes($ricId, $typeName, $compatibleWithVersion);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->getPolicyTypes: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $ricId = ricId_example; # String | Select types for the given Near-RT RIC identity.
    my $typeName = typeName_example; # String | Select types compatible with the given type name (type identity has the format 'typename_version')
    my $compatibleWithVersion = compatibleWithVersion_example; # String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.

    eval {
        my $result = $api_instance->getPolicyTypes(ricId => $ricId, typeName => $typeName, compatibleWithVersion => $compatibleWithVersion);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->getPolicyTypes: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    ricId = ricId_example # String | Select types for the given Near-RT RIC identity. (optional) (default to null)
    typeName = typeName_example # String | Select types compatible with the given type name (type identity has the format 'typename_version') (optional) (default to null)
    compatibleWithVersion = compatibleWithVersion_example # String | Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order. (optional) (default to null)

    try:
        # Get A1 Policy Types (getPolicyTypes)
        api_response = api_instance.get_policy_types(ricId=ricId, typeName=typeName, compatibleWithVersion=compatibleWithVersion)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->getPolicyTypes: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let ricId = ricId_example; // String
        let typeName = typeName_example; // String
        let compatibleWithVersion = compatibleWithVersion_example; // String

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.getPolicyTypes(ricId, typeName, compatibleWithVersion, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Query parameters

Name | Description
--- | ---
ric_id | String Select types for the given Near-RT RIC identity.
type_name | String Select types compatible with the given type name (type identity has the format 'typename_version')
compatible_with_version | String Select types that are compatible with the given version. This parameter is only applicable in conjunction with type_name. As an example version 1.9.1 is compatible with 1.0.0 but not the other way around. Matching types will be returned sorted in ascending order.

## Responses

###

###

# putPolicy

Create or Update an A1 Policy Instance (putPolicy)

Create or Update an A1 Policy Instance

    /a1-policy/v2/policies

### Usage and SDK Samples

    curl -X PUT \
     -H "Accept: application/json,application/problem+json" \
     -H "Content-Type: application/json" \
     "http://localhost/a1-policy/v2/policies" \
     -d ''

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.A1PolicyManagementApi;

    import java.io.File;
    import java.util.*;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            PolicyInfo policyInfo = ; // PolicyInfo |

            try {
                Object result = apiInstance.putPolicy(policyInfo);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#putPolicy");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final PolicyInfo policyInfo = new PolicyInfo(); // PolicyInfo |

    try {
        final result = await api_instance.putPolicy(policyInfo);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->putPolicy: $e\n');
    }

    import org.openapitools.client.api.A1PolicyManagementApi;

    public class A1PolicyManagementApiExample {
        public static void main(String[] args) {
            A1PolicyManagementApi apiInstance = new A1PolicyManagementApi();
            PolicyInfo policyInfo = ; // PolicyInfo |

            try {
                Object result = apiInstance.putPolicy(policyInfo);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling A1PolicyManagementApi#putPolicy");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    A1PolicyManagementApi *apiInstance = [[A1PolicyManagementApi alloc] init];
    PolicyInfo *policyInfo = ; //

    // Create or Update an A1 Policy Instance (putPolicy)
    [apiInstance putPolicyWith:policyInfo
                  completionHandler: ^(Object output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.A1PolicyManagementApi()
    var policyInfo = ; // {PolicyInfo}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.putPolicy(policyInfo, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class putPolicyExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new A1PolicyManagementApi();
                var policyInfo = new PolicyInfo(); // PolicyInfo |

                try {
                    // Create or Update an A1 Policy Instance (putPolicy)
                    Object result = apiInstance.putPolicy(policyInfo);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling A1PolicyManagementApi.putPolicy: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\A1PolicyManagementApi();
    $policyInfo = ; // PolicyInfo |

    try {
        $result = $api_instance->putPolicy($policyInfo);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling A1PolicyManagementApi->putPolicy: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::A1PolicyManagementApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::A1PolicyManagementApi->new();
    my $policyInfo = WWW::OPenAPIClient::Object::PolicyInfo->new(); # PolicyInfo |

    eval {
        my $result = $api_instance->putPolicy(policyInfo => $policyInfo);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling A1PolicyManagementApi->putPolicy: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.A1PolicyManagementApi()
    policyInfo =  # PolicyInfo |

    try:
        # Create or Update an A1 Policy Instance (putPolicy)
        api_response = api_instance.put_policy(policyInfo)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling A1PolicyManagementApi->putPolicy: %s\n" % e)

    extern crate A1PolicyManagementApi;

    pub fn main() {
        let policyInfo = ; // PolicyInfo

        let mut context = A1PolicyManagementApi::Context::default();
        let result = client.putPolicy(policyInfo, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Body parameters

Name | Description
--- | ---
policyInfo * |

## Responses

###

###

###

# AuthorizationAPI

# performAccessControl

Callout request for access authorization (performAccessControl)

A template endpoint for callout requests to an external authorization function. The authorization function, if enabled, decides if individual operations are permitted.

    /example-authz-check

### Usage and SDK Samples

    curl -X POST \
     -H "Accept: application/json,application/problem+json" \
     -H "Content-Type: application/json" \
     "http://localhost/example-authz-check" \
     -d ''

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.AuthorizationAPIApi;

    import java.io.File;
    import java.util.*;

    public class AuthorizationAPIApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            AuthorizationAPIApi apiInstance = new AuthorizationAPIApi();
            PolicyAuthorization policyAuthorization = ; // PolicyAuthorization |

            try {
                authorization_result result = apiInstance.performAccessControl(policyAuthorization);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling AuthorizationAPIApi#performAccessControl");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final PolicyAuthorization policyAuthorization = new PolicyAuthorization(); // PolicyAuthorization |

    try {
        final result = await api_instance.performAccessControl(policyAuthorization);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->performAccessControl: $e\n');
    }

    import org.openapitools.client.api.AuthorizationAPIApi;

    public class AuthorizationAPIApiExample {
        public static void main(String[] args) {
            AuthorizationAPIApi apiInstance = new AuthorizationAPIApi();
            PolicyAuthorization policyAuthorization = ; // PolicyAuthorization |

            try {
                authorization_result result = apiInstance.performAccessControl(policyAuthorization);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling AuthorizationAPIApi#performAccessControl");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    AuthorizationAPIApi *apiInstance = [[AuthorizationAPIApi alloc] init];
    PolicyAuthorization *policyAuthorization = ; //

    // Callout request for access authorization (performAccessControl)
    [apiInstance performAccessControlWith:policyAuthorization
                  completionHandler: ^(authorization_result output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.AuthorizationAPIApi()
    var policyAuthorization = ; // {PolicyAuthorization}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.performAccessControl(policyAuthorization, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class performAccessControlExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new AuthorizationAPIApi();
                var policyAuthorization = new PolicyAuthorization(); // PolicyAuthorization |

                try {
                    // Callout request for access authorization (performAccessControl)
                    authorization_result result = apiInstance.performAccessControl(policyAuthorization);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling AuthorizationAPIApi.performAccessControl: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\AuthorizationAPIApi();
    $policyAuthorization = ; // PolicyAuthorization |

    try {
        $result = $api_instance->performAccessControl($policyAuthorization);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling AuthorizationAPIApi->performAccessControl: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::AuthorizationAPIApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::AuthorizationAPIApi->new();
    my $policyAuthorization = WWW::OPenAPIClient::Object::PolicyAuthorization->new(); # PolicyAuthorization |

    eval {
        my $result = $api_instance->performAccessControl(policyAuthorization => $policyAuthorization);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling AuthorizationAPIApi->performAccessControl: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.AuthorizationAPIApi()
    policyAuthorization =  # PolicyAuthorization |

    try:
        # Callout request for access authorization (performAccessControl)
        api_response = api_instance.perform_access_control(policyAuthorization)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AuthorizationAPIApi->performAccessControl: %s\n" % e)

    extern crate AuthorizationAPIApi;

    pub fn main() {
        let policyAuthorization = ; // PolicyAuthorization

        let mut context = AuthorizationAPIApi::Context::default();
        let result = client.performAccessControl(policyAuthorization, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Body parameters

Name | Description
--- | ---
policyAuthorization * |

## Responses

###

###

# Configuration

# getConfiguration

Get the Application Configuration (getConfiguration)

Returns the entire contents of the Application Configuration.

    /a1-policy/v2/configuration

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/configuration"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.ConfigurationApi;

    import java.io.File;
    import java.util.*;

    public class ConfigurationApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            ConfigurationApi apiInstance = new ConfigurationApi();

            try {
                'String' result = apiInstance.getConfiguration();
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ConfigurationApi#getConfiguration");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    try {
        final result = await api_instance.getConfiguration();
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getConfiguration: $e\n');
    }

    import org.openapitools.client.api.ConfigurationApi;

    public class ConfigurationApiExample {
        public static void main(String[] args) {
            ConfigurationApi apiInstance = new ConfigurationApi();

            try {
                'String' result = apiInstance.getConfiguration();
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ConfigurationApi#getConfiguration");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init];

    // Get the Application Configuration (getConfiguration)
    [apiInstance getConfigurationWithCompletionHandler:
                  ^('String' output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.ConfigurationApi()
    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getConfiguration(callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getConfigurationExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new ConfigurationApi();

                try {
                    // Get the Application Configuration (getConfiguration)
                    'String' result = apiInstance.getConfiguration();
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling ConfigurationApi.getConfiguration: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\ConfigurationApi();

    try {
        $result = $api_instance->getConfiguration();
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling ConfigurationApi->getConfiguration: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::ConfigurationApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::ConfigurationApi->new();

    eval {
        my $result = $api_instance->getConfiguration();
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling ConfigurationApi->getConfiguration: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.ConfigurationApi()

    try:
        # Get the Application Configuration (getConfiguration)
        api_response = api_instance.get_configuration()
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ConfigurationApi->getConfiguration: %s\n" % e)

    extern crate ConfigurationApi;

    pub fn main() {

        let mut context = ConfigurationApi::Context::default();
        let result = client.getConfiguration(&context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

## Responses

###

###

# putConfiguration

Set/Replace the Application Configuration (putConfiguration)

Replace the current Application Configuration with a new configuration. The new configuration, if accepted, will take effect after a short delay. The new configuration must comply with the Application Configuration schema, which can be found from the the Application Documentation (Developer Guide)

    /a1-policy/v2/configuration

### Usage and SDK Samples

    curl -X PUT \
     -H "Accept: */*,application/problem+json" \
     -H "Content-Type: application/json" \
     "http://localhost/a1-policy/v2/configuration" \
     -d ''

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.ConfigurationApi;

    import java.io.File;
    import java.util.*;

    public class ConfigurationApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            ConfigurationApi apiInstance = new ConfigurationApi();
            Object body = Object; // Object |

            try {
                Object result = apiInstance.putConfiguration(body);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ConfigurationApi#putConfiguration");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final Object body = new Object(); // Object |

    try {
        final result = await api_instance.putConfiguration(body);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->putConfiguration: $e\n');
    }

    import org.openapitools.client.api.ConfigurationApi;

    public class ConfigurationApiExample {
        public static void main(String[] args) {
            ConfigurationApi apiInstance = new ConfigurationApi();
            Object body = Object; // Object |

            try {
                Object result = apiInstance.putConfiguration(body);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ConfigurationApi#putConfiguration");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    ConfigurationApi *apiInstance = [[ConfigurationApi alloc] init];
    Object *body = Object; //

    // Set/Replace the Application Configuration (putConfiguration)
    [apiInstance putConfigurationWith:body
                  completionHandler: ^(Object output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.ConfigurationApi()
    var body = Object; // {Object}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.putConfiguration(body, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class putConfigurationExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new ConfigurationApi();
                var body = Object;  // Object |

                try {
                    // Set/Replace the Application Configuration (putConfiguration)
                    Object result = apiInstance.putConfiguration(body);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling ConfigurationApi.putConfiguration: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\ConfigurationApi();
    $body = Object; // Object |

    try {
        $result = $api_instance->putConfiguration($body);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling ConfigurationApi->putConfiguration: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::ConfigurationApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::ConfigurationApi->new();
    my $body = WWW::OPenAPIClient::Object::Object->new(); # Object |

    eval {
        my $result = $api_instance->putConfiguration(body => $body);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling ConfigurationApi->putConfiguration: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.ConfigurationApi()
    body = Object # Object |

    try:
        # Set/Replace the Application Configuration (putConfiguration)
        api_response = api_instance.put_configuration(body)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ConfigurationApi->putConfiguration: %s\n" % e)

    extern crate ConfigurationApi;

    pub fn main() {
        let body = Object; // Object

        let mut context = ConfigurationApi::Context::default();
        let result = client.putConfiguration(body, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Body parameters

Name | Description
--- | ---
body * |

## Responses

###

###

# HealthCheck

# getStatus

Get Status (getStatus)

Returns status and statistics of this service

    /a1-policy/v2/status

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json" \
     "http://localhost/a1-policy/v2/status"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.HealthCheckApi;

    import java.io.File;
    import java.util.*;

    public class HealthCheckApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            HealthCheckApi apiInstance = new HealthCheckApi();

            try {
                status_info result = apiInstance.getStatus();
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling HealthCheckApi#getStatus");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    try {
        final result = await api_instance.getStatus();
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getStatus: $e\n');
    }

    import org.openapitools.client.api.HealthCheckApi;

    public class HealthCheckApiExample {
        public static void main(String[] args) {
            HealthCheckApi apiInstance = new HealthCheckApi();

            try {
                status_info result = apiInstance.getStatus();
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling HealthCheckApi#getStatus");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];

    // Get Status (getStatus)
    [apiInstance getStatusWithCompletionHandler:
                  ^(status_info output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.HealthCheckApi()
    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getStatus(callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getStatusExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new HealthCheckApi();

                try {
                    // Get Status (getStatus)
                    status_info result = apiInstance.getStatus();
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling HealthCheckApi.getStatus: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\HealthCheckApi();

    try {
        $result = $api_instance->getStatus();
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling HealthCheckApi->getStatus: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::HealthCheckApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new();

    eval {
        my $result = $api_instance->getStatus();
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling HealthCheckApi->getStatus: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.HealthCheckApi()

    try:
        # Get Status (getStatus)
        api_response = api_instance.get_status()
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling HealthCheckApi->getStatus: %s\n" % e)

    extern crate HealthCheckApi;

    pub fn main() {

        let mut context = HealthCheckApi::Context::default();
        let result = client.getStatus(&context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

## Responses

###

# getStatusV1

Get Status (getStatusV1)

Returns status and statistics of this service

    /status

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: */*" \
     "http://localhost/status"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.HealthCheckApi;

    import java.io.File;
    import java.util.*;

    public class HealthCheckApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            HealthCheckApi apiInstance = new HealthCheckApi();

            try {
                'String' result = apiInstance.getStatusV1();
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling HealthCheckApi#getStatusV1");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    try {
        final result = await api_instance.getStatusV1();
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getStatusV1: $e\n');
    }

    import org.openapitools.client.api.HealthCheckApi;

    public class HealthCheckApiExample {
        public static void main(String[] args) {
            HealthCheckApi apiInstance = new HealthCheckApi();

            try {
                'String' result = apiInstance.getStatusV1();
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling HealthCheckApi#getStatusV1");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    HealthCheckApi *apiInstance = [[HealthCheckApi alloc] init];

    // Get Status (getStatusV1)
    [apiInstance getStatusV1WithCompletionHandler:
                  ^('String' output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.HealthCheckApi()
    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getStatusV1(callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getStatusV1Example
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new HealthCheckApi();

                try {
                    // Get Status (getStatusV1)
                    'String' result = apiInstance.getStatusV1();
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling HealthCheckApi.getStatusV1: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\HealthCheckApi();

    try {
        $result = $api_instance->getStatusV1();
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling HealthCheckApi->getStatusV1: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::HealthCheckApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::HealthCheckApi->new();

    eval {
        my $result = $api_instance->getStatusV1();
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling HealthCheckApi->getStatusV1: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.HealthCheckApi()

    try:
        # Get Status (getStatusV1)
        api_response = api_instance.get_status_v1()
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling HealthCheckApi->getStatusV1: %s\n" % e)

    extern crate HealthCheckApi;

    pub fn main() {

        let mut context = HealthCheckApi::Context::default();
        let result = client.getStatusV1(&context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

## Responses

###

# NearRTRICRepository

# getRic

Get a Near-RT RIC (getRic)

Query information about a Near-RT RIC. Either a Near-RT RIC identity or a Managed Element identity can be specified. The intention with Managed Element identity is the ID used in O1 for accessing the traffical element (such as the ID of CU).

    /a1-policy/v2/rics/ric

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/rics/ric?managed_element_id=managedElementId_example&ric_id=ricId_example"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.NearRTRICRepositoryApi;

    import java.io.File;
    import java.util.*;

    public class NearRTRICRepositoryApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
            String managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.

            String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.

            try {
                ric_info result = apiInstance.getRic(managedElementId, ricId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling NearRTRICRepositoryApi#getRic");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String managedElementId = new String(); // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.

    final String ricId = new String(); // String | The identity of a Near-RT RIC to get information for.

    try {
        final result = await api_instance.getRic(managedElementId, ricId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getRic: $e\n');
    }

    import org.openapitools.client.api.NearRTRICRepositoryApi;

    public class NearRTRICRepositoryApiExample {
        public static void main(String[] args) {
            NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
            String managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.

            String ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.

            try {
                ric_info result = apiInstance.getRic(managedElementId, ricId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling NearRTRICRepositoryApi#getRic");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init];
    String *managedElementId = managedElementId_example; // The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
     (optional) (default to null)
    String *ricId = ricId_example; // The identity of a Near-RT RIC to get information for. (optional) (default to null)

    // Get a Near-RT RIC (getRic)
    [apiInstance getRicWith:managedElementId
        ricId:ricId
                  completionHandler: ^(ric_info output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.NearRTRICRepositoryApi()
    var opts = {
      'managedElementId': managedElementId_example, // {String} The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.

      'ricId': ricId_example // {String} The identity of a Near-RT RIC to get information for.
    };

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getRic(opts, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getRicExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new NearRTRICRepositoryApi();
                var managedElementId = managedElementId_example;  // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
     (optional)  (default to null)
                var ricId = ricId_example;  // String | The identity of a Near-RT RIC to get information for. (optional)  (default to null)

                try {
                    // Get a Near-RT RIC (getRic)
                    ric_info result = apiInstance.getRic(managedElementId, ricId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling NearRTRICRepositoryApi.getRic: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\NearRTRICRepositoryApi();
    $managedElementId = managedElementId_example; // String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.

    $ricId = ricId_example; // String | The identity of a Near-RT RIC to get information for.

    try {
        $result = $api_instance->getRic($managedElementId, $ricId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling NearRTRICRepositoryApi->getRic: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::NearRTRICRepositoryApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::NearRTRICRepositoryApi->new();
    my $managedElementId = managedElementId_example; # String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.

    my $ricId = ricId_example; # String | The identity of a Near-RT RIC to get information for.

    eval {
        my $result = $api_instance->getRic(managedElementId => $managedElementId, ricId => $ricId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling NearRTRICRepositoryApi->getRic: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.NearRTRICRepositoryApi()
    managedElementId = managedElementId_example # String | The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
     (optional) (default to null)
    ricId = ricId_example # String | The identity of a Near-RT RIC to get information for. (optional) (default to null)

    try:
        # Get a Near-RT RIC (getRic)
        api_response = api_instance.get_ric(managedElementId=managedElementId, ricId=ricId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling NearRTRICRepositoryApi->getRic: %s\n" % e)

    extern crate NearRTRICRepositoryApi;

    pub fn main() {
        let managedElementId = managedElementId_example; // String
        let ricId = ricId_example; // String

        let mut context = NearRTRICRepositoryApi::Context::default();
        let result = client.getRic(managedElementId, ricId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Query parameters

Name | Description
--- | ---
managed_element_id | String The identity of a Managed Element. If given, the Near-RT RIC managing the ME is returned.
ric_id | String The identity of a Near-RT RIC to get information for.

## Responses

###

###

# getRics

Get Near-RT RICs for A1 Policy Type (getRics)

Get all Near-RT RICs that supports a given A1 Policy Type ID

    /a1-policy/v2/rics

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/rics?policytype_id=policytypeId_example"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.NearRTRICRepositoryApi;

    import java.io.File;
    import java.util.*;

    public class NearRTRICRepositoryApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
            String policytypeId = policytypeId_example; // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.

            try {
                ric_info_list result = apiInstance.getRics(policytypeId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling NearRTRICRepositoryApi#getRics");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String policytypeId = new String(); // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.

    try {
        final result = await api_instance.getRics(policytypeId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getRics: $e\n');
    }

    import org.openapitools.client.api.NearRTRICRepositoryApi;

    public class NearRTRICRepositoryApiExample {
        public static void main(String[] args) {
            NearRTRICRepositoryApi apiInstance = new NearRTRICRepositoryApi();
            String policytypeId = policytypeId_example; // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.

            try {
                ric_info_list result = apiInstance.getRics(policytypeId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling NearRTRICRepositoryApi#getRics");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    NearRTRICRepositoryApi *apiInstance = [[NearRTRICRepositoryApi alloc] init];
    String *policytypeId = policytypeId_example; // The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
     (optional) (default to null)

    // Get Near-RT RICs for A1 Policy Type (getRics)
    [apiInstance getRicsWith:policytypeId
                  completionHandler: ^(ric_info_list output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.NearRTRICRepositoryApi()
    var opts = {
      'policytypeId': policytypeId_example // {String} The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.

    };

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getRics(opts, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getRicsExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new NearRTRICRepositoryApi();
                var policytypeId = policytypeId_example;  // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
     (optional)  (default to null)

                try {
                    // Get Near-RT RICs for A1 Policy Type (getRics)
                    ric_info_list result = apiInstance.getRics(policytypeId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling NearRTRICRepositoryApi.getRics: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\NearRTRICRepositoryApi();
    $policytypeId = policytypeId_example; // String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.

    try {
        $result = $api_instance->getRics($policytypeId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling NearRTRICRepositoryApi->getRics: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::NearRTRICRepositoryApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::NearRTRICRepositoryApi->new();
    my $policytypeId = policytypeId_example; # String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.

    eval {
        my $result = $api_instance->getRics(policytypeId => $policytypeId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling NearRTRICRepositoryApi->getRics: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.NearRTRICRepositoryApi()
    policytypeId = policytypeId_example # String | The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.
     (optional) (default to null)

    try:
        # Get Near-RT RICs for A1 Policy Type (getRics)
        api_response = api_instance.get_rics(policytypeId=policytypeId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling NearRTRICRepositoryApi->getRics: %s\n" % e)

    extern crate NearRTRICRepositoryApi;

    pub fn main() {
        let policytypeId = policytypeId_example; // String

        let mut context = NearRTRICRepositoryApi::Context::default();
        let result = client.getRics(policytypeId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Query parameters

Name | Description
--- | ---
policytype_id | String The identity of an A1 Policy Type. If given, all Near-RT RICs supporting the A1 Policy Type are returned.

## Responses

###

###

# ServiceRegistryAndSupervision

# deleteService

Unregister a Service (deleteService)

Unregister a registered Service using its service ID. Only registered services can be unregistered. All A1 Policy Instances for the previously registered service will be removed.

    /a1-policy/v2/services/{service_id}

### Usage and SDK Samples

    curl -X DELETE \
     -H "Accept: */*,application/problem+json" \
     "http://localhost/a1-policy/v2/services/{service_id}"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    import java.io.File;
    import java.util.*;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            String serviceId = serviceId_example; // String |

            try {
                Object result = apiInstance.deleteService(serviceId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#deleteService");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String serviceId = new String(); // String |

    try {
        final result = await api_instance.deleteService(serviceId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->deleteService: $e\n');
    }

    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            String serviceId = serviceId_example; // String |

            try {
                Object result = apiInstance.deleteService(serviceId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#deleteService");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init];
    String *serviceId = serviceId_example; //  (default to null)

    // Unregister a Service (deleteService)
    [apiInstance deleteServiceWith:serviceId
                  completionHandler: ^(Object output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
    var serviceId = serviceId_example; // {String}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.deleteService(serviceId, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class deleteServiceExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new ServiceRegistryAndSupervisionApi();
                var serviceId = serviceId_example;  // String |  (default to null)

                try {
                    // Unregister a Service (deleteService)
                    Object result = apiInstance.deleteService(serviceId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling ServiceRegistryAndSupervisionApi.deleteService: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\ServiceRegistryAndSupervisionApi();
    $serviceId = serviceId_example; // String |

    try {
        $result = $api_instance->deleteService($serviceId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling ServiceRegistryAndSupervisionApi->deleteService: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi->new();
    my $serviceId = serviceId_example; # String |

    eval {
        my $result = $api_instance->deleteService(serviceId => $serviceId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling ServiceRegistryAndSupervisionApi->deleteService: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.ServiceRegistryAndSupervisionApi()
    serviceId = serviceId_example # String |  (default to null)

    try:
        # Unregister a Service (deleteService)
        api_response = api_instance.delete_service(serviceId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ServiceRegistryAndSupervisionApi->deleteService: %s\n" % e)

    extern crate ServiceRegistryAndSupervisionApi;

    pub fn main() {
        let serviceId = serviceId_example; // String

        let mut context = ServiceRegistryAndSupervisionApi::Context::default();
        let result = client.deleteService(serviceId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Path parameters

Name | Description
--- | ---
service_id* | String Required

## Responses

###

###

# getServices

Get Services (getServices)

Get information about all registered services, or a single registered service. If the service ID of a registered service is included in the query, information about that service is returned. Otherwise Information about all registered is returned. This operation does not retrieve information about unregistered services.

    /a1-policy/v2/services

### Usage and SDK Samples

    curl -X GET \
     -H "Accept: application/json,application/problem+json" \
     "http://localhost/a1-policy/v2/services?service_id=serviceId_example"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    import java.io.File;
    import java.util.*;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            String serviceId = serviceId_example; // String | The identity of the registered service

            try {
                service_status_list result = apiInstance.getServices(serviceId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#getServices");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String serviceId = new String(); // String | The identity of the registered service

    try {
        final result = await api_instance.getServices(serviceId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->getServices: $e\n');
    }

    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            String serviceId = serviceId_example; // String | The identity of the registered service

            try {
                service_status_list result = apiInstance.getServices(serviceId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#getServices");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init];
    String *serviceId = serviceId_example; // The identity of the registered service (optional) (default to null)

    // Get Services (getServices)
    [apiInstance getServicesWith:serviceId
                  completionHandler: ^(service_status_list output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
    var opts = {
      'serviceId': serviceId_example // {String} The identity of the registered service
    };

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.getServices(opts, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class getServicesExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new ServiceRegistryAndSupervisionApi();
                var serviceId = serviceId_example;  // String | The identity of the registered service (optional)  (default to null)

                try {
                    // Get Services (getServices)
                    service_status_list result = apiInstance.getServices(serviceId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling ServiceRegistryAndSupervisionApi.getServices: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\ServiceRegistryAndSupervisionApi();
    $serviceId = serviceId_example; // String | The identity of the registered service

    try {
        $result = $api_instance->getServices($serviceId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling ServiceRegistryAndSupervisionApi->getServices: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi->new();
    my $serviceId = serviceId_example; # String | The identity of the registered service

    eval {
        my $result = $api_instance->getServices(serviceId => $serviceId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling ServiceRegistryAndSupervisionApi->getServices: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.ServiceRegistryAndSupervisionApi()
    serviceId = serviceId_example # String | The identity of the registered service (optional) (default to null)

    try:
        # Get Services (getServices)
        api_response = api_instance.get_services(serviceId=serviceId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ServiceRegistryAndSupervisionApi->getServices: %s\n" % e)

    extern crate ServiceRegistryAndSupervisionApi;

    pub fn main() {
        let serviceId = serviceId_example; // String

        let mut context = ServiceRegistryAndSupervisionApi::Context::default();
        let result = client.getServices(serviceId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Query parameters

Name | Description
--- | ---
service_id | String The identity of the registered service

## Responses

###

###

# keepAliveService

Heartbeat message from a service (keepAliveService)

A registered service should invoke this operation regularly to indicate that it is still alive. If a registered service fails to invoke some operation, or this operation, before the end of a timeout period the service will be deregistered and all its A1 policies wil be removed. This operation is only intended for registered services. (This timeout can be set or disabled when each service is initially registered)

    /a1-policy/v2/services/{service_id}/keepalive

### Usage and SDK Samples

    curl -X PUT \
     -H "Accept: */*,application/problem+json" \
     "http://localhost/a1-policy/v2/services/{service_id}/keepalive"

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    import java.io.File;
    import java.util.*;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            String serviceId = serviceId_example; // String |

            try {
                Object result = apiInstance.keepAliveService(serviceId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#keepAliveService");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final String serviceId = new String(); // String |

    try {
        final result = await api_instance.keepAliveService(serviceId);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->keepAliveService: $e\n');
    }

    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            String serviceId = serviceId_example; // String |

            try {
                Object result = apiInstance.keepAliveService(serviceId);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#keepAliveService");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init];
    String *serviceId = serviceId_example; //  (default to null)

    // Heartbeat message from a service (keepAliveService)
    [apiInstance keepAliveServiceWith:serviceId
                  completionHandler: ^(Object output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
    var serviceId = serviceId_example; // {String}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.keepAliveService(serviceId, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class keepAliveServiceExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new ServiceRegistryAndSupervisionApi();
                var serviceId = serviceId_example;  // String |  (default to null)

                try {
                    // Heartbeat message from a service (keepAliveService)
                    Object result = apiInstance.keepAliveService(serviceId);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling ServiceRegistryAndSupervisionApi.keepAliveService: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\ServiceRegistryAndSupervisionApi();
    $serviceId = serviceId_example; // String |

    try {
        $result = $api_instance->keepAliveService($serviceId);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling ServiceRegistryAndSupervisionApi->keepAliveService: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi->new();
    my $serviceId = serviceId_example; # String |

    eval {
        my $result = $api_instance->keepAliveService(serviceId => $serviceId);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling ServiceRegistryAndSupervisionApi->keepAliveService: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.ServiceRegistryAndSupervisionApi()
    serviceId = serviceId_example # String |  (default to null)

    try:
        # Heartbeat message from a service (keepAliveService)
        api_response = api_instance.keep_alive_service(serviceId)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ServiceRegistryAndSupervisionApi->keepAliveService: %s\n" % e)

    extern crate ServiceRegistryAndSupervisionApi;

    pub fn main() {
        let serviceId = serviceId_example; // String

        let mut context = ServiceRegistryAndSupervisionApi::Context::default();
        let result = client.keepAliveService(serviceId, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Path parameters

Name | Description
--- | ---
service_id* | String Required

## Responses

###

###

# putService

Register or update a Service (putService)

Register a single service, or update a previous registtration. Service registration is required to get callbacks about available NearRT RICs and to enable supervision of the service's active status. If a registered service becomes inactive, its policies can be automatically deleted. A1 Policy instances can also be created for unregistered services. If an unregistered service is later registered, the service's policies are retained when the service becomes registered. This feature is optional to use.

    /a1-policy/v2/services

### Usage and SDK Samples

    curl -X PUT \
     -H "Accept: */*,application/problem+json" \
     -H "Content-Type: application/json" \
     "http://localhost/a1-policy/v2/services" \
     -d ''

    import org.openapitools.client.*;
    import org.openapitools.client.auth.*;
    import org.openapitools.client.model.*;
    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    import java.io.File;
    import java.util.*;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {

            // Create an instance of the API class
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            ServiceRegistrationInfo serviceRegistrationInfo = ; // ServiceRegistrationInfo |

            try {
                Object result = apiInstance.putService(serviceRegistrationInfo);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#putService");
                e.printStackTrace();
            }
        }
    }

    import 'package:openapi/api.dart';

    final api_instance = DefaultApi();

    final ServiceRegistrationInfo serviceRegistrationInfo = new ServiceRegistrationInfo(); // ServiceRegistrationInfo |

    try {
        final result = await api_instance.putService(serviceRegistrationInfo);
        print(result);
    } catch (e) {
        print('Exception when calling DefaultApi->putService: $e\n');
    }

    import org.openapitools.client.api.ServiceRegistryAndSupervisionApi;

    public class ServiceRegistryAndSupervisionApiExample {
        public static void main(String[] args) {
            ServiceRegistryAndSupervisionApi apiInstance = new ServiceRegistryAndSupervisionApi();
            ServiceRegistrationInfo serviceRegistrationInfo = ; // ServiceRegistrationInfo |

            try {
                Object result = apiInstance.putService(serviceRegistrationInfo);
                System.out.println(result);
            } catch (ApiException e) {
                System.err.println("Exception when calling ServiceRegistryAndSupervisionApi#putService");
                e.printStackTrace();
            }
        }
    }

    // Create an instance of the API class
    ServiceRegistryAndSupervisionApi *apiInstance = [[ServiceRegistryAndSupervisionApi alloc] init];
    ServiceRegistrationInfo *serviceRegistrationInfo = ; //

    // Register or update a Service (putService)
    [apiInstance putServiceWith:serviceRegistrationInfo
                  completionHandler: ^(Object output, NSError* error) {
        if (output) {
            NSLog(@"%@", output);
        }
        if (error) {
            NSLog(@"Error: %@", error);
        }
    }];

    var OscA1PolicyManagementApi = require('osc_a1_policy_management_api');

    // Create an instance of the API class
    var api = new OscA1PolicyManagementApi.ServiceRegistryAndSupervisionApi()
    var serviceRegistrationInfo = ; // {ServiceRegistrationInfo}

    var callback = function(error, data, response) {
      if (error) {
        console.error(error);
      } else {
        console.log('API called successfully. Returned data: ' + data);
      }
    };
    api.putService(serviceRegistrationInfo, callback);

    using System;
    using System.Diagnostics;
    using Org.OpenAPITools.Api;
    using Org.OpenAPITools.Client;
    using Org.OpenAPITools.Model;

    namespace Example
    {
        public class putServiceExample
        {
            public void main()
            {

                // Create an instance of the API class
                var apiInstance = new ServiceRegistryAndSupervisionApi();
                var serviceRegistrationInfo = new ServiceRegistrationInfo(); // ServiceRegistrationInfo |

                try {
                    // Register or update a Service (putService)
                    Object result = apiInstance.putService(serviceRegistrationInfo);
                    Debug.WriteLine(result);
                } catch (Exception e) {
                    Debug.Print("Exception when calling ServiceRegistryAndSupervisionApi.putService: " + e.Message );
                }
            }
        }
    }

    <?php
    require_once(__DIR__ . '/vendor/autoload.php');

    // Create an instance of the API class
    $api_instance = new OpenAPITools\Client\Api\ServiceRegistryAndSupervisionApi();
    $serviceRegistrationInfo = ; // ServiceRegistrationInfo |

    try {
        $result = $api_instance->putService($serviceRegistrationInfo);
        print_r($result);
    } catch (Exception $e) {
        echo 'Exception when calling ServiceRegistryAndSupervisionApi->putService: ', $e->getMessage(), PHP_EOL;
    }
    ?>

    use Data::Dumper;
    use WWW::OPenAPIClient::Configuration;
    use WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi;

    # Create an instance of the API class
    my $api_instance = WWW::OPenAPIClient::ServiceRegistryAndSupervisionApi->new();
    my $serviceRegistrationInfo = WWW::OPenAPIClient::Object::ServiceRegistrationInfo->new(); # ServiceRegistrationInfo |

    eval {
        my $result = $api_instance->putService(serviceRegistrationInfo => $serviceRegistrationInfo);
        print Dumper($result);
    };
    if ($@) {
        warn "Exception when calling ServiceRegistryAndSupervisionApi->putService: $@\n";
    }

    from __future__ import print_statement
    import time
    import openapi_client
    from openapi_client.rest import ApiException
    from pprint import pprint

    # Create an instance of the API class
    api_instance = openapi_client.ServiceRegistryAndSupervisionApi()
    serviceRegistrationInfo =  # ServiceRegistrationInfo |

    try:
        # Register or update a Service (putService)
        api_response = api_instance.put_service(serviceRegistrationInfo)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ServiceRegistryAndSupervisionApi->putService: %s\n" % e)

    extern crate ServiceRegistryAndSupervisionApi;

    pub fn main() {
        let serviceRegistrationInfo = ; // ServiceRegistrationInfo

        let mut context = ServiceRegistryAndSupervisionApi::Context::default();
        let result = client.putService(serviceRegistrationInfo, &context).wait();

        println!("{:?}", result);
    }

## Scopes

## Parameters

Body parameters

Name | Description
--- | ---
serviceRegistrationInfo * |

## Responses

###

###

###