Software AG Products 10.7 | Using API Gateway | REST APIs in API Gateway | API Gateway Administration
 
API Gateway Administration
API Gateway provides the capability to API definitions to administer various functions of the API Gateway.
API Gateway provides the following REST API and the resources to manage API Gateway configuration:
*GET/rest/apigateway/quiescemode : Retrieves the quiesce mode setting in API Gateway.
*PUT/rest/apigateway/quiescemode : Enables or disables the quiesce mode in API Gateway.
Quiesce mode has two block types - designtime and all. Quiesce mode for designtime blocks all the design time API requests to API Gateway server and returns the 503 status code except the GET HTTP method as well as few white-listed APIs like the search API and this API. Quiesce mode for the block type all is an extension of Integration server's Quiesce mode with the addition of flushing of API Gateway in-memory data such as performance metrics, license metrics, and subscription quota to the configured data store. For details about quiesce mode, see Quiesce Mode.
*POST/rest/apigateway/shutdown : Shuts down the API Gateway server.
If the property bounce is set as true, the server would be restarted.
The option parameter specifies whether to shutdown API Gateway server immediately or after all client sessions are ended. A value of force would restart the server immediately and the value drain would wait for a maximum period of time for all the client sessions to end before shutdown.
The property quiesce specifies the quiesce mode for all in API Gateway. A value of true would first flush the API Gateway in memory data like performance metrics, license metrics, and subscription quota to data store before shutdown of the server. Next, when API Gateway is restarted either manually or using bounce parameter, Integration Server starts in Quiesce mode. The default value is false.
*GET/rest/apigateway/rule : Retrieves list of all configured rules in API Gateway.
*POST/rest/apigateway/rule : Creates a conditional rule in API Gateway. The API request body must contain the payload for the rule.
*GET/rest/apigateway/rule/{ruleId} : Retrieves the details of a configured rule in API Gateway.
*PUT/rest/apigateway/rule/{ruleId} : Updates the details of a specified configured rule in API Gateway. The API request body must contain the payload for the updated rule.
*DELETE/rest/apigateway/rule/{ruleId} : Deletes the specified rule in API Gateway.
*PUT/rest/apigateway/rule/{ruleId}/activate : Activate a rule. This request does not require any request body.
*PUT/rest/apigateway/rule/{ruleId}/deactivate : Deactivates a rule. This request does not require any request body.
*GET/rest/apigateway/is/truststore : Retrieves all available truststores from API Gateway.
*POST/rest/apigateway/is/truststore : Creates a truststore in API Gateway.
*GET/rest/apigateway/is/truststore/{truststoreName} : Retrieves an existing truststore matching the given name from API Gateway.
*POST/rest/apigateway/is/truststore/{truststoreName} : Updates an existing truststore in API Gateway.
*DELETE/rest/apigateway/is/truststore/{truststoreName} : Deletes an existing truststore in API Gateway.
*GET/rest/apigateway/licenseUsageDetails: Retrieves the detailed usage information for the transaction based license. The retrieved information contains the maximum number of invocations that is allowed for the current month, the total number of invocations used, and the remaining number of invocations available for the month.
*GET/rest/apigateway/is/proxyBypass : Retrieves a list of all host lists for which outbound proxy servers are skipped. Note that the proxyBypass Id is always proxyBypass.
*POST/rest/apigateway/is/proxyBypass : Updates the proxyBypassAddresses to bypass the outbound proxy servers. The API request body must contain the payload. In the proxyBypassAddresses field, type the fully qualified host and domain name of each server to which you want the Integration Server to issue requests directly. Type the host name and the domain name exactly as they appear in the URLs the server uses. To enter multiple names, separate each with commas. You can use the asterisk (*) to identify several servers with similar names. The asterisk matches any number of characters. For example, if you want to bypass requests made to localhost, www.yahoo.com, home.microsoft.com, and all hosts whose names begin with NYC, you would type: localhost,www.yahoo.com,home.microsoft.com, NYC*.*.
*PUT/rest/apigateway/is/proxyBypass : Creates the proxyBypassAddresses to bypass the outbound proxy servers.
*GET/rest/apigateway/portalGateways : Retrieves API Portal configurations available in API Gateway.
*POST/rest/apigateway/portalGateways : Creates API Portal configuration in API Gateway.
*GET/rest/apigateway/portalGateways/{portalGatewayId} : Retrieves an API Portal configuration in API Gateway.
*PUT/rest/apigateway/portalGateways/{portalGatewayId} : Updates the API Portal configuration in API Gateway.
*DELETE/rest/apigateway/portalGateways/{portalGatewayId} : Deletes the API Portal configuration in API Gateway.
*GET/rest/apigateway/portalGateways/communities: Retrieves the details about communities in API Portal. An API can be published from API Gateway to any of the communities available in API Portal.
*GET/rest/apigateway/portalGateways/packages: Retrieves the details of the published packages that the API is part of.
*GET/rest/apigateway/licenseNotificationCriteria : Retrieves the existing transaction based license notification criteria as a response. Transaction based license notification criteria are like a usage checkpoint and whenever usage reaches that checkpoint, a notification is generated.
*POST/rest/apigateway/licenseNotificationCriteria : Creates the transaction based license notification criteria to monitor the API Gateway usage. This notification criteria has the permitted invocations per month defined in the license file. If you want to get notified when usage reaches a limit before it breaches the license limit, then you have to add a notification criteria by mentioning the usage point so that a notification is generated when usage reaches the specified limit.
*PUT/rest/apigateway/licenseNotificationCriteria : Updates the existing transaction based license notification criteria in API Gateway.
*GET/rest/apigateway/licenseNotificationCriteria/{notificationCriteriaId} : Retrieves the transaction based license notification criteria based on the specified ID.
*DELETE/rest/apigateway/licenseNotificationCriteria/{notificationCriteriaId} : Deletes the transaction based license notification criteria based on the specified ID.
*GET/rest/apigateway/is/jmsTriggers : Retrieves a list of all JMS triggers in API Gateway.
*PUT/rest/apigateway/is/jmsTriggers : Updates the JMS trigger in API Gateway.
*GET/rest/apigateway/is/jmsTriggers/{jmsTriggerId} : Retrieves the specified JMS trigger in API Gateway.
*PUT/rest/apigateway/is/jmsTriggers/{jmsTriggerId}/enable : Enables the specified JMS trigger in API Gateway.
*PUT/rest/apigateway/is/jmsTriggers/{jmsTriggerId}/disable : Disables the specified JMS trigger in API Gateway.
*GET/rest/apigateway/is/jndi: Retrieves a list of all JNDI configurations in API Gateway.
*POST/rest/apigateway/is/jndi: Creates a JNDI configuration in API Gateway. The API request body must contain the payload for the JNDI configuration.
*PUT/rest/apigateway/is/jndi: Updates the JNDI configuration in API Gateway.
*GET/rest/apigateway/is/jndi/{jndiId}: Retrieves the specified JNDI configuration in API Gateway.
*DELETE/rest/apigateway/is/jndi/{jndiId}: Deletes the specified JNDI configuration in API Gateway.
*GET/rest/apigateway/is/jndi/{jndiId}/test: Tests the given JNDI configuration in API Gateway.
*GET/rest/apigateway/is/jndi/template: Retrieves a list of all JNDI templates in API Gateway.
*GET/rest/apigateway/is/keystore : Retrieves all keystores available in API Gateway.
*POST/rest/apigateway/is/keystore : Creates a keystore in API Gateway.
*GET/rest/apigateway/is/keystore/{keyStoreName} : Retrieves the keystore matching the name specified in API Gateway.
*POST/rest/apigateway/is/keystore/{keyStoreName} : Updates an already existing keystore in API Gateway.
*DELETE/rest/apigateway/is/keystore/{keyStoreName} : Deletes the keystore matching the name specified in API Gateway.
*GET/rest/apigateway/is/kerberos : Retrieves the configured Kerberos settings from API Gateway.
*PUT/rest/apigateway/is/kerberos : Persists the configured Kerberos settings in API Gateway.
*GET/rest/apigateway/apitransactions/archives : Retrieves the details of existing archive files and response of this method would be the list of archive file names. You can select one of the archive file names returned by this method and use the POST /apitransactions/archives/{fileName} method to restore.
*POST/rest/apigateway/apitransactions/archives : Archives the runtime events and metrics. You can additionally scope the archive data using input parameter filters. This method returns the job id as the response which is used to know the status of the job.
*POST/rest/apigateway/apitransactions/archives/{fileName} : Restores the runtime data of the archive file that is specified. This method returns the job id as a response to track the status further.
*GET/rest/apigateway/approvals/{approvalId} : Retrieves an approval request based on the approvalId.
*DELETE/rest/apigateway/approvals/{approvalId} : Deletes an approval request based on the approvalId.
*GET/rest/apigateway/approvals : Retrieves all approval requests pending for the user.
*PUT/rest/apigateway/approvals/{approvalId}/{action} : Creates an approval request for the specified action.
*GET/rest/apigateway/apitransactions/typedefinitions : Retrieves the list of runtime event types. The available event types are transactionalEvents, monitorEvents, errorEvents, performanceMetrics, threatProtectionEvents, lifecycleEvents, and policyViolationEvents. You can use these eventType to scope the archive or purge operation.
*GET/rest/apigateway/is/jmsConnections : Retrieves a list of all the JMS connections in API Gateway.
*POST/rest/apigateway/is/jmsConnections : Creates a JMS connection in API Gateway. The API request body must contain the payload for the JMS connection.
*PUT/rest/apigateway/is/jmsConnections : Updates the JMS connections in API Gateway.
*GET/rest/apigateway/is/jmsConnections/{jmsConnId} : Retrieves the specified JMS connection in API Gateway.
*DELETE/rest/apigateway/is/jmsConnections/{jmsConnId} : Deletes the JMS connection based on the JMS connection ID that is specified in the path.
*PUT/rest/apigateway/is/jmsConnections/{jmsConnId}/enable : Enables the specified JMS connection in API Gateway.
*PUT/rest/apigateway/is/jmsConnections/{jmsConnId}/disable : Disables the specified JMS connection in API Gateway.
*GET/rest/apigateway/licenseNotifications : Retrieves the latest notification issued for a transaction based license.
*GET/rest/apigateway/approvalConfigurations: Retrieves a list of available approval configurations in API Gateway.
*POST/rest/apigateway/approvalConfigurations: Creates an approval configuration in API Gateway.
*GET/rest/apigateway/approvalConfigurations/{id}: Retrieves the details of a specified approval configuration in API Gateway.
*PUT/rest/apigateway/approvalConfigurations/{id}: Updates the details of a specified approval configuration in API Gateway.
*DELETE/rest/apigateway/approvalConfigurations/{id}: Deletes the specified approval configuration in API Gateway.
*POST/rest/apigateway/migration: Triggers a migration action and immediately returns a 202 status code. The clean action clears the data from the API Gateway Data store, the reindex action re-indexes the data from the source Elasticsearch to API Gateway Data store, and the transform action transforms the re-indexed assets in the API Gateway Data store to be compatible with the current API Gateway version. The clean action should be invoked on target API Gateway server prior to invoking the reindex API for core indices. The current status of the action can be retrieved using /migration/status API. A webhook event with the migration status also would be sent to the subscribed webhook clients.
*GET/rest/apigateway/migration/status: Retrieves the current status of the migration action which is invoked in API Gateway.
*GET/rest/apigateway/masterPassword: Retrieves the master password properties in API Gateway.
*PUT/rest/apigateway/masterPassword/setExpiry: Updates the expiry interval of the master password in API Gateway.
*PUT/rest/apigateway/masterPassword/update: Updates the master password in API Gateway. On successful update, all the old passwords available will be encrypted using this new master password.
*PUT/rest/apigateway/masterPassword/reset: Resets the master password to the default value in API Gateway. This should be performed when the master password is lost and after a successful reset, Software AG recommends to change the master password again to a secure value.
*GET/rest/apigateway/is/outboundproxy : Retrieves the list of all available outbound proxy server aliases in API Gateway.
*POST/rest/apigateway/is/outboundproxy : Creates the outbound proxy server alias in API Gateway.
*PUT/rest/apigateway/is/outboundproxy : Updates the outbound proxy server alias in API Gateway.
*DELETE/rest/apigateway/is/outboundproxy/{outboundproxyAlias} : Deletes the specified outbound proxy server alias from API Gateway.
*PUT/rest/apigateway/is/outboundproxy/{outboundproxyAlias}/enable: Enables an already existing outbound proxy server alias in API Gateway.
*PUT/rest/apigateway/is/outboundproxy/{outboundproxyAlias}/disable: Disables an already existing outbound proxy server alias in API Gateway.
*GET/rest/apigateway/is/license : Retrieves the license details from API Gateway.
*PUT/rest/apigateway/is/license : Updates the license details in API Gateway.
*GET/rest/apigateway/logAggregation/downloadLogs : Downloads logs from different components used by API Gateway, server configurations, and thread dumps.
*GET/rest/apigateway/webhooks : Retrieves the list of all webhooks in API Gateway.
*POST/rest/apigateway/webhooks : Creates a webhook in API Gateway. The API request body must contain the payload of the webhook that needs to be saved.
*GET/rest/apigateway/webhooks/{id} : Retrieves the details of a webhook in API Gateway.
*PUT/rest/apigateway/webhooks/{id} : Updates the details of a specific webhook in API Gateway. The API request body must contain the payload of the webhook that needs to be updated.
*DELETE/rest/apigateway/webhooks/{id} : Deletes a webhook resource from API Gateway.
*GET/rest/apigateway/apitransactions/jobs/{jobId} : Retrieves the status of a specific job. This method returns the status and file name (in case of archive process) as a response.
*GET/rest/apigateway/apitransactions/jobs : Retrieves a list of pending jobs. Every time you initiate archive, restore or purge process you get the job id as a response. You can use the specific job id to query the status of the initiated operation.
*GET/rest/apigateway/configurations/loadBalancer: Retrieves information about the load balancer configured.
*PUT/rest/apigateway/configurations/loadBalancer: Updates the load balancer configuration information.
*GET/rest/apigateway/configurations/whiteListingIPs: Retrieves the details of the whitelisting IPs configuration in API Gateway.
*PUT/rest/apigateway/configurations/whiteListingIPs: Updates the details of the whitelisting IPs configuration in API Gateway.
*GET/rest/apigateway/configurations/settings: Retrieves the list of the extended settings watt properties from API Gateway.
*PUT/rest/apigateway/configurations/settings: Updates or creates a list of the extended settings and watt properties in API Gateway.
*GET/rest/apigateway/configurations/apiCallBackSettings: Retrieves the API callback processor settings from API Gateway.
*PUT/rest/apigateway/configurations/apiCallBackSettings: Updates or creates API callback processor settings in API Gateway. The user should have Manage general administration configurations privilege to update the API callback processor settings.
*GET/rest/apigateway/configurations/errorProcessing: Retrieves the configured error template and the value of the property sendNativeProviderFault, which enables the server to forward the native error as it is.
*PUT/rest/apigateway/configurations/errorProcessing: Updates the default error template with any custom templates and the value of the property sendNativeProviderFault.
*GET/rest/apigateway/configurations/keystore: Retrieves the details of the default keystore, truststore and alias settings in API Gateway.
*PUT/rest/apigateway/configurations/keystore: Updates the details of the default keystore, truststore and alias configurations in API Gateway.
*GET/rest/apigateway/configurations/gatewayDestinationConfig: Retrieves the details of the API Gateway destination. API Gateway can publish events and performance metrics data. By default, error events, lifecycle events, policy violation event, and performance data are published to API Gateway.
*PUT/rest/apigateway/configurations/gatewayDestinationConfig: Updates the details of the API Gateway destination in API Gateway.
*GET/rest/apigateway/configurations/auditlogDestinationConfig: Retrieves the details of the Audit Log destination in API Gateway. Audit log captures the API runtime invocations performed in API Gateway. The audit log data is written to a file or a database based on the configurations. Transactions events are written to the audit log only when the Audit Log is selected as a destination in Log Invocation policy.
*PUT/rest/apigateway/configurations/auditlogDestinationConfig: Updates the details of the Audit Log destination in API Gateway.
*GET/rest/apigateway/configurations/centraSiteDestinationCommunicationConfig : Retrieves the communication details of the CentraSite destination in API Gateway. API Gateway can publish events and metrics to the configured CentraSite destination.
*PUT/rest/apigateway/configurations/centraSiteDestinationCommunicationConfig : Updates the communication details of the CentraSite destination in API Gateway.
*GET/rest/apigateway/configurations/centraSiteDestinationSNMPConfig : Retrieves the SNMP details of the CentraSite destination in API Gateway. API Gateway can publish events and metrics to the configured CentraSite destination.
*PUT/rest/apigateway/configurations/centraSiteDestinationSNMPConfig : Updates the SNMP details of the CentraSite destination in API Gateway.
*GET/rest/apigateway/configurations/jdbcDestinationConfig: Retrieves details of the Database destination in API Gateway. API Gateway can publish events and metrics to the configured database.
*PUT/rest/apigateway/configurations/jdbcDestinationConfig: Updates the details of the database destination in API Gateway.
*GET/rest/apigateway/configurations/desDestinationConfig: Retrieves details of the Digital Events destination in API Gateway. Digital Event Services (DES) enables API Gateway to communicate by exchanging digital events. Digital events are typed and serialized data structures that are used to convey or record information about the execution of a runtime.
*PUT/rest/apigateway/configurations/desDestinationConfig: Updates the details of the Digital Events destination in API Gateway.
*GET/rest/apigateway/configurations/elasticsearchDestinationConfig: Retrieves details of the Elasticsearch destination in API Gateway. API Gateway can publish events and metrics to the configured Elasticsearch destination.
*PUT/rest/apigateway/configurations/elasticsearchDestinationConfig: Updates the details of the Elasticsearch destination in API Gateway.
*GET/rest/apigateway/configurations/snmpDestinationConfig: Retrieves details of the SNMP destination in API Gateway. API Gateway can publish events and metrics to the configured third party SNMP destination.
*PUT/rest/apigateway/configurations/snmpDestinationConfig: Updates the details of the SNMP destination in API Gateway.
*GET/rest/apigateway/configurations/emailDestinationConfig: Retrieves details of the Email destination in API Gateway. API Gateway can send alerts to the email ID specified either in the Log Invocation, Monitor Performance, Monitor Level Agreement or Traffic Optimization policies through the configured Email destination.
*PUT/rest/apigateway/configurations/emailDestinationConfig: Updates the details of the Email destination in API Gateway.
*GET/rest/apigateway/configurations/apiPortalDestinationConfig: Retrieves details of the API Portal destination configuration. API Gateway can publish events and performance metrics data. By default, error events, lifecycle events, policy violation event, and performance data are published to API Portal.
*PUT/rest/apigateway/configurations/apiPortalDestinationConfig: Updates the details of the API Portal destination in API Gateway.
*GET/rest/apigateway/configurations/cache: Retrieves the cache configuration in API Gateway.
*PUT/rest/apigateway/configurations/cache: Updates the cache configuration in API Gateway.
*GET/rest/apigateway/configurations/customContentTypes: Retrieves the configured custom content types in API Gateway. Custom content types can be defined for base types XML,JSON and Text. These Custom types can be then used for payload processing in policies like Content based routing,Identify and access and Conditional error processing.
*PUT/rest/apigateway/configurations/customContentTypes: Updates the configured custom content types in API Gateway. The response is a set of key/value pair where key indicates the custom content type and value indicates the base type. The value can be application/xml or application/json or text/xml.
*GET/rest/apigateway/configurations/ldapConfig: Retrieves the LDAP configuration settings configured in API Gateway.
*PUT/rest/apigateway/configurations/ldapConfig: Updates the LDAP configuration settings configured in API Gateway.
*GET/rest/apigateway/configurations/passwordRestrictions: Retrieves the password restrictions settings configured in API Gateway.
*PUT/rest/apigateway/configurations/passwordRestrictions: Saves the password restrictions settings configured in API Gateway.
*GET/rest/apigateway/configurations/passwordExpiry: Retrieves the password expiry settings configured in API Gateway.
*PUT/rest/apigateway/configurations/passwordExpiry: Saves the password expiry settings configured in API Gateway.
*GET/rest/apigateway/configurations/denyByIPForFailedAuthConfig: Retrieves the configuration of global IP access setting for authentication based restrictions in API Gateway.
*PUT/rest/apigateway/configurations/denyByIPForFailedAuthConfig: Saves the global IP access setting for authentication based restriction settings in API Gateway.
*GET/rest/apigateway/configurations/accountLockSettings: Retrieves the account lock settings configured in API Gateway.
*PUT/rest/apigateway/configurations/accountLockSettings: Saves the account lock expiry settings configured in API Gateway.
*GET/rest/apigateway/configurations/logConfig: Retrieves the log settings of various components used by API Gateway.
*PUT/rest/apigateway/configurations/logConfig: Updates the details of the log configuration in API Gateway.
*POST/rest/apigateway/assets/owner: Changes ownership of API Gateway assets.
*POST/rest/apigateway/assets/team: Changes the team of API Gateway asset.
*GET/rest/apigateway/urlaliases: Retrieves all URL Aliases or a URL Alias with a particular ID in API Gateway (if the query parameter alias is provided).
*POST/rest/apigateway/urlaliases: Creates a new URL alias in API Gateway.
*PUT/rest/apigateway/urlaliases: Updates an existing URL alias in API Gateway.
*DELETE/rest/apigateway/urlaliases: Deletes a URL alias in API Gateway.
*GET/rest/apigateway/is/cluster : Retrieves the configured cluster settings from API Gateway.
*PUT/rest/apigateway/is/cluster : Updates the cluster settings in API Gateway.
*GET/rest/apigateway/is/webServiceEndpoints : Retrieves list of all Webservice endpoints in API Gateway.
*POST/rest/apigateway/is/webServiceEndpoints : Creates a Webservice endpoint in API Gateway. The API request body must contain the payload for the Webservice endpoint.
*PUT/rest/apigateway/is/webServiceEndpoints : Updates the Webservice endpoint in API Gateway.
*GET/rest/apigateway/is/webServiceEndpoints/{webServiceEndpointId} : Retrieves the specified Webservice endpoint in API Gateway.
*DELETE/rest/apigateway/is/webServiceEndpoints/{webServiceEndpointId} : Deletes the specified Webservice endpoint in API Gateway.
*GET/rest/apigateway/apitransactions: Retrieves the API transactions data. The data to be downloaded is filtered based on the input parameters. The user should be part of API-Gateway-Administrators group or should have Manage purge and restore runtime events privilege to perform this operation.
*DELETE/rest/apigateway/apitransactions: Purges the API transactions data and the data to be purged is filtered based on the input parameters. This method returns the job id as response and the job id is used to track the job status.
*GET/rest/apigateway/configurations/jsonWebToken: Retrieves the details of the API Gateway JSON Web Token (JWT) configuration. API Gateway can generate a JWT itself or validate the JWT generated by a trusted third party server. JWT is a JSON-based open standard (RFC 7519) means of representing a set of information to be securely transmitted between two parties. A set of information is the set of claims (claim set) represented by the JWT. A claim set consists of zero or more claims represented by the name-value pairs, where the names are strings and the values are arbitrary JSON values.
*PUT/rest/apigateway/configurations/jsonWebToken: Updates the details of the JWT configuration in API Gateway.
For details about the REST API, see the APIGatewayAdministration.json at SAGInstallDir/IntegrationServer/instances/default/packages/WmAPIGateway/resources/apigatewayservices.
For details on sample payloads, import Postman collection from the following link in Postman client: https://github.com/SoftwareAG/webmethods-api-gateway/blob/10.7/apigatewayservices/postmancollections/apis/administration-service/AdministrationService.json.