# swagger-java-client

WSO2 API Manager - Admin
- API version: 0.16.0

This document specifies a **RESTful API** for WSO2 **API Manager** - Admin Portal. Please see [full swagger definition](https://raw.githubusercontent.com/wso2/carbon-apimgt/v6.5.176/components/apimgt/org.wso2.carbon.apimgt.rest.api.admin/src/main/resources/admin-api.yaml) of the API which is written using [swagger 2.0](http://swagger.io/) specification. 

  For more information, please visit [http://wso2.com/products/api-manager/](http://wso2.com/products/api-manager/)

*Automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen)*


## Requirements

Building the API client library requires:
1. Java 1.7+
2. Maven/Gradle

## Installation

To install the API client library to your local Maven repository, simply execute:

```shell
mvn clean install
```

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

```shell
mvn clean deploy
```

Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information.

### Maven users

Add this dependency to your project's POM:

```xml
<dependency>
  <groupId>io.swagger</groupId>
  <artifactId>swagger-java-client</artifactId>
  <version>1.0.0</version>
  <scope>compile</scope>
</dependency>
```

### Gradle users

Add this dependency to your project's build file:

```groovy
compile "io.swagger:swagger-java-client:1.0.0"
```

### Others

At first generate the JAR by executing:

```shell
mvn clean package
```

Then manually install the following JARs:

* `target/swagger-java-client-1.0.0.jar`
* `target/lib/*.jar`

## Getting Started

Please follow the [installation](#installation) instruction and execute the following Java code:

```java

import org.wso2.am.integration.clients.admin.*;
import org.wso2.am.integration.clients.admin.auth.*;
import org.wso2.am.integration.clients.admin.api.dto.*;
import org.wso2.am.integration.clients.admin.api.AdvancedPolicyCollectionApi;

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

public class AdvancedPolicyCollectionApiExample {

    public static void main(String[] args) {
        
        AdvancedPolicyCollectionApi apiInstance = new AdvancedPolicyCollectionApi();
        String accept = "application/json"; // String | Media types acceptable for the response. Default is application/json. 
        String ifNoneMatch = "ifNoneMatch_example"; // String | Validator for conditional requests; based on the ETag of the formerly retrieved variant of the resource (Will be supported in future). 
        String ifModifiedSince = "ifModifiedSince_example"; // String | Validator for conditional requests; based on Last Modified header of the formerly retrieved variant of the resource (Will be supported in future). 
        try {
            AdvancedThrottlePolicyListDTO result = apiInstance.throttlingPoliciesAdvancedGet(accept, ifNoneMatch, ifModifiedSince);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling AdvancedPolicyCollectionApi#throttlingPoliciesAdvancedGet");
            e.printStackTrace();
        }
    }
}

```

## Documentation for API Endpoints

All URIs are relative to *https://apis.wso2.com/api/am/admin/v0.17*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AdvancedPolicyCollectionApi* | [**throttlingPoliciesAdvancedGet**](docs/AdvancedPolicyCollectionApi.md#throttlingPoliciesAdvancedGet) | **GET** /throttling/policies/advanced | Get all Advanced throttling policies.
*AdvancedPolicyCollectionApi* | [**throttlingPoliciesAdvancedPost**](docs/AdvancedPolicyCollectionApi.md#throttlingPoliciesAdvancedPost) | **POST** /throttling/policies/advanced | Add an Advanced Throttling Policy
*AdvancedPolicyIndividualApi* | [**throttlingPoliciesAdvancedPolicyIdDelete**](docs/AdvancedPolicyIndividualApi.md#throttlingPoliciesAdvancedPolicyIdDelete) | **DELETE** /throttling/policies/advanced/{policyId} | Delete an Advanced Throttling Policy
*AdvancedPolicyIndividualApi* | [**throttlingPoliciesAdvancedPolicyIdGet**](docs/AdvancedPolicyIndividualApi.md#throttlingPoliciesAdvancedPolicyIdGet) | **GET** /throttling/policies/advanced/{policyId} | Get an Advanced Policy
*AdvancedPolicyIndividualApi* | [**throttlingPoliciesAdvancedPolicyIdPut**](docs/AdvancedPolicyIndividualApi.md#throttlingPoliciesAdvancedPolicyIdPut) | **PUT** /throttling/policies/advanced/{policyId} | Update an Advanced Throttling Policy
*ApiCategoryCollectionApi* | [**apiCategoriesGet**](docs/ApiCategoryCollectionApi.md#apiCategoriesGet) | **GET** /api-categories | Get all API categories
*ApiCategoryIndividualApi* | [**apiCategoriesApiCategoryIdDelete**](docs/ApiCategoryIndividualApi.md#apiCategoriesApiCategoryIdDelete) | **DELETE** /api-categories/{apiCategoryId} | Delete an API Category
*ApiCategoryIndividualApi* | [**apiCategoriesApiCategoryIdPut**](docs/ApiCategoryIndividualApi.md#apiCategoriesApiCategoryIdPut) | **PUT** /api-categories/{apiCategoryId} | Update an API Category
*ApiCategoryIndividualApi* | [**apiCategoriesPost**](docs/ApiCategoryIndividualApi.md#apiCategoriesPost) | **POST** /api-categories | Add a new API Category
*ApiIndividualApi* | [**exportApiGet**](docs/ApiIndividualApi.md#exportApiGet) | **GET** /export/api | Export an API
*ApiIndividualApi* | [**importApiPost**](docs/ApiIndividualApi.md#importApiPost) | **POST** /import/api | Import an API
*ApplicationApi* | [**applicationsApplicationIdChangeOwnerPost**](docs/ApplicationApi.md#applicationsApplicationIdChangeOwnerPost) | **POST** /applications/{applicationId}/change-owner | Change Application Owner
*ApplicationCollectionApi* | [**applicationsGet**](docs/ApplicationCollectionApi.md#applicationsGet) | **GET** /applications | Retrieve/Search applications 
*ApplicationIndividualApi* | [**exportApplicationsGet**](docs/ApplicationIndividualApi.md#exportApplicationsGet) | **GET** /export/applications | Export an Application
*ApplicationIndividualApi* | [**importApplicationsPost**](docs/ApplicationIndividualApi.md#importApplicationsPost) | **POST** /import/applications | Import an Application
*ApplicationPolicyCollectionApi* | [**throttlingPoliciesApplicationGet**](docs/ApplicationPolicyCollectionApi.md#throttlingPoliciesApplicationGet) | **GET** /throttling/policies/application | Get all Application Throttling Policies
*ApplicationPolicyCollectionApi* | [**throttlingPoliciesApplicationPost**](docs/ApplicationPolicyCollectionApi.md#throttlingPoliciesApplicationPost) | **POST** /throttling/policies/application | Add an Application Throttling Policy
*ApplicationPolicyIndividualApi* | [**throttlingPoliciesApplicationPolicyIdDelete**](docs/ApplicationPolicyIndividualApi.md#throttlingPoliciesApplicationPolicyIdDelete) | **DELETE** /throttling/policies/application/{policyId} | Delete an Application Throttling policy
*ApplicationPolicyIndividualApi* | [**throttlingPoliciesApplicationPolicyIdGet**](docs/ApplicationPolicyIndividualApi.md#throttlingPoliciesApplicationPolicyIdGet) | **GET** /throttling/policies/application/{policyId} | Get an Application Policy
*ApplicationPolicyIndividualApi* | [**throttlingPoliciesApplicationPolicyIdPut**](docs/ApplicationPolicyIndividualApi.md#throttlingPoliciesApplicationPolicyIdPut) | **PUT** /throttling/policies/application/{policyId} | Update an Application Throttling policy
*BlacklistCollectionApi* | [**throttlingBlacklistGet**](docs/BlacklistCollectionApi.md#throttlingBlacklistGet) | **GET** /throttling/blacklist | Get all blocking condtions
*BlacklistCollectionApi* | [**throttlingBlacklistPost**](docs/BlacklistCollectionApi.md#throttlingBlacklistPost) | **POST** /throttling/blacklist | Add a Blocking condition
*BlacklistIndividualApi* | [**throttlingBlacklistConditionIdDelete**](docs/BlacklistIndividualApi.md#throttlingBlacklistConditionIdDelete) | **DELETE** /throttling/blacklist/{conditionId} | Delete a Blocking condition
*BlacklistIndividualApi* | [**throttlingBlacklistConditionIdGet**](docs/BlacklistIndividualApi.md#throttlingBlacklistConditionIdGet) | **GET** /throttling/blacklist/{conditionId} | Get a Blocking Condition
*CustomRulesCollectionApi* | [**throttlingPoliciesCustomGet**](docs/CustomRulesCollectionApi.md#throttlingPoliciesCustomGet) | **GET** /throttling/policies/custom | Get all Custom Rules
*CustomRulesCollectionApi* | [**throttlingPoliciesCustomPost**](docs/CustomRulesCollectionApi.md#throttlingPoliciesCustomPost) | **POST** /throttling/policies/custom | Add a Custom Rule
*CustomRulesIndividualApi* | [**throttlingPoliciesCustomRuleIdDelete**](docs/CustomRulesIndividualApi.md#throttlingPoliciesCustomRuleIdDelete) | **DELETE** /throttling/policies/custom/{ruleId} | Delete a Custom Rule
*CustomRulesIndividualApi* | [**throttlingPoliciesCustomRuleIdGet**](docs/CustomRulesIndividualApi.md#throttlingPoliciesCustomRuleIdGet) | **GET** /throttling/policies/custom/{ruleId} | Get a Custom Rule
*CustomRulesIndividualApi* | [**throttlingPoliciesCustomRuleIdPut**](docs/CustomRulesIndividualApi.md#throttlingPoliciesCustomRuleIdPut) | **PUT** /throttling/policies/custom/{ruleId} | Update a Custom Rule
*DefaultApi* | [**botDataAddEmailPost**](docs/DefaultApi.md#botDataAddEmailPost) | **POST** /botData/addEmail | Add an Email
*DefaultApi* | [**botDataDeleteEmailDelete**](docs/DefaultApi.md#botDataDeleteEmailDelete) | **DELETE** /botData/deleteEmail | Delete an configured email.
*DefaultApi* | [**botDataGetEmailListGet**](docs/DefaultApi.md#botDataGetEmailListGet) | **GET** /botData/getEmailList | Get all configured email list 
*KeyManagerCollectionApi* | [**keyManagersGet**](docs/KeyManagerCollectionApi.md#keyManagersGet) | **GET** /key-managers | Get all Key managers
*KeyManagerCollectionApi* | [**keyManagersPost**](docs/KeyManagerCollectionApi.md#keyManagersPost) | **POST** /key-managers | Add a new API Key Manager
*KeyManagerIndividualApi* | [**keyManagersKeyManagerIdDelete**](docs/KeyManagerIndividualApi.md#keyManagersKeyManagerIdDelete) | **DELETE** /key-managers/{keyManagerId} | Delete a Key Manager
*KeyManagerIndividualApi* | [**keyManagersKeyManagerIdGet**](docs/KeyManagerIndividualApi.md#keyManagersKeyManagerIdGet) | **GET** /key-managers/{keyManagerId} | Get a Key Manager Configuration
*KeyManagerIndividualApi* | [**keyManagersKeyManagerIdPut**](docs/KeyManagerIndividualApi.md#keyManagersKeyManagerIdPut) | **PUT** /key-managers/{keyManagerId} | Update a Key Manager
*LabelApi* | [**labelsLabelIdDelete**](docs/LabelApi.md#labelsLabelIdDelete) | **DELETE** /labels/{labelId} | Delete a Label
*LabelApi* | [**labelsLabelIdPut**](docs/LabelApi.md#labelsLabelIdPut) | **PUT** /labels/{labelId} | Update a Label
*LabelApi* | [**labelsPost**](docs/LabelApi.md#labelsPost) | **POST** /labels | Add a Label
*LabelCollectionApi* | [**labelsGet**](docs/LabelCollectionApi.md#labelsGet) | **GET** /labels | Get all registered Labels
*MediationPolicyCollectionApi* | [**policiesMediationGet**](docs/MediationPolicyCollectionApi.md#policiesMediationGet) | **GET** /policies/mediation | Get all global mediation policies 
*MediationPolicyCollectionApi* | [**policiesMediationPost**](docs/MediationPolicyCollectionApi.md#policiesMediationPost) | **POST** /policies/mediation | Add a global mediation policy
*MediationPolicyIndividualApi* | [**policiesMediationMediationPolicyIdDelete**](docs/MediationPolicyIndividualApi.md#policiesMediationMediationPolicyIdDelete) | **DELETE** /policies/mediation/{mediationPolicyId} | Delete a global mediation policy
*MediationPolicyIndividualApi* | [**policiesMediationMediationPolicyIdGet**](docs/MediationPolicyIndividualApi.md#policiesMediationMediationPolicyIdGet) | **GET** /policies/mediation/{mediationPolicyId} | Get a global mediation policy
*MediationPolicyIndividualApi* | [**policiesMediationMediationPolicyIdPut**](docs/MediationPolicyIndividualApi.md#policiesMediationMediationPolicyIdPut) | **PUT** /policies/mediation/{mediationPolicyId} | Update a global mediation policy
*MonetizationCollectionApi* | [**monetizationPublishUsagePost**](docs/MonetizationCollectionApi.md#monetizationPublishUsagePost) | **POST** /monetization/publish-usage | Publish Usage Records
*MonetizationCollectionApi* | [**monetizationPublishUsageStatusGet**](docs/MonetizationCollectionApi.md#monetizationPublishUsageStatusGet) | **GET** /monetization/publish-usage/status | Get the status of Monetization usage publisher
*SubscriptionPolicyCollectionApi* | [**throttlingPoliciesSubscriptionGet**](docs/SubscriptionPolicyCollectionApi.md#throttlingPoliciesSubscriptionGet) | **GET** /throttling/policies/subscription | Get all Subscription Throttling Policies
*SubscriptionPolicyCollectionApi* | [**throttlingPoliciesSubscriptionPost**](docs/SubscriptionPolicyCollectionApi.md#throttlingPoliciesSubscriptionPost) | **POST** /throttling/policies/subscription | Add a Subscription Throttling Policy
*SubscriptionPolicyIndividualApi* | [**throttlingPoliciesSubscriptionPolicyIdDelete**](docs/SubscriptionPolicyIndividualApi.md#throttlingPoliciesSubscriptionPolicyIdDelete) | **DELETE** /throttling/policies/subscription/{policyId} | Delete a Subscription Policy
*SubscriptionPolicyIndividualApi* | [**throttlingPoliciesSubscriptionPolicyIdGet**](docs/SubscriptionPolicyIndividualApi.md#throttlingPoliciesSubscriptionPolicyIdGet) | **GET** /throttling/policies/subscription/{policyId} | Get a Subscription Policy
*SubscriptionPolicyIndividualApi* | [**throttlingPoliciesSubscriptionPolicyIdPut**](docs/SubscriptionPolicyIndividualApi.md#throttlingPoliciesSubscriptionPolicyIdPut) | **PUT** /throttling/policies/subscription/{policyId} | Update a Subscription Policy
*TenantsApi* | [**getCustomUrlInfoByTenantDomain**](docs/TenantsApi.md#getCustomUrlInfoByTenantDomain) | **GET** /custom-urls/{tenantDomain} | Get custom-url info of a tenant domain 
*TenantsApi* | [**getTenantInfoByUsername**](docs/TenantsApi.md#getTenantInfoByUsername) | **GET** /tenant-info/{username} | Get tenant id of the user 
*WorkflowsIndividualApi* | [**workflowsUpdateWorkflowStatusPost**](docs/WorkflowsIndividualApi.md#workflowsUpdateWorkflowStatusPost) | **POST** /workflows/update-workflow-status | Update workflow status


## Documentation for Models

 - [APICategoryDTO](docs/APICategoryDTO.md)
 - [APICategoryListDTO](docs/APICategoryListDTO.md)
 - [APIInfoDTO](docs/APIInfoDTO.md)
 - [APIInfoListDTO](docs/APIInfoListDTO.md)
 - [AdvancedThrottlePolicyListDTO](docs/AdvancedThrottlePolicyListDTO.md)
 - [ApplicationInfoDTO](docs/ApplicationInfoDTO.md)
 - [ApplicationListDTO](docs/ApplicationListDTO.md)
 - [ApplicationThrottlePolicyListDTO](docs/ApplicationThrottlePolicyListDTO.md)
 - [BlockingConditionDTO](docs/BlockingConditionDTO.md)
 - [BlockingConditionListDTO](docs/BlockingConditionListDTO.md)
 - [ClaimMappingEntryDTO](docs/ClaimMappingEntryDTO.md)
 - [ConditionalGroupDTO](docs/ConditionalGroupDTO.md)
 - [CustomAttributeDTO](docs/CustomAttributeDTO.md)
 - [CustomRuleListDTO](docs/CustomRuleListDTO.md)
 - [CustomUrlInfoDTO](docs/CustomUrlInfoDTO.md)
 - [CustomUrlInfoDevPortalDTO](docs/CustomUrlInfoDevPortalDTO.md)
 - [EmailDTO](docs/EmailDTO.md)
 - [ErrorDTO](docs/ErrorDTO.md)
 - [ErrorListItemDTO](docs/ErrorListItemDTO.md)
 - [FileInfoDTO](docs/FileInfoDTO.md)
 - [KeyManagerDTO](docs/KeyManagerDTO.md)
 - [KeyManagerInfoDTO](docs/KeyManagerInfoDTO.md)
 - [KeyManagerListDTO](docs/KeyManagerListDTO.md)
 - [LabelDTO](docs/LabelDTO.md)
 - [LabelListDTO](docs/LabelListDTO.md)
 - [MediationDTO](docs/MediationDTO.md)
 - [MediationInfoDTO](docs/MediationInfoDTO.md)
 - [MediationListDTO](docs/MediationListDTO.md)
 - [MonetizationInfoDTO](docs/MonetizationInfoDTO.md)
 - [MonetizationUsagePublishInfoDTO](docs/MonetizationUsagePublishInfoDTO.md)
 - [PublishStatusDTO](docs/PublishStatusDTO.md)
 - [SubscriptionThrottlePolicyListDTO](docs/SubscriptionThrottlePolicyListDTO.md)
 - [TenantInfoDTO](docs/TenantInfoDTO.md)
 - [ThrottleConditionDTO](docs/ThrottleConditionDTO.md)
 - [ThrottleLimitDTO](docs/ThrottleLimitDTO.md)
 - [ThrottlePolicyDTO](docs/ThrottlePolicyDTO.md)
 - [TokenValidationDTO](docs/TokenValidationDTO.md)
 - [WorkflowDTO](docs/WorkflowDTO.md)
 - [AdvancedThrottlePolicyDTO](docs/AdvancedThrottlePolicyDTO.md)
 - [AdvancedThrottlePolicyInfoDTO](docs/AdvancedThrottlePolicyInfoDTO.md)
 - [ApplicationThrottlePolicyDTO](docs/ApplicationThrottlePolicyDTO.md)
 - [BandwidthLimitDTO](docs/BandwidthLimitDTO.md)
 - [CustomRuleDTO](docs/CustomRuleDTO.md)
 - [HeaderConditionDTO](docs/HeaderConditionDTO.md)
 - [IPConditionDTO](docs/IPConditionDTO.md)
 - [JWTClaimsConditionDTO](docs/JWTClaimsConditionDTO.md)
 - [QueryParameterConditionDTO](docs/QueryParameterConditionDTO.md)
 - [RequestCountLimitDTO](docs/RequestCountLimitDTO.md)
 - [SubscriptionThrottlePolicyDTO](docs/SubscriptionThrottlePolicyDTO.md)


## Documentation for Authorization

All endpoints do not require authorization.
Authentication schemes defined for the API:

## Recommendation

It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.

## Author

architecture@wso2.com

