API Proxy APIs
These are the services used for saving, deleting, updating and listing API Proxies in the project.
1.Get All API Proxies for Specified Project
Description/Purpose: After successful access to this service, API Proxies in the project whose name is sent as parameter are listed.
Permission: The user seeking access to services must have a role within the project with "Manage Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/
HTTP Method: GET
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project to be queried |
Request Body: (none)
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { ], |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
2.Create an API Proxy from URL
Description/Purpose: It enables the creation of an API proxy by reading the API definition file from the URL address.
See deploy/undeploy endpoint details for API Proxy's deploy/undeploy operations.
Permission: The user seeking access to services must have a role within the project with "Manage Proxies" permissions to access services. If deployment operations are also to be performed after creating the service, the user should also have "Deploy/Undeploy Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/url
HTTP Method: POST
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Content-Type | application/json |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project to which API Proxy is to be added |
Request Body:
{
"apiProxyCreationType": "SWAGGER",
"specUrl": "https://petstore.swagger.io/v2/swagger.json",
"specAuthorizationValueList": [
{
"value": "string",
"type": "string",
"keyName": "string"
}
],
"soapToRest": false,
"reParse": false,
"apiProxyName": "api proxy name",
"apiProxyDescription": "api proxy description",
"apiProxyRelativePath": "/relative_path",
"routingInfo": {
"loadBalanceAlgorithm": "WEIGHTED",
"routingAddressList": [
{
"address": "<backend Api address>",
"weight": "<long>"
},
{
"address": "<backend Api address>",
"weight": "<long>"
}
],
"connectTimeout": "<integer>",
"readTimeout": "<integer>",
"retryCount": "<integer>",
"failoverRetryCount": "<integer>",
"ignoreRoutingError": "<boolean>"
},
"deploy": "<boolean>",
"deployTargetEnvironmentNameList": [
"<string>",
"<string>"
]
}
Field | Description |
---|---|
apiProxyCreationType | Specifies the type of definition file that the API Proxy to be created will reference. It can take WSDL, SWAGGER, OPEN_API, REVERSE_PROXY values. |
specUrl | If one of the WSDL, SWAGGER, OPEN_API values is sent as the apiProxyCreationType value, the address of the definition file is included in this field. If the REVERSE_PROXY value is sent as the apiProxyCreationType value, this field is not sent. |
specAuthorizationValueList | It is used for authorization information that the definition file at specUrl may need. |
soapToRest | If apiProxyCreationType value is WSDL (that is, if the service is of SOAP type) and it is desired to be opened as REST, its value is sent as "true" and this service is created as REST API Proxy with default values. This parameter is not required. |
reParse | This value is sent as "true" if an existing ApiProxy definition file is desired to be recreated or if the differences are to be reflected to the existing API Proxy. This parameter is not required. |
apiProxyName | The name value of the API Proxy. This parameter is required. |
apiProxyDescription | The description value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, description is overridden by new value. |
apiProxyRelativePath | The relative path value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, path is overridden by new value. |
routingInfo | This element is not required but if sent with request message settings will be applied to Api Proxy Routing. Please refer to this page for more information. Values of "loadBalanceAlgorithm" field can be: ROUND_ROBIN, LRU, WEIGHTED, RANDOM |
deploy | This element is not required but if sent with request message and its value is "true", it means after create/save operation of API Proxy, it will be deployed to environments that are specified in "deployTargetEnvironmentNameList" |
deployTargetEnvironmentNameList | This element holds the target environments that Api Proxy must be deployed if deploy element's value is true. |
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
3.Update an API Proxy from URL
Description/Purpose: After successful access to this service, a new API Proxy is created or if exists it will be updated with new values in spec file. Update operation is done by reparsing the target spec file.
See deploy/undeploy endpoint details for API Proxy's deploy/undeploy operations.
Permission: The user seeking access to services must have a role within the project with "Manage Proxies" permissions to access services. If deployment operations are also to be performed after creating the service, the user should also have "Deploy/Undeploy Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/url
HTTP Method: PUT
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Content-Type | application/json |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project to which API Proxy is to be added |
Request Body:
{
"apiProxyCreationType": "SWAGGER",
"specUrl": "https://petstore.swagger.io/v2/swagger.json",
"specAuthorizationValueList": [
{
"value": "string",
"type": "string",
"keyName": "string"
}
],
"soapToRest": false,
"apiProxyName": "api proxy name",
"apiProxyDescription": "api proxy description",
"apiProxyRelativePath": "/relative_path",
"routingInfo": {
"loadBalanceAlgorithm": "WEIGHTED",
"routingAddressList": [
{
"address": "<backend Api address>",
"weight": "<long>"
},
{
"address": "<backend Api address>",
"weight": "<long>"
}
],
"connectTimeout": "<integer>",
"readTimeout": "<integer>",
"retryCount": "<integer>",
"failoverRetryCount": "<integer>",
"ignoreRoutingError": "<boolean>"
},
"deploy": "<boolean>",
"deployTargetEnvironmentNameList": [
"<string>",
"<string>"
]
}
Field | Description |
---|---|
apiProxyCreationType | Specifies the type of definition file that the API Proxy to be created will reference. It can take WSDL, SWAGGER, OPEN_API, REVERSE_PROXY values. |
specUrl | If one of the WSDL, SWAGGER, OPEN_API values is sent as the apiProxyCreationType value, the address of the definition file is included in this field. If the REVERSE_PROXY value is sent as the apiProxyCreationType value, this field is not sent. |
specAuthorizationValueList | It is used for authorization information that the definition file at specUrl may need. |
soapToRest | If apiProxyCreationType value is WSDL (that is, if the service is of SOAP type) and it is desired to be opened as REST, its value is sent as "true" and this service is created as REST API Proxy with default values. This parameter is not required. |
apiProxyName | The name value of the API Proxy. This parameter is required. |
apiProxyDescription | The description value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, description is overridden by new value. |
apiProxyRelativePath | The relative path value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, path is overridden by new value. |
routingInfo | This element is not required but if sent with request message settings will be applied to Api Proxy Routing. Please refer to this page for more information. Values of "loadBalanceAlgorithm" field can be: ROUND_ROBIN, LRU, WEIGHTED, RANDOM |
deploy | This element is not required but if sent with request message and its value is "true", it means after create/save operation of API Proxy, it will be deployed to environments that are specified in "deployTargetEnvironmentNameList" |
deployTargetEnvironmentNameList | This element holds the target environments that Api Proxy must be deployed if deploy element's value is true. |
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
4.Create an API Proxy from Spec File
Description/Purpose: After successful access to this service, a new API Proxy is created. API Specification File is used to create API Proxy.
See deploy/undeploy endpoint details for API Proxy's deploy/undeploy operations.
Permission: The user seeking access to services must have a role within the project with "Manage Proxies" permissions to access services. If deployment operations are also to be performed after creating the service, the user should also have "Deploy/Undeploy Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/file
HTTP Method: POST
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Content-Type | multipart/form-data |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project to which API Proxy is to be added |
Request Form Data Parameters:
Parameter | Value |
---|---|
metadata | Metada information for creating API Proxy |
specFile | Definition file uploaded as a file. If WSDL is desired to be loaded and XSDs imported in WSDL are imported as files, these files are uploaded by zipping together. (You can visit Uploading a WSDL File with Multiple Schemas page for details.) |
Metadata Sample:
|
Field | Description |
---|---|
apiProxyCreationType | Specifies the type of definition file that the API Proxy to be created will reference. It can take WSDL, SWAGGER, OPEN_API, REVERSE_PROXY values. |
soapToRest | If WSDL comes as apiProxyCreationType value (that is, if the service is of SOAP type) and it is desired to be opened as REST, its value is sent as "true" and this service is created as REST API Proxy with default values. This parameter is not required. |
reParse | This value is sent as "true" if an existing ApiProxy definition file is desired to be recreated or if the differences are to be reflected to the existing API Proxy. This parameter is not required. |
apiProxyName | The name value of the API Proxy. This parameter is required. |
apiProxyDescription | The description value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, description is overridden by new value. |
apiProxyRelativePath | The relative path value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, path is overridden by new value. |
routingInfo | This element is not required but if sent with request message settings will be applied to Api Proxy Routing. Please refer to this page for more information. Values of "loadBalanceAlgorithm" field can be: ROUND_ROBIN, LRU, WEIGHTED, RANDOM |
deploy | This element is not required but if sent with request message and its value is "true", it means after create/save operation of API Proxy, it will be deployed to environments that are specified in "deployTargetEnvironmentNameList" |
deployTargetEnvironmentNameList | This element holds the target environments that Api Proxy must be deployed if deploy element's value is true. |
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
5.Update an API Proxy from Spec File
Description/Purpose: After successful access to this service, a new API Proxy is created or if exists it will be updated with new values in spec file. Update operation is done by reparsing the target spec file.
See deploy/undeploy endpoint details for API Proxy's deploy/undeploy operations.
Permission: The user seeking access to services must have a role within the project with "Manage Proxies" permissions to access services. If deployment operations are also to be performed after creating the service, the user should also have "Deploy/Undeploy Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/file
HTTP Method: POST
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Content-Type | multipart/form-data |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project to which API Proxy is to be added |
Request Form Data Parameters:
Parameter | Value |
---|---|
metadata | Metada information for creating API Proxy |
specFile | Definition file uploaded as a file. If WSDL is desired to be loaded and XSDs imported in WSDL are imported as files, these files are uploaded by zipping together. (You can visit Uploading a WSDL File with Multiple Schemas page for details.) |
Metadata Sample:
|
Field | Description |
---|---|
apiProxyCreationType | Specifies the type of definition file that the API Proxy to be created will reference. It can take WSDL, SWAGGER, OPEN_API, REVERSE_PROXY values. |
soapToRest | If WSDL comes as apiProxyCreationType value (that is, if the service is of SOAP type) and it is desired to be opened as REST, its value is sent as "true" and this service is created as REST API Proxy with default values. This parameter is not required. |
reParse | This value is sent as "true" if an existing ApiProxy definition file is desired to be recreated or if the differences are to be reflected to the existing API Proxy. This parameter is not required. |
apiProxyName | The name value of the API Proxy. This parameter is required. |
apiProxyDescription | The description value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, description is overridden by new value. |
apiProxyRelativePath | The relative path value of the API Proxy. This parameter is required for first creation of API Proxy. It is not required for reParse operation but if it is sent with reparse, path is overridden by new value. |
routingInfo | This element is not required but if sent with request message settings will be applied to Api Proxy Routing. Please refer to this page for more information. Values of "loadBalanceAlgorithm" field can be: ROUND_ROBIN, LRU, WEIGHTED, RANDOM |
deploy | This element is not required but if sent with request message and its value is "true", it means after create/save operation of API Proxy, it will be deployed to environments that are specified in "deployTargetEnvironmentNameList" |
deployTargetEnvironmentNameList | This element holds the target environments that Api Proxy must be deployed if deploy element's value is true. |
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
6.Delete an API Proxy
Description/Purpose: After successful access to this service, the API Proxy with the name sent as a parameter is undeployed and deleted from all environments.
Permission: The user seeking access to services must have a role within the project with both "Manage Proxies" and "Deploy/Undeploy Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/{apiProxyName}
HTTP Method: DELETE
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project where the API Proxy to be deleted is located |
apiProxyName | The full name of the API Proxy that is being deleted |
Request Body: (none)
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
7. Deploy API Proxy to the Environment
Description/Purpose: After successful access to this service, the API Proxy with the name sent as a parameter is deployed to the specified environment.
Permission: The user seeking access to services must have a role within the project with both "Manage Proxies" and "Deploy/Undeploy Proxies" permissions.
HTTP Method: POST
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project with the API Proxy to act on |
apiProxyName | The full name of the API Proxy to be processed |
environmentName | The name of the processing environment |
Request Body: (none)
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
8. Undeploy API Proxy from the Environment
Description/Purpose: After successful access to this service, it is ensured that the specified API Proxy with the name sent as a parameter is undeployed from the specified environment.
Permission: The user seeking access to services must have a role within the project with both "Manage Proxies" and "Deploy/Undeploy Proxies" permissions.
HTTP Method: DELETE
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Accept | application/json |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project with the API Proxy to act on |
apiProxyName | The full name of the API Proxy to be processed |
environmentName | The name of the processing environment |
Request Body: (none)
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
9. Export an API Proxy
Description/Purpose: It facilitates the export of the settings of the API Proxy with the name provided as a parameter in a zipped JSON file format.
Permission: The user seeking access to services must have a role within the project with "Manage Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/{apiProxyName}/export/
HTTP Method: GET
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project with the API Proxy to act on |
apiProxyName | The full name of the API Proxy to be processed |
Request Body: (none)
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | Zip file |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
10. Import an API Proxy by not overriding existing one
Description/Purpose: It enables the import of the API Proxy, along with the settings in the zipped JSON file format, into the specified project from the request. If there is no API Proxy with the provided name in the project, to avoid naming conflicts, it appends the "-imported" suffix to the imported API proxy's name and relative path.
Permission: The user seeking access to services must have a role within the project with "Manage Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/import/
HTTP Method: POST
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Content-Type | multipart/form-data |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project with the API Proxy to act on |
Request Form Data Parameters:
Parameter | Value |
---|---|
apiProxyExportFile | The uploaded version of the configuration definition file in JSON format that has been exported and zipped. |
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |
11. Import an API Proxy by overriding existing one
Description/Purpose: It facilitates the import of the API Proxy in the zipped JSON file format along with its settings into the specified project from the request. If there is an existing API Proxy with the provided name in the project, it overrides it with the settings provided here.
Permission:The user seeking access to services must have a role within the project with "Manage Proxies" permissions.
Endpoint: https://<APINIZER_MANAGER_ADDRESS>/apiops/projects/{projectName}/apiProxies/import/
HTTP Method: PUT
Request Headers:
Header | Value |
---|---|
Authorization | <ACCESS_TOKEN> Tokens are required to access this endpoint. For detailed information on how to get tokens, you can visit the Authorization API page. |
Content-Type | multipart/form-data |
Request Path Parameters:
Parameter | Value |
---|---|
projectName | The full name of the project with the API Proxy to act on |
Request Form Data Parameters:
Parameter | Value |
---|---|
metadata | Metadata required for API Proxy settings. |
apiProxyExportFile | The uploaded version of the configuration definition file in JSON format that has been exported and zipped. |
Example Metadata:
{
"routingInfo": {
"loadBalanceAlgorithm": "WEIGHTED",
"routingAddressList": [
{
"address": "<backend Api address>",
"weight": "<long>"
},
{
"address": "<backend Api address>",
"weight": "<long>"
}
],
"connectTimeout": "<integer>",
"readTimeout": "<integer>",
"retryCount": "<integer>",
"failoverRetryCount": "<integer>",
"ignoreRoutingError": "<boolean>"
},
"deploy": "<boolean>",
"deployTargetEnvironmentNameList": [
"<string>",
"<string>"
]
}
Field | Description |
---|---|
routingInfo | This element is not required but if sent with request message settings will be applied to Api Proxy Routing. Please refer to this page for more information. Values of "loadBalanceAlgorithm" field can be: ROUND_ROBIN, LRU, WEIGHTED, RANDOM |
deploy | This element is not required but if sent with request message and its value is "true", it means after create/save operation of API Proxy, it will be deployed to environments that are specified in "deployTargetEnvironmentNameList" |
deployTargetEnvironmentNameList | This element holds the target environments that Api Proxy must be deployed if deploy element's value is true. |
Response:
Status | Status Code | Description | Body |
---|---|---|---|
Success | 200 | successful operation | { |
Error | 400 | bad request | { "error": "...", "error_description": "..." } |
Error | 401 | not authorized for this operation | { |
Error | 500 | internal error | { "error": "...", "error_description": "..." } |