API Proxy Groups allow multiple API Proxies to be managed as a group.

Policies added to API Proxy Group and applied settings become effective on all API Proxies in the group, thus providing ease of use for API Proxies that need common policies.

An API Proxy can only be in one API Proxy Group. An API Proxy cannot be added to more than one API Proxy Group.

API Proxy Group List

When the API Proxy Group list is first opened, the available API Proxy Groups are listed as in the image below.


Creating a new API Proxy Group

To create a new API Proxy Group, click the (plus) Create button in the upper right corner of the API Proxy Group List interface.

In the form that opens, at least Name information is entered and the Save button is clicked.


After saving, the API Proxy Group configuration page opens.

Configuring an API Proxy Group 

The configurations in the Overview, Development and Settings tabs are exactly the same as that of the API Proxy, with a few minor differences.

Overview Tab

The picture below shows the Overview Tab:


The fields used for Overview Tab are shown in the table below.

FieldDescription

Name

The name of the API Proxy Group. It is mandatory.

Description

An optional description of the API Proxy Group.

Enable Relative Path

Enables direct access to the API Proxy Group if checked.

Relative Path

The virtual access address to be used to access the API Proxy Group. It is visible and mandatory if the Enable Relative Path option is checked, .

Disable Direct Access to API Proxies


In case the relative path of the API Proxy Group is enabled, direct access to API Proxies may not be desired. In this case, API Proxies added to the API Proxy Group can be closed to direct access with the "Disable Direct Access to API Proxies" option. When this option is enabled, requests to the relative path of any API Proxy in the API Proxy Group will receive the error that the address is inaccessible.
Apply Settings and Policies to Related API Proxies

If the Enable Relative Path option is not checked, the policies and API Proxy Group settings (CORS, Cache, Error Response Template and Forwarded IP Header) in the development tab are applied to all API Proxies.

If Enable Relative Path option is checked, application of API Proxy Group settings (CORS, Cache, Error Response Pattern, Forwarded IP Header and Log Settings) and policies to the API Proxies becomes optional. For this reason, if it is desired to apply these settings and policies to the API Proxies while this option is checked, the Apply Settings to Related API Proxies option should also be checked.

If Apply Settings to Related API Proxies option is not selected, the settings in the API Proxy Group are only applied when the request comes through the API Proxy Group Gateway Address!

While the Apply Settings to Related API Proxies option is checked, If the CORS settings are; 

  • activated in the API Proxy Group, the list values in the two settings are combined, and for singular values, if API Proxy CORS settings are enabled, API Proxy settings are valid, otherwise API Proxy Group settings are valid.
  • not activated in the API Proxy Group, and are activated in the API Proxy, the settings in the API Proxy are valid.
  • activated in the API Proxy Group, and are not activated in the API Proxy, the settings in the API Proxy Group are valid.

When the "Apply Settings to Related API Proxies" option is turned on in other non-CORS settings (Cache, Error Response Template and Forwarded IP Header), first check whether the setting in API Proxy Group is active, and if it is, the setting in API Proxy Group is applied. If it is not active, the setting on API Proxy is applied.

For a detailed explanation of the implementation order of the policies, you can review the "Location and Order of Policies" section on the Development Tab page.

API Proxy Group Key

It is the section where the Public and Private Keys needed for JWT or OAuth2 authorization are managed through the API Proxy Group. See how these keys are managed for an API Proxy for detailed information.

API Proxy Group Settings

For detailed information, see the API Proxy's Overview Tab page, which explains how to make the same settings for API Proxy.


API Proxy Group Key Section

This is the section where the access keys of the API Proxy Group are managed. Access keys are used for the OAuth2 Authentication Policy.

Client Id and Client Secret values ​​are created automatically and the user can request new ones to be created. If any of the keys are regenerated for an installed API Proxy Group, the API Proxy Group must be reinstalled for the keys to be valid.


API Proxy Group Display in Swagger Interface 

After the API Proxy Group is deployed, the Show button for the relevant access address appears in the Deployment section. When this button is clicked, Swagger UI of API Proxy Group and Open API specification information in JSON format are accessed.

Filtering and searching operations can be performed according to various parameters via the Swagger UI tab.


The picture below shows the Spec Info settings:


Accessing API Proxy Group Definition Files

The contents of the definition files are displayed as shown in the figure above when the Show link is clicked and they can be copied from here. However, this method is for users such as API Developers, API Testers which works on the Apinizer platform. Clients (API Consumers) cannot access these interfaces.

Clients can use the URL of the API Proxies to access the definition files as follows:

Let the access URL of an API Proxy Group on Production Environment is https://api.apinizer.com/apigateway/apiProxyGroup.

Then, URLs below can be used to access the definition files:

Swagger 2.x (JSON)

  • https://api.apinizer.com/apigateway/apiProxyGroup?swagger
  • https://api.apinizer.com/apigateway/apiProxyGroup?swagger&format=json
  • https://api.apinizer.com/apigateway/apiProxyGroup?swagger.json

Swagger 2.x (YAML)

  • https://api.apinizer.com/apigateway/apiProxyGroup?swagger&format=yaml
  • https://api.apinizer.com/apigateway/apiProxyGroup?swagger.yaml

OpenAPI 3.x (JSON)

  • https://api.apinizer.com/apigateway/apiProxyGroup?openapi
  • https://api.apinizer.com/apigateway/apiProxyGroup?openapi&format=json
  • https://api.apinizer.com/apigateway/apiProxyGroup?openapi.json

OpenAPI 3.x (YAML)

  • https://api.apinizer.com/apigateway/apiProxyGroup?openapi&format=yaml
  • https://api.apinizer.com/apigateway/apiProxyGroup?openapi.yaml


Settings Tab 

The following settings can be managed for the API Proxy Group via the Settings tab. For details of these settings, see the Settings Tab page.

  • CORS
  • Cache
  • Customizing the XML Error Response Template

  • Customizing the JSON Error Response Template
  • Forwarded IP Header Parameters
  • Ignore Error Response Template: The setting to ignore the Error response template can be set on the basis of API Proxy Group.
  • API Proxy Traffic Log Settings

The picture below shows the Settings Tab:


Development Tab

The policies of the API Proxy Group are managed in the Development tab. For detailed information, see the API Proxy's Development Tab page, which explains how to manage policies for API Proxy.

The picture below shows the Development Tab:


API Proxies Tab

API Proxies and Deployment information within the API Proxy Group are managed from this section. If the Enable Relative Path option is activated, the URL information of the Proxy Group is also added to this table.

If the Disable Direct Access to API Proxies option is active, the URL information of the API Proxy is removed from this table.

If the API Proxies in the API Proxy Group have never been deployed, the URL part will appear empty.

The picture below shows the API Proxies Tab:


Endpoints Tab 

The picture below shows the Endpoints Tab:


Viewing Endpoint Detail

Click the button at the end of the line to view the details of the endpoints.


The picture below shows the endpoint detail:


On this screen, if the Type information of the request or the Model Content of the response is found, the detail can be viewed by clicking it.


Let the addresses to be used in the examples below be:

If the "Enable Relative Path" option is not checked

Access to API Proxies added to the API Proxy Group remains unchanged. Clients continue to access API Proxies via addresses generated based on the Environments they are installed in.

The URL to send the GET request is

https://demo.apinizer.com/apigateway/petstore/pet/findByStatus?status=pending

If the "Enable Relative Path" option is checked

In this case, the method/endpoints of API Proxies can be accessed via the address of the API Proxy Group.

Accessing a method/endpoint of an API Proxy of type REST

URL is found by adding the address of the method/endpoint to the Relative Path specified for the API Proxy Group. API Proxy's Relative Path is ignored!

The URL to send the GET request is:

https://demo.apinizer.com/apigateway/apiProxyGroup1/pet/findByStatus?status=pending


If a method/endpoint is accessed via the API Proxy Group, the address of the API Proxy is ignored. The method/endpoint is treated as if it directly belongs to the API Proxy Group and the URL of the method/endpoint is created with the address of the API Proxy Group.


If there is more than one method/endpoints with the same address and HTTP method in the REST type API Proxies in the API Proxy Group, the request goes to the method/endpoint found first.


Some method/endpoints in other API Proxies within the group may become inaccessible due to a method/endpoint using Path Param in any of the grouped API Proxies.

Accessing a method/endpoint of API Proxy of SOAP type

It is sufficient to send the SOAP message to the URL of the API Proxy Group with the SOAPAction header.

If "Disable Direct Access to API Proxies" option is not checked

Clients can continue to access the method/endpoints of API Proxies added to the API Proxy Group via the API Proxy address.

The URL to send the GET request is

https://demo.apinizer.com/apigateway/petstore/pet/findByStatus?status=pending

If "Disable Direct Access to API Proxies" option is checked

A request message to API Proxy's address will return an error message stating that direct access to that API Proxy has been disabled.

The URL a GET request is sent to

https://demo.apinizer.com/apigateway/petstore/pet/findByStatus?status=pending 

Response:

{
  "fault" : {
    "correlationId" : "c07b793b-e46a-4177-a11f-4a5d94d667ff",
    "faultCode" : "ERR-134",
    "faultString" : "Direct access to ApiProxy is disabled! Access this endpoint over ProxyGroup URL!",
    "faultStatusCode" : "401",
    "responseFromApi" : ""
  }
}
JS