Webmethod API
Webmethod API
Webmethod API
Version 10.3
October 2018
This document applies to webMethods API Cloud: API Gateway Version 10.3 and to all subsequent releases.
Specifications contained herein are subject to change and these changes will be reported in subsequent release notes or new editions.
Copyright © 2016-2018 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or
its affiliates and/or their licensors.
The name Software AG and all Software AG product names are either trademarks or registered trademarks of Software AG and/or
Software AG USA Inc. and/or its subsidiaries and/or its affiliates and/or their licensors. Other company and product names mentioned
herein may be trademarks of their respective owners.
Detailed information on trademarks and patents owned by Software AG and/or its subsidiaries is located at
hp://softwareag.com/licenses.
Use of this software is subject to adherence to Software AG's licensing conditions and terms. These terms are part of the product
documentation, located at hp://softwareag.com/licenses and/or in the root installation directory of the licensed product(s).
This software may include portions of third-party products. For third-party copyright notices, license terms, additional rights or
restrictions, please refer to "License Texts, Copyright Notices and Disclaimers of Third Party Products". For certain specific third-party
license restrictions, please refer to section E of the Legal Notices available under "License Terms and Conditions for Use of Software AG
Products / Copyright and Trademark Notices of Software AG Products". These documents are part of the product documentation, located
at hp://softwareag.com/licenses and/or in the root installation directory of the licensed product(s).
Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with
Software AG.
Table of Contents
APIs............................................................................................................................................... 131
Overview................................................................................................................................. 132
Creating an API by Importing an API from a File.................................................................. 135
Creating an API by Importing an API from a URL................................................................. 135
Creating an API from Scratch................................................................................................ 136
Overview of Creating a REST API from Scratch............................................................ 136
Creating a REST API...................................................................................................... 142
API Mashups.......................................................................................................................... 153
Creating an API Mashup.................................................................................................157
Viewing API List and API Details........................................................................................... 160
REST API Details............................................................................................................ 160
SOAP API Details............................................................................................................162
OData API Details........................................................................................................... 163
Filtering APIs.......................................................................................................................... 166
Activating an API.................................................................................................................... 166
Deactivating an API................................................................................................................167
Publishing APIs.......................................................................................................................167
Publishing APIs to API Portal......................................................................................... 167
Publishing a Single API to API Portal......................................................................168
Publishing Multiple APIs to API Portal in a Single Operation...................................169
Publishing APIs to Service Registries.............................................................................170
Publishing a Single API to Service Registries......................................................... 171
Publishing Multiple APIs to Service Registries in a Single Operation...................... 172
Unpublishing APIs.................................................................................................................. 172
Unpublishing APIs from API Portal................................................................................. 172
Unpublishing a Single API from API Portal..............................................................172
Unpublishing Multiple APIs from API Portal in a Single Operation.......................... 173
Unpublishing APIs from a Service Registry.................................................................... 174
Unpublishing a Single API from Service Registries................................................. 175
Unpublishing Multiple APIs from Service Registries in a Single Operation.............. 175
Modifying API Details............................................................................................................. 176
Updating APIs.........................................................................................................................177
Updating an API by Importing an API from a File...........................................................178
Updating an API by Importing an API from a URL......................................................... 179
API Mocking............................................................................................................................181
Enabling API Mocking..................................................................................................... 182
Modifying API Mocking Details........................................................................................182
Custom Replacer.............................................................................................................185
Attaching Documents to an API............................................................................................. 185
SOAP to REST Transformation..............................................................................................187
Policies..........................................................................................................................................225
Overview................................................................................................................................. 226
Policy Validation and Dependencies...................................................................................... 228
Managing Threat Protection Policies......................................................................................236
Configuring Global Denial of Service Policy................................................................... 236
Configuring Denial of Service by IP Policy..................................................................... 238
Managing Denied IP List.................................................................................................239
Configuring Rules............................................................................................................ 239
Registering a Mobile Device or Application.................................................................... 245
Configuring Alert Settings................................................................................................246
System-defined Stages and Policies......................................................................................246
Transport..........................................................................................................................247
Enable HTTP/HTTPS............................................................................................... 247
Set Media Type........................................................................................................ 248
Identify and Access......................................................................................................... 248
Inbound Authentication - Message.......................................................................... 249
Identify and Authorize Application............................................................................253
Request Processing.........................................................................................................259
Invoke webMethods IS.............................................................................................259
Aliases...........................................................................................................................................391
Overview................................................................................................................................. 392
Creating a Simple Alias..........................................................................................................392
Creating an Endpoint Alias.....................................................................................................393
Creating an HTTP Transport Security Alias........................................................................... 394
Creating a SOAP Message Security Alias............................................................................. 398
Creating a webMethods Integration Server Service Alias......................................................402
Creating an XSLT Transformation Alias................................................................................. 403
Applications..................................................................................................................................405
Overview................................................................................................................................. 406
Creating an Application.......................................................................................................... 407
Viewing List of Applications and Application Details.............................................................. 415
Regenerating API Access Key............................................................................................... 415
Modifying Application Details..................................................................................................416
Registering an API with Consumer Applications from API Details Page................................416
Registering APIs with Consumer Applications from Application Details Page....................... 417
Suspending an Application..................................................................................................... 418
Activating a Suspended Application....................................................................................... 418
Publishing a Package.............................................................................................................427
Viewing List of Plans and Plan Details.................................................................................. 427
Modifying a Plan.....................................................................................................................428
Deleting a Plan....................................................................................................................... 429
Import Archives............................................................................................................................431
Importing Exported Files.........................................................................................................432
This guide describes how you can use API Gateway and other API Gateway components
to effectively manage APIs for services that you want to expose to applications, whether
inside your organization or outside to partners and third parties.
To use this guide effectively, you should have an understanding of the APIs that you
want to expose to the developer community and the access privileges you want to
impose on those APIs.
Document Conventions
Convention Description
Italic Identifies:
Variables for which you must supply values specific to your own
situation or environment.
New terms the first time they occur in the text.
References to other documentation sources.
Monospace Identifies:
font
Text you must type in.
Messages displayed by the system.
Program code.
{} Indicates a set of choices from which you must choose one. Type
only the information inside the curly braces. Do not type the { }
symbols.
Convention Description
... Indicates that you can type multiple options of the same type.
Type only the information. Do not type the ellipsis (...).
Software AG TECHcommunity
You can find documentation and other technical information on the Software AG
TECHcommunity website at “hp://techcommunity.softwareag.com”. You can:
Access product documentation, if you have TECHcommunity credentials. If you do
not, you will need to register and specify "Documentation" as an area of interest.
Access articles, code samples, demos, and tutorials.
Use the online discussion forums, moderated by Software AG professionals, to
ask questions, discuss best practices, and learn how other customers are using
Software AG technology.
Link to external websites that discuss open standards and web technology.
Data Protection
Software AG products provide functionality with respect to processing of personal data
according to the EU General Data Protection Regulation (GDPR). Where applicable,
appropriate steps are documented in the respective administration documentation.
Note: Software AG recommends using API Gateway user interface for all the
functionalities provided by API Gateway and not use the Integration Server
user interface.
API Gateway provides routing policies such as content-based, and context-based, for
run-time requests between applications and native services. These policies perform
routing and load balancing of incoming requests to an API.
Message transformation
API Gateway lets you configure an API and to transform the request and response
messages to suit your requirements. To do this, you can specify an XSLT file to
transform messages during the mediation process. You can also configure an API
to invoke Integration Server services to pre-process and post-process the request or
response messages. You can use only the pre-shipped Integration Server services.
Easy discovery and testing of APIs
API Gateway provides filter capabilities to quickly find APIs of interest. API
descriptions and additional documentation, usage examples, and information about
policies enforced at the API level provide more details to the developers that help them
decide whether to adopt a particular API. Developers can use the provided samples and
expected error and return codes to see how the API works.
Clustering support
Multiple instances of API Gateway can be clustered together to provide scalability and
high availability.
Built-in usage analytics
API Gateway provides information about Gateway-specific events and API-specific
events, details about which APIs are more popular than others. The Gateway-specific
events information is available by way of dashboards to users. With this information,
providers can understand how their APIs are being used, which in turn can help identify
ways of improving their users' experience and increase API adoption.
Packages and Plans
API Gateway provides capabilities to create and manage packages and plans. This helps
the API providers in providing tiered access to their APIs to allow different service
levels and pricing plans. Users can view the details of the package, such as included
APIs and associated plans. Plans provide information about pricing and quality of
service terms defined within them. Consumers can subscribe to any plan available under
the package, based on their business needs.
API Mashups
API Gateway allows you to consolidate services and expose them as a single service.
You can create API mashups that extend an API operation by grouping it with other API
operations available in API Gateway.
items that contain one or more specified keywords (that is, text strings) in the item's
properties. Some of the properties are name, description, version, key, value, and so on
in the API.
You can search for the following types of data:
APIs
Applications
Alias
Plans
Packages
To search for an item, type a string in the search box in the title navigation bar. A list of
search result is displayed directly below the Search box. The number of matches found
are displayed in five sections depending on the type they fit in: APIs, Application, Alias,
Packages, and Plans. A minimum of five search results are displayed in each category. If
there are no results as per the search string typed, a message displays saying so.
If you find what you are searching for in the search result box, click on it to view
the details. You are navigated to the specific page that displays more information.
For example, if you are searching for an API and click the displayed result, you are
navigated to the specified API details page. If you are searching for an application and
click the displayed result, you are navigated to the specified Application details page
If you want to see all the search results click Show all results in the search result box. The
Advanced search page is displayed. This is a dedicated page that displays extensive
search results. In the Advanced search page, you can search or filter the results in the
following ways: by type or keyword.
By type: Select one or more types in the left navigation pane to see search results
pertaining to the selected types. For example, if you select the type APIs, all the APIs
that have the specified string is displayed.
By keyword: Type a keyword in the Search by keyword field, all the search results
containing the specified keyword are displayed in the list. For example, if you type
the keyword petstore, all search results containing the petstore would be filtered
and displayed.
Note: You cannot search for REST resources and methods in a REST API. The
search function only works for the name and description of the REST API. For
example, you can search for a REST API named LibraryAPI. But you cannot
search for a REST resource named book or a REST method POST within the
REST API. However, the search function works for name, description, and
operations of SOAP APIs.
You cannot search for resources and methods of an OData API.
You can access API Gateway Help link by expanding the menu options icon , in the
title bar and selecting Help. This opens the introduction to the webMethods API Gateway
page in the help system. You can browse the required topics in the navigation pane.
Click on a topic to display the detailed information. You will also find the help links in
the form of a help icon on several pages of the API Gateway user interface. Click the
help icon on the page to view the corresponding detailed information.
General Configuration
You must have the API Gateway's manage general administration configurations
functional privilege assigned to perform the following configurations in the general
configuration section of API Gateway:
Configure the extended seings which are advanced parameters required for your
server to operate properly.
Configure API fault seings for errors being returned by the API Gateway to the
applications.
Configure approval seings.
Configure URL aliases.
Configure the custom content-types.
Configure API callback request seings.
Configure transaction alerts seings.
allowExceedMaxWindowSize
Provide the value true to exceed the maximum window size configured and
false to avoid exceeding the maximum window size.
apiDocumentsRestrictedExtension
Specify a list of restricted file extensions to prevent users from uploading
files with those extensions as the input document to API. For example, a file
with the .exe file extension could contain executable code that run on demand
when it is downloaded. If files with the .exe file extension are restricted, users
cannot upload a file with the .exe extension in API Gateway.
By default, several standard file extensions are blocked, including any file
extensions that are treated as executable files by Windows Explorer. The file
extensions blocked by default are:
.bat - Batch file
.bin - Binary file
apiDocumentsUploadSizeLimitInMB
Provide a value (in MB) to restrict the size of the document that can be
uploaded as the input document to API. It is important to set this to a
reasonable limit, but not too large to avoid uploading files that are too large
and can slow down the system.
Default value is 5.
apig_MENConfiguration_tickInterval
Provide a value to specify the time interval (in seconds) between each interval
processor iteration. This must be an evenly divisible fraction of the smallest
policy interval, which is one minute.
Default value is 15.
If you have configured the result window size in elastic search, specify the
configured value to fetch results accordingly.
apig_rest_service_redirect
Provide the value true to redirect the incoming service requests to one of the
following directives that API Gateway supports in addition to the /gateway
directive:
/ws
/mediator
apig_schemaValidationPoolSize
Provide a value that specifies the schema validation pool size.
The default value is 10.
apiGroupingPossibleValues
Specifies the groups that the APIs would be grouped under.
The default groups provided are Finance Banking and Insurance,Sales
and Ordering,Search,Transportation and Warehousing
You can delete or add new groups that the APIs can be grouped under.
apiKeyExpirationPeriod
Specifies the length of time that the API key is valid. The key expires after
the set number of minutes, hours, days, months, or years. If a value is not
specified, then the API key never expires. The expiration date is computed as
follows:
When a new application is created: Expiration date = The time when an
application is created + The value specified in the apiKeyExpirationPeriod
parameter.
When an API access key is regenerated: Expiration date = The current
time of the application in the system + The value specified in the
apiKeyExpirationPeriod parameter.
apiKeyHeader
Provide the header value from which API Gateway receives the API key.
The default value is x-Gateway-APIKey
apiMaturityStatePossibleValues
Specify the API maturity state values that can be set for an API.
The default values provided are Beta, Deprecated, Experimental,
Production, Test.
decodeAllDelimitersInURI
The default value is false.
When set to false the URI in the request is not decoded.
When set to trueit overrides the limiters and decodes the complete path to
get a meaningful URI.
defaultEncoding
Specify the default encoding format.
The default value is UTF-8.
enableHotdeploy
This parameter is used to enable hot deploy function in API Gateway.
The default value is true, which means the hot deployment functionality is
enabled.
You can change the value to false if you want to disable hot deployment.
esScrollTimeout
Provide a value that specifies the time out interval for fetching the result that
is greater than maxWindowSize.
Default value is the time, in milliseconds, required to fetch the records
specified in maxWindowSize.
events.collectionPool.maxThreads
Provide a value that specifies the maximum number of threads to be used for
event data collection. This value must be greater than or equal to the value of
events.CollectionPool.minThreads.
Default value is 8.
events.collectionPool.minThreads
Provide a value that specifies the minimum number of threads to be used for
event data collection. Specifying more threads means that API Gateway can
collect more data faster, but it increases the usage of system resources, which
could result in slower service execution.
Default value is 1.
events.collectionQueue.size
Provide a value that specifies the size of the collection work queue to be
used during event data collection. This queue is used only when there are
not enough collection pool threads to process all the data. For example, if
event.CollectionPool.maxThreads is set to 10 and the 10 threads are not
sufficient for processing all the data, then the unprocessed data is put into the
collection work queue. If the queue capacity is reached, then any additional
data is lost.
Default value is 10000 items of data allowed in the queue.
Specifying a large queue and a small collection pool minimizes CPU usage
and operating system resources, but this can lead to low throughput which
causes delays in data collection. Using a small collection work queue
generally requires larger collection pool sizes, which keeps CPUs busier.
This avoids the delay but may encounter unacceptable scheduling overhead,
which also decreases service execution.
events.reportingPool.maxThreads
Provide a value that specifies the maximum number of threads to be used for
event data reporting. This value must be greater than or equal to the value of
events.ReportingPool.minThreads.
Default value is 4.
events.reportingPool.minThreads
Provide a value that specifies the minimum number of threads to be used
for event data reporting. Specifying more threads means that API Gateway
can send more events to the event destination faster, but it also increases the
usage of system resources, which could result in slower service execution.
Default value is 2.
events.reportingQueue.size
Provide a value that specifies the size of the reporting work queue to be
used during event data reporting. This queue is used only when there are
not enough reporting pool threads to process all the data to be reported. For
example, if events.ReportingPool.maxThreads is set to 10, and the 10
threads are not sufficient for processing all the data, then the unprocessed
data is put into the reporting work queue. If the queue capacity is reached,
then any additional data is lost.
Default value is 5000 items of data allowed in the queue.
Specifying a large queue and a small reporting pool minimizes CPU usage
and operating system resources, but this can lead to low throughput which
causes delays in data reporting. Using a small reporting work queue
generally requires larger reporting pool sizes, which keeps CPUs busier.
This avoids the delay but may encounter unacceptable scheduling overhead,
which also decreases service execution
forwardInternalAPIsRequest
This parameter is required in the case of a paired gateway deployment
scenario using an Advanced Edition license at DMZ.
The default value is false.
Provide the value true to forward the incoming requests to internal APIs that
are deployed in the green zone.
Following are the internal APIs and their URIs for which this parameter is
required and its value must be set to true:
getOAuthToken - /pub/apigateway/oauth2/getAccessToken
OAuth Authorization - /pub/apigateway/oauth2/authorize
getOpenIdToken - /pub/apigateway/openid/getOpenIDToken
openIDCallbackService - /pub/apigateway/openid/openIDCallback
getJWTToken - /pub/apigateway/jwt/getJsonWebToken
maxAllowedZipFileSize
Provide a value to specify the maximum zip file size allowed.
The default value is 100000000.
maxWindowSize
Provide a value to set the result window size that specifies the number of
records per query.
Default value is 10000.
pg_Active_OpenID_Provider
Specifies the unique identifier (ID) of an active OpenID Provider.
pg_JWT_isHTTPS
Provide a value to specify the transport protocol over which the JSON Web
Tokens (JWTs) are granted authorization.
Available values are:
true. Sets the transport protocol HTTPS. This is set by default.
pg_oauth2_isHTTPS
Provide a value to specify the transport protocol over which the OAuth 2.0
access tokens are granted authorization.
Available values are:
true. Sets the transport protocol HTTPS. This is set by default.
pg_OpenID_isHTTPS
Provide a value to specify the transport protocol over which the OpenID (ID)
tokens are granted authorization.
Available values are:
true. Sets the transport protocol HTTPS. This is set by default.
pg_xslt_disableDoctypeDeclarations
Disables the xslt doc type declarations.
The default value is true.
pg_xslt_enableDOM
Provide the value true to enable DOM parsing.
The value false disables the DOM parsing and enables other parsers
pg_xslt_enableSecureProcessing
Provide the value false to disable the use of extensions by default.
The default value is true.
pg.3pSnmpSender.sendDelay
This is an internal parameter. Do not modify.
pg.cs.snmpTarget.base64Encoded
This is an internal parameter. Do not modify.
pg.cs.snmpTarget.connTimeout
Specify the number of milliseconds before an inactive connection to the
SNMP target server is closed. If set to 0, the socket remains open indefinitely.
pg.cs.snmpTarget.maxRequestSize
Specify the maximum size (in bytes) for SNMP traps.
The default value is 10485760.
pg.cs.snmpTarget.retries
Specify the number of times to resend SNMP traps upon failure.
The default value is 1.
This parameter works with pg.cs.snmpTarget.sendTimeOut to determine the
delay in re-sending SNMP traps to malfunctioning SNMP servers (that is, it
retries*sendTimeOut). This means that if the retries parameter is set to 3, and
the sendTimeOut parameter is set to 500 milliseconds, there is a 1.5 second
delay before the thread sending the alert is available to send another event.
Malfunctioning event destinations could delay the amount of time it takes
API Gateway to report events, or it could cause discarded events when the
queue reaches its maximum level.
pg.cs.snmpTarget.sendTimeOut
Specify the time (in milliseconds) to wait before the SNMP trap times out
because the server destination is not responding.
This value schedules a timer that resends an SNMP event that has not yet
completed when it expires. You must set a timeout value that ensures that
pg.lb.failoverOnDowntimeErrorOnly
Specify API Gateway's behavior for load-balanced endpoints. The default
value is true, which means that API Gateway fails over only if the service
fault is a downtime error. If the parameter is set to false, then in a load-
balanced routing scenario, if a service fault is encountered in the response
coming from endpoint 1, then API Gateway immediately tries the next
configured endpoint. There is no distinction on the type of fault present in
the response from endpoint 1.
pg.snmp.communityTarget.base64Encoded
Specify whether to use a third-party SNMPv1 community-based connection.
If set to true, the community name must be the Base64 value.
The default value is false.
pg.snmp.communityTarget.maxRequestSize
Specifies the maximum size (in bytes) for SNMP traps.
The default value is 65535.
pg.snmp.communityTarget.retries
Specify the number of times to resend SNMP traps upon failure.
The default value is 1.
This parameter works with pg.snmp.communityTarget.sendTimeOut
to determine the delay in re-sending SNMP traps to malfunctioning
SNMP servers (that is, it retries *sendTimeOut). This means that if the
retries parameter is set to 3, and the sendTimeOut parameter is set to 500
milliseconds, there is a 1.5 second delay before the thread sending the alert
is available to send another event. Malfunctioning event destinations could
pg.snmp.communityTarget.sendTimeOut
Specify the time (in milliseconds) to wait before the SNMP trap times out
because the server destination is not responding. This value schedules a timer
that resends an SNMP event that has not yet completed when it expires.
You must set a timeout value that ensures that the trap is sent to the SNMP
server within the time frame. This parameter does not abort an event that is
in progress. Set this parameter higher than the default when sending traps
with large payloads.
The default value is 500.
This parameter works with pg.snmp.communityTarget.retries to determine
the delay in re-sending SNMP traps to non-responsive SNMP servers (that
is, it retries *sendTimeOut). This means that if the retries parameter is set to
3, and the sendTimeOut parameter is set to 500 milliseconds, there is a 1.5
second delay before the thread sending the alert is available to send another
event. Malfunctioning event destinations could delay the amount of time it
takes API Gateway to report events, or it could cause discarded events when
the queue reaches its maximum level.
pg.snmp.customTarget.connTimeout
Specify the number of milliseconds before an inactive connection to the third-
party SNMP server is closed. If set to 0, the socket remains open indefinitely.
pg.snmp.userTarget.maxRequestSize
Specify the maximum size (in bytes) for SNMP traps.
The default value is 65535.
pg.snmp.userTarget.retries
Specify the number of times to resend SNMP traps upon failure.
The default value is 1.
This parameter works with pg.snmp.userTarget.sendTimeOut to determine
the delay in re-sending SNMP traps to malfunctioning SNMP servers (that
is, it retries *sendTimeOut). This means that if the retries parameter is set to
3, and the sendTimeOut parameter is set to 500 milliseconds, there is a 1.5
second delay before the thread sending the alert is available to send another
event. Malfunctioning event destinations could delay the amount of time it
takes API Gateway to report events, or it could cause discarded events when
the queue reaches its maximum level.
pg.snmp.userTarget.sendTimeOut
Specifies the time (in milliseconds) to wait before the SNMP trap times out
because the server destination is not responding. This value schedules a timer
that resends an SNMP event that has not yet completed when it expires.
You must set a timeout value that ensures that the trap is sent to the SNMP
server within the time frame. This parameter does not abort an event that is
in progress. Set this parameter higher than the default when sending traps
with large payloads.
The default value is 500.
This parameter works with pg.snmp.userTarget.retries to determine the
delay in resending SNMP traps to malfunctioning SNMP servers (that is, it
retries *sendTimeOut). This means that if the retries parameter is set to 3, and
the sendTimeOut parameter is set to 500 milliseconds, there is a 1.5 second
delay before the thread sending the alert is available to send another event.
Malfunctioning event destinations could delay the amount of time it takes
API Gateway to report events, or it could cause discarded events when the
queue reaches its maximum level.
pg.uddiClient.publish.maxThreads
Specify the maximum allowed number of threads to publish the performance
metrics data to CentraSite.
The default value is 2.
pg.uddiClient.uddiClientTimeout
Specify the number of milliseconds that can elapse before not publishing
performance metrics to an unavailable API Gateway instance.
The default value is 5000.
pgmen.quotaSurvival.addLostIntervals
Specifies if the lost intervals from the recovered quota should be added.
pgmen.quotaSurvival.interval
Specifies the number of seconds that elapses before the quota survival
processor task runs.
saveAuditlogsWithPayload
Specifies whether the audit logs have to be saved along with payload.
The default value is true, which specifies that the audit logs have to saved
with payload.
The value false specifies that audit logs are not saved with payload.
sendClientRequestURI
The default value is false.
Decodes the URI that comes in a request to API Gateway without changing
the path of the URL before sending it out to the native service.
When the value is set to true the URI is sent as is without decoding. It
encodes the unicode character contained in the request.
setDefaultContentType
Specifies that default content type is set.
The default value is true
transformerPoolSize
Provide the transformer pool size.
5. You can configure the wa parameters in the Wa keys section by providing the
required values.
The configured wa keys are listed under Wa seings below the Extended keys at
the top of the page.
6. Click Save.
If you do not select this option then API Gateway sends the default error message.
4. Specify the error message text in the Default error message text box that is sent out
when the Send native provider fault is not selected.
5. Click Save.
Approval Configuration
API Gateway allows you to configure an approval process to ensure that the requests are
valid. If the requests are invalid, API Gateway enables approvers to reject the requests.
API Gateway allows you to configure approvals for:
Create application: To enforce approvals for creating an application in API Gateway.
Register application: To enforce approvals for associating an application with APIs.
Update application: To enforce approvals for modifying an application.
Subscribe package: To enforce approvals in API Gateway to enable API Portal
consumers for subscribing a package to a plan in API Portal.
In API Gateway, you can create an application and associate (register) the application
created with APIs. If you have the API Gateway's manage general administration
configurations functional privilege assigned, you can configure approvals for creating
or registering an application. If you have configured approvers, and if a user wants to
create and register an application in API Gateway, then the application is created and
registered with an API only if any one approver from the approvers group approves
the create application and the register application requests. Similarly, you can configure
approvals for updating an application or subscribing a package.
You can configure a set of different approvers for creating or registering applications.
For example, if you have configured an approvers group, group1 to approve or reject
a create application request and an approvers group, group2 to approve or reject a
register application request, then when a user creates and registers an application in API
Gateway, then the create application request must be approved by any one approver in
group1 . When the application is created, the register application request is sent to the
approvers in group2 and this register application request must be approved by any one
approver in group2 . When the request is approved, the application created is registered
to an API. However, if any one user from group2 rejects the request, then the application
gets created but is not register to an API.
API Gateway approvals can also be used when API Gateway is integrated with API
Portal and an API Portal API consumer uses the API get access token to register an
application to an API in API Gateway. In this scenario, API Portal implicitly sends
a request to API Gateway to create an application. When the approvers approve the
create application request, an application is created in API Gateway and then API
Gateway initiates a register application request and the approvers approve the register
application request. The application is registered to an API which is published to API
Portal. The consumer is now able to view and manage the API in API Portal.
Similarly, you can configure approvals for subscribing a package in API Gateway,
when an API consumer subscribes to a package in API Portal. API Gateway receives
the package subscription request and the approvers in the approvers group approve
or reject the request for subscribing a package. When the request is approved, the
acknowledgement is sent to API Portal and the package is subscribed.
Note: If a user is associated with the Administrators access profile, then the user
can approve or reject a pending request even if the user is not associated
with the Approvers group.
Field Description
Field Description
Note: The email notifications are sent only to the local API Gateway users.
Field Description
Field Description
12. Click Cancel to revert to the last saved changes or to abandon all the changes if the
values are not saved.
13. Click Save.
Note: If a user is associated with the Administrators access profile, then the user
can approve or reject a pending request even if the user is not associated
with the Approvers group.
This is to configure the email template to be sent to the approver for associating an
application with APIs.
7. Provide the following information in the Configure approval initiate request mail template
to be sent to approve section:
Field Description
Note: The email notifications are sent only to the local API Gateway users.
Field Description
Field Description
Approval of Register Application in the email sent,
where Register Application is the event.type.
Field Description
12. Click Cancel to revert to the last saved changes or to abandon all the changes if the
values are not saved.
13. Click Save.
Note: If a user is associated with the Administrators access profile, then the user
can approve or reject a pending request even if the user is not associated
with the Approvers group.
Field Description
Note: The email notifications are sent only to the local API Gateway users.
Field Description
Field Description
12. Click Cancel to revert to the last saved changes or to abandon all the changes if the
values are not saved.
13. Click Save.
Note: If a user is associated with the Administrators access profile, then the user
can approve or reject a pending request even if the user is not associated
with the Approvers group.
Field Description
Note: The email notifications are sent only to the local API Gateway users.
Field Description
Field Description
Field Description
For example, Approval of @event.type appears as
Approval of Subscribe Package in the email sent,
where Subscribe Package is the event.type.
12. Click Cancel to revert to the last saved changes or to abandon all the changes if the
values are not saved.
13. Click Save.
Field Description
Field Description
Deleting Requests
When you perform a task, for example, you create an application in API Gateway, then
an approval request is generated if an approval is configured in API Gateway and this
request that is waiting for approvers approval is listed in the Pending Request section. If
you want to delete this request, you can delete it from the Pending Request section.
To delete a request
1. Expand the menu options icon , in the title bar, and select Pending Requests.
2. Select My requests.
A list of requests appears with the detailed information of the request.
3. Click the Delete icon for the request that has to be deleted.
4. Click Yes in the confirmation dialog.
URL Aliases
A URL alias is an alias that you create to replace a portion of the URL to an API on API
Gateway. The URL alias typically replaces the path portion of the URL which identifies
the name and invocation endpoint of the API. For example, if the URL is http://
test:2225/gateway/RESTCalcService/1.0, you can create a URL alias, calc for an
API, then the name and invocation endpoint of the API on API Gateway is replaced with
calc, for example, http://test:2225/calc. If the client sends a request that contains
the matching alias, then the corresponding URL path is invoked.
In addition to associating a URL alias with a single resource, you can also map different
resources for each port, therefore, based on the incoming port, the corresponding
resource path is invoked. This makes it possible to define a single URL alias that resolves
to different destinations based on the incoming port of the HTTP request.
URL aliases have several benefits:
A URL alias may be easier to type than full URL path names.
A URL alias is more secure than URL path names.
The URL aliases page displays a list of available URL aliases with the corresponding
details including the default URL path, port it is mapped to, and so on. You must have
the Manage aliases functional privilege assigned to manage the alias information.
Note: Any modifications to the URL aliases in Integration Server do not reflect in
API Gateway. Hence, Software AG recommends that you do not modify the
aliases through Integration Server Administrator. On migration from 10.0 to
10.1, the existing configuration in 10.0 is migrated to the API Gateway UI.
Field Description
Port number The port number to use when accessing the API.
When API Gateway receives a request that contains a URL
alias,API Gateway resolves the request destination by first
determining if there is a URL path associated with the
incoming port. If there is no URL path mapped to the port
number, then API Gatewayuses the default URL path for
Field Description
the alias as the request destination. The port mappings are
always evaluated first.
Because the URL path can be different for each port, using
port mappings allows the use of a single URL alias with
multiple destinations. Each port can have only one URL
path mapping. You can add port mappings to multiple
destinations by clicking the +Add buon.
URL path The URL path for the URL alias and for port number
mapped for the URL alias.
The URL path cannot include a space or the following
characters: # % ? ’ “ < \
4. Click Save.
Note: If you intend to delete all of the port mappings for a URL alias, make sure the
URL alias specifies a Default URL Path value.
The request URL matches the calc alias and resolves to the path: https://
MyHost:9072/gateway/RESTCalcService/1.0/deleteCalc.
API Gateway retains the trailing characters of the request URL. In this case, API
Gateway retains the /deleteCalc.
To enable API Gateway to use partial matching of URL requests, you must set the value
of the parameter watt.server.url.alias.partialMatching to true in Integration
Server (in the Integration Server Administrator, go to Settings > Extended link). The
default is false. For more information on configuring partial matching of URL aliases
using Integration Server, see webMethods Integration Server Administrator’s Guide.
Important: If you change the seing of this parameter, you must restart Integration
Server for the changes to take effect.
hp://test:4000/gateway/RESTCalcService/1.0
hp://test:4010/gateway/RESTCalcService/1.0
hp://test:5555/gateway/RESTCalcService/1.0
Also, the RESTCalcService consists of the postCalc resource path that adds two numbers.
If this API is published to the API consumer then the invocation endpoint for the
consumer may appear as:
hps://test:5555/gateway/RESTCalcService/1.0/postCalc
If you do not want to expose the API name and path information or if you want to
shorten the invocation endpoint as it is complex, then you can create a custom URL alias.
To create a URL alias:
1. Expand the menu options icon , in the title bar, and select Administration.
2. Select General > URL aliases.
3. Click Add URL alias and provide the following values:
Field Value
Alias calc
4. Click Save.
Suppose, the URL alias name provided while creating a URL alias is calc. You can now
expose the hps://test:5555/calc invocation endpoint to the API consumer instead of
hps://test:5555/gateway/RESTCalcService/1.0/postCalc.
With the default URL path specified in alias configuration, the API consumer can use
this URL alias for any ports of gateway endpoint shown in the API details page, for
example,
hp://test:2225/calc
hp://test:4000/calc
hp://test:4010/calc
hp://test:5555/calc
Additionally, you can use port mapping, if you want to use the same alias for a different
resource path. This can be done by providing a different resource path for each port,
instead of the default URL path in alias configuration. To use the same alias for a
different resource path:
1. Expand the menu options icon , in the title bar, and select Administration.
Field Value
Alias calc
4. Click +Add to add port mappings to multiple destinations and provide the following
values:
Field Value
5. Click Save.
Note: As the Default URL path is not provided, the incoming call for ports other
than 4000 and 5555 fails. If the Default URL path is provided then the port
mapping takes the first precedence. If the value of the port does not match,
then the Default URL path is used.
For the alias calc, each port is mapped to a different resource, for the invocation
endpoint:
hps://test03:4000/calc: RESTCalcService/1.0/deleteCalc resource is invoked.
hps://test03:4010/calc: error appears as the default URL is not provided and a path
is not configured for the 4010 port.
hps://test03:5555/calc: RESTCalcService/1.0/postCalc resource is invoked.
Custom Content-types
An API Provider can configure custom content-types based on how the payloads in the
incoming or outgoing requests have to be processed. If the native API consumes some
custom content-type, the API Provider can configure a mapping between this custom
content-type and a base content-type so that the schema validation, and identification in
the policies are performed based on the base type.
For example, a native API consumes application/xyz content-type. The API provider
creates an API for this native API and enforces the Validate API Specification policy and
the API definition has schema mapping for application/json. When the request reaches
API Gateway and as there is no content-type schema mapping for application/xyz, the
schema validation is skipped. In such scenarios, if the API provider creates a custom
content-type mapping in the API Gateway UI with the content type as application/xyz
and base type as JSON, then the payload in the incoming request is validated against the
JSON schema.
The following table explains the different identifiers and payload validation criteria that
can be used for various content types that you can use to configure your custom content-
types.
text/xml
text/html
multipart/form-data
multipart/mixed
application/json/badgerfish
Note: The custom content-type feature is not supported for the SOAP to REST
transformed APIs.
If this option is not selected then API Gateway accepts the HTTP callback requests
and processes the requests before routing them to the client.
5. Select Process only allowed IPs requests. This allows API Gateway to receive the
callback requests only from the IP addresses specified in the Trusted IP addresses
list.
API Gateway allows callback requests only from the allowed IPs configured in
Trusted IP address list. You can configure your native APIs machine IPs or the native
API outbound proxy server IPs here, so API Gateway allows a request coming from
the native API and would then be routed to the client.
If there are no trusted IPs configured and this option is selected, then API Gateway
does not allow any requests.
6. Type the IP address in the Trusted IP address and Add.You can add multiple IP
addresses.
API Gateway allows only requests coming from these IP addresses when the option
Process only allowed IPs requests is selected.
7. Click Save.
Transaction Alerts
API Gateway supports core as well as transaction-based licensing model. When API
Gateway uses a transaction-based licensing model, then each service invocation is
considered as a transaction and API Gateway keeps a track of these transactions. API
Gateway transactions for the current month is compared with the maximum number of
transactions allowed in a month. The maximum number of transactions that are allowed
in a month The transaction limit is based on the subscription that you have chosen.
When the calculated transaction count is higher than the maximum transactions allowed
per month, users are notified through an email, through a notification that appears in
the API Gateway UI or through a configured webhook. You must have the manage user
administration functional privilege assigned to view the usage details in the Analytics >
API usage details page.
Field Description
Notify through The user can be notified through one or both of the
following ways by selecting the appropriate options:
Email: Select this option and provide a valid email
address to which the license alerts are sent. You can add
multiple email addresses by clicking .
Webhook: You have to configure the webhook to invoke a
HTTP call back to send the transaction alert notifications.
Select this option and provide the following information:
URL: Mandatory. Specifies the REST endpoint URL to
invoke the HTTP call back to.
Username: The username information to be sent
through the Authorization header.
Password: The username information to be sent
through the Authorization header.
Header key: The HTTP header key that should be
included in the header of API requests
Header value: The HTTP header value that should be
included in the header of API requests
4. Click Save.
Schema
When you select the webhook to invoke a HTTP callback to send an alert notification the
following response payload is sent in the webhook notification.
{
"type": "object",
"properties": {
"notificationSetForPercentage": {
"type": "integer",
"title": "The notification percentage",
"description": "The transaction limit percentage at which notifications
should be generated.",
"examples": [
90
]
},
"totalTransactions": {
"type": "integer",
"title": "The number of transactions allocated",
"description": "The total number of transactions per month allocated
for a particular customer.",
"examples": [
10000000
]
},
"usedTransactions": {
"type": "integer",
"title": "The number of transactions consumed ",
"description": "The total number of transactions consumed presently
by the consumers.",
"examples": [
1000000
]
},
"percentageUsed": {
"type": "integer",
"title": "The percentage of transaction usage ",
"description": "The rate of transaction usage computed as
usedTransactions/totalTransactions.",
"examples": [
10
]
},
"notificationSentDate": {
"type": "integer",
"title": "The date of notification",
"description": "The date (in long value) at which the notification was
generated for the transaction limit consumption.",
"examples": [
1524646797
]
}
},
"required": [
"notificationSetForPercentage",
"totalTransactions",
"usedTransactions",
"percentageUsed",
"notificationSentDate"
]
}
Security Configuration
You must have the API Gateway's manage security configurations functional privilege
assigned to perform the following tasks in the security configuration section of API
Gateway:
Configure the keystores and truststores required for incoming message-level
security.
Configure the SAML issuer to use in API Gateway outbound authentication to fetch
the SAML token from the STS (Security Token Service).
Configure the custom assertions to use in inbound authentication of API Gateway.
Configure Kerberos seings.
Configure JSON web token(JWT), OAuth, and OpenID authorization servers and
third-party providers.
The truststore file functions as a database containing all the public keys for CAs within a
specified trusted directory.
To enable the two-way SSL for an API Gateway service, you must add a valid,
authorized X.509 certificate along with the private key in a keystore file, and the
certificate of the client or partner in the truststore file. These keystore and truststore files
have to referred to in the HTTPs port that is used to access the API Gateway service.
API Gateway has a sample keystore that contains self-signed certificates. Software AG
recommends not to use them for configuring SSL communication with API Gateway in a
production environment.
Note: Any modifications to the keystore and truststore aliases in Integration Server
do not reflect in API Gateway. Hence, Software AG recommends that you
do not modify the aliases through the Integration Server Administrator. On
migration from 10.0 to 10.1, the existing configuration in 10.0 is migrated to
the API Gateway UI.
Field Description
Field Description
5. Click OK.
All the key aliases in the uploaded file are listed.
6. Type a password for the required key alias.
7. Click Save.
The keystore is configured and the alias listed in the keystore alias table.
Note: If a wrong password has been provided for the keystore or one of its
aliases, API Gateway saves the keystore but it is not loaded. The keystore
alias is displayed as the loaded icon with an X mark in the keystore listing.
Field Description
Upload truststore file Select a truststore file of the specified type using
Browse. Select the required file and upload it.
Field Description
5. Click Save.
The truststore is configured and the alias listed in the truststore alias table.
Note: If a wrong password has been entered for the truststore, API Gateway
saves the truststore but it is not loaded. The truststore alias is displayed as
the loaded icon with an X mark in the truststore listing.
Field Description
Field Description
Key alias (signing) Select the alias for the private key to sign the
outgoing response from API Gateway to the
original client.
This alias value validates the inbound requests
to API Gateway and signs the outgoing response
from API Gateway to the original client. It is auto-
populated based on the keystore selected. This
field lists all the aliases available in the chosen
keystore. If there are no configured keystores, this
field is empty.
4. Click Save.
Note: While securing the SOAP APIs using WS-Security policies, you have to
perform the following: restart the server after configuring keystore and
truststore information for the configuration to take effect. This is not required
for REST APIs.
1. Deactivate the APIs that have Inbound Authentication - Message policy
enforced.
2. Update the keystore and truststore configuration.
3. Activate the APIs that were deactivated.
Note: If the keystore file is not updated during the edit, then clicking Save closes
the form. If a different keystore file is uploaded, then the list of aliases in
the file is loaded and you are prompted to configure the passwords for the
aliases.
SAML Issuer
If a native API is enforced with the SAML policy, API Gateway uses this configuration to
communicate to STS (Security Token Service) to retrieve the SAML token.
Field Description
Normal client Selecting this sets the client that requests the SAML
token.
Field Description
Authenticate using. Specify the type of authentication you want to use while
communicating with the SAML issuer.
For the Authentication type WSS Username, authenticate using the following:
For the Authentication type Kerberos, authenticate using any of the following:
Field Description
Field Description
WS-Trust version Specify the WS-Trust version that API Gateway must
use to send the RST to the SAML issuer.
Available values are: WS-Trust 1.0, WS-Trust 1.3
Signing configurations
Field Description
Key alias (signing) Specify the key alias, a private key used to sign the
request sent to STS.
Encryption configurations
Certificate alias Select the certificate from the truststore used to encrypt
(Encryption) the request that is sent to the STS.
5. Click Add.
This adds the SAML issuer and it is listed in the SAML issuers list.
Custom Assertions
API Gateway uses WS-Security (WSS) to provide message-level security and protection
for SOAP message requests from a client to an API, and SOAP message responses from
an API to a client. By default, API Gateway supports the WSS policies like Username,
X.509 certificate, Security Assertion Markup Language (SAML), Kerberos, Encryption,
and so on, for the request or response SOAP messages, or both.
API Gateway also provides an extension to define and use custom policy assertions.
Custom assertions allow the API providers to extend and provide additional security
policies that are not available by default in API Gateway.
In WS-Security, custom assertions are used for expressing individual security
requirements, constraints, or both. The individual policy assertions can be combined
to create security policies that ensure secure and reliable exchanges of SOAP messages
between a client and a SOAP API.
API Gateway supports the following assertion types for enforcing a custom security
policy:
Binding Assertions
These assertions specify the security mechanism that is to be used by the client or API
such as the keys being used, algorithms, and so on. Common properties used by other
assertions are also defined in the security binding assertion.
API Gateway supports the following WS-SecurityPolicy binding assertions:
Asymmetric This assertion is used when both the initiator and the
Binding recipient possess security tokens. In this binding, initiator
uses it's private key to sign and the recipient's public key
to encrypt. Recipient uses it's private key to decrypt and
initiator's public key to verify the signature.
Token Assertions
These assertions specify the types of tokens to be used to authenticate and secure SOAP
messages.
API Gateway supports the following WS-SecurityPolicy token assertions:
Note: API Gateway supports both the SAML 1.1 and 2.0
standards.
Policy Assertions
API Gateway allows you to even define a complete custom policy assertion. For
example, a policy assertion might specify a symmetric binding and the security token
types that are used to digitally sign or encrypt SOAP messages between the client and
API.
You might want to create a custom assertion when you want to:
Enforce symmetric binding with an authentication mechanism that is not available
by default in API Gateway.
Support signing and encryption at the desired level.
Modify the predefined encryption algorithm and security layout properties.
Enforce custom authentication tokens that are not available by default in API
Gateway.
Important: When creating a custom assertion, make sure that both the syntax and the
semantics of the assertion element are valid and in compliance with the Web
Services Security Policy specification.
Field Description
Select file Click Browse and select the policy assertion file to be
uploaded.
The Assertion element text box displays the data from
the assertion file.
Field Description
Assertion element If you have not uploaded the policy assertion file,
provide the XML representation of assertion.
6. Click Add.
The custom assertion is added. You can create as many custom assertions you
require.
Post-requisites:
To enforce the custom binding or token assertion in an API, select the assertion in the
appropriate fields of the Inbound Authentication - Message policy:
Binding Assertion
Custom Token Assertion
To enforce the custom policy assertion in an API, select the assertion and the
corresponding SAML issuer in the appropriate fields:
Issuer Policy field of the Add SAML Issuer configuration page.
Authentication scheme field of the Outbound Authentication - Message policy.
You might want to modify a custom assertion to change the currently defined security
seings, such as, authentication scheme, signing and encryption, algorithms and
supporting tokens, of SOAP messages.
assertions that would construct the custom policy file to suit your specific security
requirements.
Following is a policy file that API Gateway generates when a WSS username token is
enforced by the Inbound Authentication Message policy for an API.
<wsp:Policy wsu:Id="9dbda2fb-9cef-4ff9-bc70-115c942a3b76"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsp:ExactlyOne>
<wsp:All>
(L01) <sp:AsymmetricBinding xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<wsp:Policy>
<sp:InitiatorToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702
/IncludeToken/Never">
<wsp:Policy>
<sp:WssX509V3Token10 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:InitiatorToken>
<sp:RecipientToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy
/200702/IncludeToken/Never">
<wsp:Policy>
<sp:WssX509V3Token10 />
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:RecipientToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:TripleDesRsa15 />
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict />
</wsp:Policy>
</sp:Layout>
<sp:ProtectTokens/>
</wsp:Policy>
</sp:AsymmetricBinding>
<sp:SupportingTokens xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/
IncludeToken/AlwaysToRecipient"/>
</wsp:Policy>
</sp:SupportingTokens>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
You might have a requirement to change the policy assertion that is available by
default in API Gateway. For example, you might want to generate the above security
policy using a symmetric binding instead of the default asymmetric binding, and
modify the username token that is defined by default as a supporting token to a signed
supporting token. You could then create custom policy assertions to achieve these
specific requirements.
Important: When adding a custom policy assertion, make sure that both the syntax and
the semantics of the assertion are valid and in compliance with the Web
Services Security Policy specification.
You could create custom assertions to include one or more of the following security
requirements:
Supporting Token Assertions
You might want to sign the supporting token for example, WSS username token, and
use SignedSupportingTokens assertion. You might also want to specify that the signed
username token must always be included in the messages sent to the recipient. You
would then create a custom token assertion with the specific property lines:
<sp:SignedSupportingTokens xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/
IncludeToken/AlwaysToRecipient"/>
</wsp:Policy>
</sp:SignedSupportingTokens>
Wss11 assertion:
<sp:Wss11
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<wsp:Policy>
<sp:MustSupportRefIssuerSerial/>
<sp:MustSupportRefThumbprint/>
<sp:RequireSignatureConfirmation/>
</wsp:Policy>
</sp:Wss11>
After you have defined these custom assertions in API Gateway, execution of a policy
that is configured with all of these custom assertions in the Inbound Authentication -
Message policy, would construct the custom security policy file as follows:
<wsp:Policy wsu:Id="1e747a18-b55d-4e99-ac67-80a8eafd76b3"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsp:ExactlyOne>
<wsp:All>
<sp:SymmetricBinding xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:ProtectionToken>
<wsp:Policy>
<sp:X509Token sp:IncludeToken=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/
IncludeToken/AlwaysToRecipient">
<wsp:Policy>
<sp:WssX509PkiPathV1Token10/>
</wsp:Policy>
</sp:X509Token>
</wsp:Policy>
</sp:ProtectionToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:TripleDesRsa15/>
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Strict/>
</wsp:Policy>
</sp:Layout>
<sp:OnlySignEntireHeadersAndBody/>
</wsp:Policy>
</sp:SymmetricBinding>
<sp:SignedSupportingTokens xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/
IncludeToken/AlwaysToRecipient"/>
</wsp:Policy>
</sp:SignedSupportingTokens>
<sp:Wss11 xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:MustSupportRefIssuerSerial/>
<sp:MustSupportRefThumbprint/>
<sp:RequireSignatureConfirmation/>
</wsp:Policy>
</sp:Wss11>
<sp:Wss10 xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:Policy>
<sp:MustSupportRefIssuerSerial/>
</wsp:Policy>
</sp:Wss10>
<sp:EncryptedParts xmlns:sp
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<sp:Body/>
</sp:EncryptedParts>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Kerberos Settings
Kerberos is an authentication protocol that uses symmetric encryption and a trusted
third party system to validate the identity of clients. The Kerberos protocol provides
authentication over open and insecure networks in which communication between the
hosts can be intercepted.
You can use API Gateway to configure Kerberos authentication for API requests. API
Gateway provides support for using Kerberos authentication for inbound and outbound
HTTP and HTTPs requests at the transport and the message level.
Kerberos authentication system consists of the a Kerberos client that needs to access
and use Kerberos services, a trusted third-party system, specifically a Key Distribution
Center (KDC) and a server that hosts APIs that are accessible using Kerberos
authentication.
Note: You can configure the kerberos seings through API Gateway and Integration
Server UI. But, Software AG recommends to use API Gateway UI to configure
or modify instrospection endpoint.
Field Description
Key Optional. The host name of the machine on which the KDC
distribution resides.
center
A value specified for Key distribution center overwrites the
default key distribution center set in the KDC configuration
file specified in Configuration file.
Field Description
applications, and the host names and Kerberos realms
mappings.
5. Click OK.
Clients
Confidential. A confidential client is an application that is capable of keeping a client
password confidential to the world. This client password is assigned to the client
app by the authorization server. This password is used to identify the client to the
authorization server, to avoid fraud. An example of a confidential client could be a
web app, where no one but the administrator can get access to the server, and see the
client password.
Public. A public client is an application that is not capable of keeping a client
password confidential. For instance, a mobile phone application or a desktop
application that has the client password embedded inside it. Such an application
could get cracked, and this could reveal the password. The same is true for a
JavaScript application running in the users browser. The user could use a JavaScript
debugger to look into the application, and see the client password.
API Gateway can be used as an authorization server and as a resource server.
Use case 1: OAuth Authentication with API Gateway as a Resource server as well as an
Authorization server
This describes the high level workflow for the scenario where API Gateway is a resource
server as well as an Authorization server.
1. Configure API Gateway as an internal authorization server.
Ensure you configure OAuth scopes while configuring the authorization server.
For a complete procedure on configuring API Gateway as an internal authorization
server, see “Configuring the Internal Authorization Server” on page 92.
2. Map the scopes.
For a complete procedure on mapping scopes, see “Mapping OAuth or OpenID
Scopes” on page 102.
3. Enforce the Identify and authorize application policy on the API.
Ensure to select OAuth2 token. For details of the Identify and authorize application
policy see, “Identify and Authorize Application” on page 253.
4. Associate an application with the API.
You can create a new application or use an existing one. Ensure that the application
associated contains the strategy for OAuth authentication. While creating a strategy
you can associate it with the scopes that are available to be used while using
dynamic client registration. For a complete procedure on creating an application
with a strategy, see “Creating an Application” on page 407.
5. Activate the API.
User on invoking the API uses the OAuth identification method to access the
protected resource.
6. Get access token through the following URLS:
invoke/pub.apigateway.oauth2/authorize
invoke/pub.apigateway.oauth2/getAccessToken
Use case 2: Oauth Authentication with API Gateway as a Resource server and an external
Authorization server
This describes the high level workflow for the scenario where API Gateway is the
resource server with a third-party authorization server. This is generally used in an
environment where there is an existing authorization server, which is used with API
Gateway as a resource server.
1. Configure a Provider if you are using the Dynamic client registration. Else you can
proceed to step 2.
For a complete procedure on configuring a provider, see “Adding a Provider” on
page 94
2. Configure an external authorization server.
Ensure you configure OAuth scopes while configuring the authorization server. For
a complete procedure on configuring an external authorization server, see “Adding
an External Authorization Server” on page 97.
3. Map the scopes.
Note: JWT authentication is supported for both REST and SOAP APIs.
getJsonWebtoken
Used for user authentication without custom claims
User authentication happens using the basic auth credentials of any valid IS user.
Method : GET
URL: http://host:port /rest/pub/apigateway/jwt/getJsonWebToken
This endpoint can be used to create a JWT without custom claims
Used for application authentication with custom claims.
If you want to add the custom claims in the JWT then you can use this URL with the
payload specifying the custom claims.
The application is authenticated using the application identifiers supplied in the
request, such as, APIKey or Username or Host name, and then a token is generated
with application id as a subject.
Method: POST
URL: http://host:port /gateway/security/getJsonWebToken
This endpoint can be used to create a JWT with custom claims
Payload
{
"claimsSet": {
"customclaim1": "name ",
"customclaim2":"company name "
}
}
Note: If API Gateway has generated the JSON token, it validates the signature
using a public certificate that was specified in the JWT configuration. Else,
if the HTTP request is sent from a third-party JWT issuer, API Gateway
validates the token using a public certificate or the JWKS URI of the issuer.
For details on scopes, see “Mapping OAuth or OpenID Scopes” on page 102
Note: The getOpenIDtoken call is deprecated and is no more available from the API
Gateway release 10.3 onwards.
1. Configure a Provider if you are using the Dynamic client registration. Else you can
proceed to step 2.
For a complete procedure on configuring a provider, see “Adding a Provider” on
page 94
2. Configure an external authorization server.
Ensure you configure the external authorization server with the introspection
URL and OAuth scopes. For a complete procedure on configuring an external
authorization server, see “Adding an External Authorization Server” on page 97.
3. Map the scopes.
For a complete procedure on mapping scopes, see “Mapping OAuth or OpenID
Scopes” on page 102.
4. Enforce the Identify and authorize application policy on the API.
Ensure to select OpenID Connect or JWT as options. For details of the Identify
and authorize application policy see, “Identify and Authorize Application” on
page 253.
5. Associate an application with the API.
You can create a new application or use an existing one. Ensure that the application
associated contains the strategy for OpenID authentication. While creating a strategy
you can associate it with the scopes that are available to be used while using
dynamic client registration. For a complete procedure on creating an application
with a strategy, see “Creating an Application” on page 407.
6. Activate the API.
User on invoking the API uses the access token or the ID token provided by the
provider to access the protected resource.
7. User can access the protected resources in one of the following ways:
The user presents the access token to API Gateway and on validation accesses the
protected resource.
The user presents the ID token to API Gateway to exchange it for an access token
(if the user has configured the OpenID Connect option in step 4). The client
then presents the access token to API Gateway and on validation accesses the
protected resource.
The following internal API is used for geing an access token for an ID token.
exchangeIDToken
Method: POST
URL: http://host:port /gateway/security/exchangeIDToken
Payload
{
"gatewayScopes": ["OktaTenant1:inventory"],
"idToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjQwYzZiMDliNDQ5NjczNDUzYzNkYTY"
"expiry": 3000
}
The user presents the ID token as a JWT directly to API Gateway (if the user has
configured the JWT option in step 4), and on validation accesses the protected
resource.
OpenID authorization workflow using the access token provided by the Open ID Connect Provider
1. The client makes an OpenID call to the OpenID connect Provider.
2. The OpenID Connect Provider provides an access token to the client.
3. The client application presents the access token received from the OpenID Connect
Provider to send HTTP requests to API Gateway.
API Gateway provides access to the protected resource if all the validations are done.
If the access token is valid, API Gateway provides access to the protected resource.
If the access token is expired, authorization server returns a specific error response.
The client application can then use Refresh Token to request a new access token.
The Authorization Server returns a new access token that can be used to access the
protected resource.
Note: The user can present the ID token directly as a JWT to access the protected
resources in case the ID token is provided on configuring the JWT property in
the Identify and authorize application policy enforced on the API.
Alternatively you can expand or collapse a section, using the down arrow ( ) and
the up arrow ( ) and that appear next to the section name.
7. Provide the following information as required:
Field Description
Token issuer Name of the JWT token issuer used by API Gateway.
Expiry The duration (in minutes) for which the token is valid.
duration
For example, the value 60 denotes that the access token will
expire in one hour from the time the token was generated.
Keystore alias Alias of the keystore containing the private key that is used
to sign JWTs.
The Keystore alias field contains a list of the available
keystore aliases in API Gateway. If there are no
configured keystore aliases, this field displays the
DEFAULT_IS_KEYSTORE.
Alternatively you can expand or collapse a section, using the down arrow ( ) and
the up arrow ( ) and that appear next to the section name.
9. Provide the following information as required:
Authorization code expiration interval. Specifies the time (in seconds) during which
the authorization code issued by the authorization server is valid. Valid values
are between 1 and 2147483647. The default value is 600.
Access token expiration interval. Specifies the time (in seconds) for which the access
tokens issued by the authorization server are valid. The default value is 3600.
Value of -1 specifies that the access token does not expire.
10. Click OAuth tokens.
This lists the available OAuth tokens with the following details:
Client ID. Specifies the ID of the client application that requested the access token.
Owner ID. Specifies the ID of the owner who issues the access token.
Access token. Specifies the access token
Refresh token. You can use to generate a new access token if the existing access
token is expired.
Remaining refresh limit. Displays the remaining aempts for refreshing the access
token.
Action. Revokes the access tokens, which means those tokens cannot be used to
invoke the protected resource.
11. Click OAuth scopes.
OAuth 2.0 scopes provide a way to limit the amount of access that is granted to
an access token. For example, an access token issued to a client application may
be granted READ and WRITE access to the protected resources, or just the READ
access. You can implement your APIs to enforce any scope or a combination of
scopes as required. So, if a client receives a token that has READ scope, and it tries to
invoke an API endpoint that requires WRITE access, the invocation fails.
You can provide the meaning to the scope in OAuth/OpenID scopes management
section.
12. Type the scope that is registered in the authorization server and click +Add.
You can include multiple scopes.
13. Click Update.
This updates the internal authorization server details with the required information
and is listed in the table of Internal authorization server.
Adding a Provider
Pre-requisites:
You must have the API Gateway's manage security configurations functional privilege
assigned to add a provider.
The OAuth 2.0 configuration in API Gateway is split into two sections - Providers and
Authorization servers.
You have to add a provider and configure the authorization provider metadata
information in this section for API Gateway to communicate with this provider during
dynamic client registration only. If there is any deviation from the actual OAuth
specification then the provider has to be configured for these deviations.
To add a provider
1. Expand the menu options icon , in the title bar, and select Administration.
2. Select Security > JWT/OAuth/OpenID.
3. Click Add provider and provide the following information:
Field Description
Field Description
Field Description
Example:
For the redirect_uris field, provide the value
redirectUris .
For the grant_types field, provide the value grantTypes .
For the client_name field, provide the value name .
For the logo_uri field, provide the value logoUrl .
For the client_id field, provide the value clientId .
For the client_secret field, provide the value secret .
Field Description
JWKS URI Specifies JSON Web Key Signature endpoint to fetch the
corresponding public certificates.
Truststore alias Specify the alias of the truststore on API Gateway that
holds the Certificate Authority (CA) certificate of third-
party authorization server.
This is required if the JWKS URI is not available for the
authorization server and you want to configure this
certificate directly.
Field Description
Gateway user The name of the Gateway user that API Gateway uses to
invoke the token introspection endpoint.
8. In the Dynamic client registration section, provide the following information if you
want to dynamically create a client from API Gateway when required.
You would use this configuration only if you do not intend to use any of the existing
clients.
Field Description
Field Description
9. In the SSL Configuration section, provide the following information for SSL
configuration, if the authorization server wants the 2-way SSL for the requests.
Field Description
Keystore Alias of the keystore containing the private key that is used
alias for a secured communication between API Gateway and the
authorization server.
You can view all the keystore aliases available in
API Gateway. If there are no configured keystore
aliases, the list box contains only the default keystore,
DEFAULT_IS_KEYSTORE .
Key alias Alias for the private key to use to validate the HTTP requests
from the client.
You can view all the aliases available in the selected keystore.
If there are no configured keystores, this list box is empty.
Note: You need to select a truststore alias only when all of the
following are true:
webMethods API Cloud: API Gateway User's Guide Version 10.3 100
M
Odd Header
API Gateway Administration
Field Description
10. In the Metadata section, provide the following information for the authorization
server metadata, which is used for the communication to portal.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 101
M
Even Header
API Gateway Administration
To map a scope
1. Expand the menu options icon , in the title bar, and select OAuth/OpenID scopes.
2. Click Map scope.
3. Provide the following information in the Authorization server scope section:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 102
M
Odd Header
API Gateway Administration
webMethods API Cloud: API Gateway User's Guide Version 10.3 103
M
Even Header
API Gateway Administration
You can view the configuration details of the provider by clicking the required
provider. The provider details page displays the client metadata field mapping
and extended request parameter configuration information of the selected
provider.
You can edit the provider configuration by clicking the required authorization
server and modifying the details as required.
You can reset the configuration to system default value by clicking in the
Action column for the respective provider.
You can delete the required authorization server by clicking in the Action
column for the respective provider.
webMethods API Cloud: API Gateway User's Guide Version 10.3 104
M
Odd Header
API Gateway Administration
You can also perform the following operations in the Authorization servers section..
You can view the configuration details of the authorization server by clicking
the required authorization server. The authorization server details page displays
the client information, scope information, and token information of the selected
authorization server.
You can edit the server configuration by clicking the required authorization
server and modifying the details as required.
You can delete the required authorization server by clicking in the Action
column for the respective authorization server.
webMethods API Cloud: API Gateway User's Guide Version 10.3 105
M
Even Header
API Gateway Administration
The Authorization servers section displays a list of available internal and external
authorization servers in API Gateway.
3. Click in the action column of the authorization server to be deleted.
4. Click Yes in the confirmation dialog.
The authorization server is deleted from API Gateway.
Deleting a Provider
Pre-requisites:
You must have the API Gateway's manage security configurations functional privilege
assigned to delete a provider.
You delete a provider to remove it from API Gateway permanently.
Important: You must not delete a provider if it is being used by an authorization server.
To delete a provider
1. Expand the menu options icon , in the title bar, and select Administration.
2. Select Security > JWT/OAuth/OpenID.
The Providers section displays a list of available providers in API Gateway.
3. Click in the Action column of the provider to be deleted.
4. Click Yes in the confirmation dialog.
The provider is deleted from API Gateway.
Destination Configuration
API Gateway can publish events and performance metrics data to the configured
destinations. Event type data provides information about activities or conditions that
occur on API Gateway. The performance data provides information on average response
time, total request count, fault count, and so on, for the APIs that it hosts.
You must have the API Gateway's manage destination configurations functional
privilege assigned to configure the following destinations to which the event types and
performance metrics data is published:
API Gateway
API Portal
CentraSite
Elasticsearch
Email
webMethods API Cloud: API Gateway User's Guide Version 10.3 106
M
Odd Header
API Gateway Administration
webMethods API Cloud: API Gateway User's Guide Version 10.3 107
M
Even Header
API Gateway Administration
Promotion management
User management
Note: By default, audit logging is enabled for all of the above-listed management
areas in the API Gateway destination.
8. Click Save.
Field Description
5. Provide the following information in the Portal configuration section for Gateway to
send data to API Portal:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 108
M
Odd Header
API Gateway Administration
6. Provide the following information in the Gateway configuration section for API
Portal to create applications, request or revoke access tokens, subscriptions, and so
on:
Field Description
7. Click Publish.
This establishes a communication channel between API Gateway and API Portal.
webMethods API Cloud: API Gateway User's Guide Version 10.3 109
M
Even Header
API Gateway Administration
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 110
M
Odd Header
API Gateway Administration
Field Description
UDDI port Specifies the port on which CAST is listening. The default
port number for CAST is 53307.
Target name Specifies the name of the API Gateway asset as defined in
CentraSite.
Field Description
Port Specifies the port to which the SNMP listener binds. The
default port number for CentraSite's SNMP server is 8181.
Privacy protocol Specifies the privacy protocol that is used by the SNMP
Listener for decoding the incoming trap.
Supported values are: DES, AES128, AES, AES192,
AES256, 3DES, and DESEDE.
webMethods API Cloud: API Gateway User's Guide Version 10.3 111
M
Even Header
API Gateway Administration
4. Select Send SNMP traps to CentraSite to publish data about the runtime events and
metrics to the CentraSite SNMP server.
5. Select Force reset CentraSite communication and SNMP details, and click Reset to delete
the current configuration and restore the system configuration.
6. Click Save.
This establishes a communication channel between API Gateway and CentraSite.
Note: The transaction events are published from API Gateway to CentraSite
using SNMP. The runtime metrics are published from API Gateway to
CentraSite using a UDDI client.
webMethods API Cloud: API Gateway User's Guide Version 10.3 112
M
Odd Header
API Gateway Administration
After performing the event configurations, select CentraSite as a Destination in the Policy
Properties page for each policy, to publish the transaction and monitoring event logs for
the assigned policies. API Gateway sends these events to CentraSite through SNMP.
Important: As a best practice, Software AG recommends you not to use the CentraSite
destination for transaction events with large data payloads. This is because,
the SNMP server using which the events are published from API Gateway to
CentraSite does not handle transaction events with large data payloads.
Field Description
Index name Specifies the index name for Elasticsearch, where the data
is stored.
webMethods API Cloud: API Gateway User's Guide Version 10.3 113
M
Even Header
API Gateway Administration
Note: You can provide the username and password for the Elasticsearch
instances having configured with Basic authentication. You can also
provide HTTPS enabled Elasticsearch instance.
5. Click Test.
This tests the communication channel between API Gateway and the configured
Elasticsearch.
6. Click Save to save the specified email configuration value.
You can click Cancel to revert to the last saved changes or to abandon all the changes
if the values are not saved.
webMethods API Cloud: API Gateway User's Guide Version 10.3 114
M
Odd Header
API Gateway Administration
8. Click Save.
Post-requisites:
After performing the event configurations, select Elasticsearch as a Destination in the
Policy Properties page for each policy, to publish the transaction and monitoring event
logs for the assigned policies.
webMethods API Cloud: API Gateway User's Guide Version 10.3 115
M
Even Header
API Gateway Administration
Field Description
SMTP server The server name or the IP address of the SMTP server
that API Gateway uses to send the messages.
Transport layer The SSL encryption type that API Gateway uses when
security communicating with an email server. Use one of the
following transport layer security options:
None. Default. Use an unsecure mode when API
Gateway is communicating with an email server. When
you specify None, the email server authenticates the
email client using only the username and password.
Explicit. Use explicit security when API Gateway is
communicating with an email server. With this type of
security, API Gateway initially establishes an unsecure
connection with the email server and then upgrades to
the secure mode.
With explicit transport layer security, API Gateway
communicates with the email servers that support SSL
encryption and also with those that do not support
SSL encryption. If the email server does not support
transport layer security, API Gateway disconnects the
connection which was established earlier with the email
server. You can then establish an unsecure connection
by selecting None in the Transport layer security field and
enable the port.
Implicit. Use implicit security when API Gateway
communicates with an email server. With this type of
security, API Gateway always establishes an encrypted
connection with the email server. Only clients that
support SSL are allowed to access API Gateway.
Truststore alias The truststore that API Gateway uses while sending the
request to a native API. Truststore is a repository that
stores all the trusted public certificates.
Default email The character set that API Gateway uses to be recognized
charset by the system. Type the character set in the Default
email charset field. By default, API Gateway uses UTF-8
character set for the messages.
webMethods API Cloud: API Gateway User's Guide Version 10.3 116
M
Odd Header
API Gateway Administration
Field Description
From email The email address from which you want to send the
alerts.
Test email The email address to which you want to send the test
email. This email address can be the same as the From
email address.
5. Click Test.
This tests the communication channel between API Gateway and the configured
email server.
6. Click Save to save the specified email configuration value.
You can click Cancel to revert to the last saved changes or to abandon all the changes
if the values are not saved.
Post-requisites:
After performing the server configurations, select Email as a Destination in the Policies
properties page for each policy, to receive the email alerts for the assigned policies.
Note: The @ character is a place holder and the values are automatically
generated by the system. For example, Status: @status appears as Status:
SUCCESS in the email. You can use the existing parameters multiple times
or delete the parameter if the parameter is not required from the available
parameters in the template. However, you cannot add new parameters.
webMethods API Cloud: API Gateway User's Guide Version 10.3 117
M
Even Header
API Gateway Administration
The transaction event parameters from the API Gateway Metrics and
Event Notification engine are:
Runtime_Policy: @policy_action_name
API: @api_name
Version : @version
Operation or Resource_Name: @operation_resource_name
Native endpoint: @native_endpoint
Event generation time: @description
Consumer_Name: @consumer_name
Consumer_ID: @consumer_ID
Status: @status
Coorelation_ID:@correlationID
Error origin: @errorOrigin
The template consists of the following default information for the Monitor Service
Level Agreement, Monitor Service Performance, and Throling Traffic Optimization
events:
The monitor event parameters from the API Gateway Metrics and
Event Notification engine are:
Runtime_Policy: @policy_action_name
API: @api_name
Version : @version
Operation or Resource_Name: @operation_resource_name
Native endpoint: @native_endpoint
Action type: @actionType
Attribute: @attribute
Consumer_Name: @consumer_name
Consumer_ID: @consumer_ID
Alert Message: @alertMessage
Additionally, you can click to abandon the changes and revert to the default
template. You can click to review the changes before adding the changes to the
email content.
5. Click Save.
Audit Logging
The audit logging feature of API Gateway provides audit information for different
categories of system transactions, events, and occurrences of specific events (for
example, login aempts) over a period of time. You can use audit logs to view a detailed
record of various auditable events that occurred on the API Gateway objects, user login
and logout operations, and identify the users who are responsible for the changes. You
can configure which audit events to log for a specific destination based on your auditing
requirements.
You can configure API Gateway to log the auditable events for following destinations:
API Gateway
Elasticsearch
The following auditable events can be configured to write to the API Gateway audit
logs:
webMethods API Cloud: API Gateway User's Guide Version 10.3 118
M
Odd Header
API Gateway Administration
webMethods API Cloud: API Gateway User's Guide Version 10.3 119
M
Even Header
API Gateway Administration
webMethods API Cloud: API Gateway User's Guide Version 10.3 120
M
Odd Header
API Gateway Administration
Alias management
Analytics management
API management
Application management
Approval management
Group management
Package management
Plan management
Policy management
Promotion management
User management
By default, all of the auditable events are logged into the API Gateway destination.
Last 7 days
webMethods API Cloud: API Gateway User's Guide Version 10.3 121
M
Even Header
API Gateway Administration
Last 30 days
Last 60 days
Last 90 days
Custom
4. If you select Custom, type the From Date and To Date to specify the time interval that
best suits your needs.
5. Click Apply filter to filter the analytics based on the time interval chosen.
You can view logs for API Gateway auditable events in the Audit logs dashboard.
You can also download the API Gateway audit log in a text file and view the
auditable events data.
Column Detail
webMethods API Cloud: API Gateway User's Guide Version 10.3 122
M
Odd Header
API Gateway Administration
Column Detail
creationDate Date and time the event entry was wrien to the log.
Service Registries
API Gateway user interface provides capability to add and configure service registries
and communicate these changes across nodes in the cluster. An API Gateway
administrator can add and remove service registries.
Overview
A service registry is essentially a catalog of services. Applications that expose services
can register their services with one or more service registries. Applications that need to
consume a service look up a service registry and obtain the address of an application
server that provides the service. Using service registries with API Gateway adds
resilience, scalability, and security to the application stack.
API Gateway uses service registries in the following ways:
webMethods API Cloud: API Gateway User's Guide Version 10.3 123
M
Even Header
API Gateway Administration
You can publish APIs defined in API Gateway to service registries. This enables
other applications to use the service registry to dynamically locate an API Gateway
instance that provides that API.
You can set an API Gateway route to a service registry endpoint. This enables API
Gateway to use the service registry to dynamically locate an application instance and
route the request to it.
Field Description
Endpoint configuration
webMethods API Cloud: API Gateway User's Guide Version 10.3 124
M
Odd Header
API Gateway Administration
Field Description
Endpoint URI The base URI for the service registry. This should
include the IP address or the FQDN and the port on
which the service registry accepts requests.
Read timeout Specifies the time (in seconds) after which a socket
(seconds) read aempt times out while communicating with the
service registry.
SSL configuration
webMethods API Cloud: API Gateway User's Guide Version 10.3 125
M
Even Header
API Gateway Administration
Field Description
Key alias Lists all the private keys that are present in the selected
keystore alias. This is used when the service registry is
SSL enabled.
Other configuration
Headers
4. Click Add.
The service registry is added to API Gateway.
webMethods API Cloud: API Gateway User's Guide Version 10.3 126
M
Odd Header
API Gateway Administration
In cluster deployments of API Gateway, you can remove the service registry on any API
Gateway instance—other API Gateway instances are synced automatically.
webMethods API Cloud: API Gateway User's Guide Version 10.3 127
M
Even Header
webMethods API Cloud: API Gateway User's Guide Version 10.3 128
M
Odd Header
Users and Access Profiles
webMethods API Cloud: API Gateway User's Guide Version 10.3 129
M
Even Header
Users and Access Profiles
webMethods API Cloud: API Gateway User's Guide Version 10.3 130
M
Odd Header
APIs
4 APIs
■ Overview ..................................................................................................................................... 132
■ Creating an API by Importing an API from a File ...................................................................... 135
■ Creating an API by Importing an API from a URL ..................................................................... 135
■ Creating an API from Scratch .................................................................................................... 136
■ API Mashups .............................................................................................................................. 153
■ Viewing API List and API Details ............................................................................................... 160
■ Filtering APIs .............................................................................................................................. 166
■ Activating an API ........................................................................................................................ 166
■ Deactivating an API ................................................................................................................... 167
■ Publishing APIs .......................................................................................................................... 167
■ Unpublishing APIs ...................................................................................................................... 172
■ Modifying API Details ................................................................................................................. 176
■ Updating APIs ............................................................................................................................ 177
■ API Mocking ............................................................................................................................... 181
■ Attaching Documents to an API ................................................................................................. 185
■ SOAP to REST Transformation ................................................................................................. 187
■ Versioning APIs .......................................................................................................................... 195
■ API Scopes ................................................................................................................................ 196
■ Exposing a REST API to Applications ....................................................................................... 205
■ Exposing a SOAP API to Applications ...................................................................................... 206
■ API Grouping .............................................................................................................................. 207
■ API Tagging ................................................................................................................................ 207
■ Exporting APIs ........................................................................................................................... 209
■ Exporting Specifications ............................................................................................................. 210
■ Deleting APIs ............................................................................................................................. 211
■ Example: Managing an API ....................................................................................................... 212
webMethods API Cloud: API Gateway User's Guide Version 10.3 131
M
Even Header
APIs
Overview
API Gateway provides the ability to view, create, and manage APIs, and publish the
APIs to API Portal for consumption. API administrators and users with the appropriate
functional privileges can use API Gateway to create and manage APIs, and publish the
APIs to API Portal or service registries from where they can be consumed.
API Gateway supports the following API types:
Representational State Transfer (REST) defines a set of architectural principles that
allow accessing and manipulating resources by using capabilities already built into
HTTP, including uniform and predefined set of stateless operations, resources that
are accessible using URIs, and resources that are represented by media types. This
framework provides RESTful APIs based on REST architecture. There are multiple
specification formats for REST APIs. In API Gateway, you would create a REST API
using one of the supported formats: RAML, Swagger 2.0, OpenAPI 3.0 Specification.
The RAML specification is a YAML-based language for the definition of HTTP-
based APIs that embody most or all of the principles of REST. The RAML
specification provides all the information necessary to describe RESTful or
practically-RESTful APIs.
The Swagger 2.0 specification defines a standard, language-agnostic interface
to RESTful APIs. The Swagger specification provides a complete framework
implementation for describing, producing, consuming, and visualizing RESTful
APIs.
The OpenAPI 3.0 Specification (OAS) has a much more modular and reusable
approach for describing and documenting RESTful APIs. OAS enables more
power and versatility when it comes to describing the request and response
messages, as well as providing details on the common components like the
schemas and security definitions
Simple Object Access Protocol (SOAP) defines a communication method for XML-based
message exchange over different transport protocols, such as HTTP and SMTP.
This framework provides SOAP APIs based on Web Services Description Language
(WSDL).
Open Data Protocol (OData) defines a set of best practices for the creation and
consumption of RESTful APIs. It provides a uniform way to describe both data and
the data model. The OData framework provides interoperable OData APIs (with a
RESTful interface) based on OData standards.
Asynchronous APIs
The synchronous and asynchronous nature of an API is a function of the time frame
from the request to the return of data. In the case of synchronous APIs, the expectation
is that there would be an immediate return of data, read from a database, from the
internet, from the disk, or any other I/O source of data. You would use synchronous
APIs where data or service availability, resources and connectivity are high and low
webMethods API Cloud: API Gateway User's Guide Version 10.3 132
M
Odd Header
APIs
latency is a requirement. The application requests data and waits for it until a value is
returned.
In the case of asynchronous APIs, the availability of a resource, service or data store may
not be immediate. An asynchronous API returns a response acknowledging the receipt
of the request and it continues with the processing of the data till it is done, and returns
a response to the client only when the processing of the data is completed. You would
use asynchronous APIs where data or service availability and connectivity are low or
over-saturated with demand. These APIs may use the callback functionality to send the
callback request to the requester when the requested resource is ready.
Few APIs may take a lot of time to complete their processes, for example, processes such
as purging or archiving of events, and bulk processing operations. In such a scenario, a
time-out may occur for these API invocations as it takes longer time in the synchronous
way where there is a wait period for the return of the data.
Example: Let us consider an example of purging logs.
In the synchronous way, the client application sends a request to the native API to purge
a set of logs with a filter specified. The native API in turn sends out a response with an
acceptance along with a Job ID. The client uses this job ID to send out requests to the
native API to check whether the job is completed. In this case the client may have to
send out multiple requests to check whether the job is done.
To avoid the hassle of multiple calls to the native API and waiting for the job to get
done, you can implement an API to behave asynchronously to avoid multiple checks.
You can implement a REST API with a callback option that can be used to call back the
requestor when the job is done. In this scenario, when the client application sends out a
request to the native API to purge a set of logs with a filter specified, the native API in
turn sends out a response with an acknowledgement of having received the request and
makes a note of the callback request URL that it receives in the request. Now, the client
does not have to send out multiple requests to the native API to check whether the job is
done. Instead once the job is done, the native API uses the callback URL details to send
out a response to the requestor regarding the status of the job being done.
API Gateway provides asynchronous form of API support for REST APIs. API Gateway
provides the capability of defining the callback component with the supported method
parameters while creating a REST API. For details on creating an API with the callback
definition, see “Creating a REST API” on page 142. In addition you can configure API
Gateway to accept the requests from the client that contain the callback request URL and
wrap it with its own URL before routing it to the native API. This lets API Gateway track
the requests that the client sends to the native API and the responses that are sent by the
native API to the client. For details on how to configure the callback processor seings
to enable processing the callback requests, see “Configuring API Callback Processor
Seings” on page 54. When a client sends a request with the callback request URL to the
native API, API Gateway identifies the callback request URL in the incoming request,
depending on the configured callback processor seings wraps the request coming from
the client with its own URL and routes it to the native API. When the requested resource
is ready, the native API sends a request to the callback request URL it has received in the
request it has received from API Gateway. API Gateway then routes this request to the
client. You can configure API Gateway to enforce any of the response processing policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 133
M
Even Header
APIs
that suits your needs on the immediate responses as well as the callback requests being
sent from the native API to the client.
The callback requests-related event types can be distinguished by a new field with
the value set to true and displayed in the dashboard in the transaction event type. For
a normal request this field is set as false. The following are the field names that are
displayed for various configured destinations:
For API Gateway destination the field name is callbackRequest, which is set to
true.
For Elasticsearch destination the field name is isCallbackRequest, which is set to
true.
For all other destinations, API Portal, Audit Log, CentraSite, Email, and Local log,
the field name is isCallbackRequest, which is wrapped under the customFields
column.
You can create and manage APIs from the Manage APIs page. The page lists all the
APIs, their description, and version number. You can create an API, delete an API, view
API details, activate or deactivate an API, publish or unpublish an API, and view API
analytics from this page.
You can create an API in one of the following ways:
Create an API by importing a definition for an existing API (for example, in Swagger
or RAML format) using an API importer
Create an API from scratch and set its aributes manually
An API importer generates an API from a URL or an input file in one of the supported
formats. For example, the RAML importer installed with API Gateway reads a RAML
file and generates a REST API that the RAML definition describes. The importer also
uploads the RAML file to the API Gateway repository and links the file to the REST API.
The table lists the API types and the file formats required as input to create an API using
an importer.
webMethods API Cloud: API Gateway User's Guide Version 10.3 134
M
Odd Header
APIs
webMethods API Cloud: API Gateway User's Guide Version 10.3 135
M
Even Header
APIs
Note: Creating an API by importing swagger files from an HTTPS URL that is
using self-signed certificates may fail. To workaround this, you can set the
system environment variable as: export TRUST_ALL=true, so that the invalid
certificates are ignored. Be aware that seing this variable makes the swagger-
parser ignore all invalid certificates too. So this workaround has to be used
with caution.
webMethods API Cloud: API Gateway User's Guide Version 10.3 136
M
Odd Header
APIs
Basic Information
The Basic Information page includes fields that allow you to identify, categorize, and
group an API.
Technical Information
The Technical Information page includes fields that allow you to define one or more server
URLs for the API. You can also define and include variables in the URLs.
You can also specify parameters for data that must be included in every request to
the API. For example, if you want a specific query parameter to be included in every
request, you can add a parameter of the type Query and specify the value that it must
include.
webMethods API Cloud: API Gateway User's Guide Version 10.3 137
M
Even Header
APIs
Note: If you have defined the response for a series and specific numbers in that
series, the more specific one is used. Example: If you have added an entry for
2XX and 201, a response with the HTTP status code 200 will be the same as
2XX. However, a response with the HTTP status code 201 will pick the one
that is defined for 201.
For each status code in a method response, you define the following:
Response body: you define the response body using the following fields:
Content Type: You can select from any of the content types.
Schema: You can define a schema if the response contains JSON or XML data.
Sample: The samples are used for API mocking. They can also be used by end
users to get a beer understanding of the API.
webMethods API Cloud: API Gateway User's Guide Version 10.3 138
M
Odd Header
APIs
Header parameter: You can add a parameter to capture and process a header in the
response sent by the native API.
Links: Links allow the developer of the native API to define the relationship and
traversal mechanism between a response and other operations. You can include
links to other methods that are related to the response. This enables an API client
to dynamically navigate the methods that are exposed by the API. For example,
a method that returns the temperature in Fahrenheit for a given place may also
include links to methods that return: a) the temperature in Centigrade; and b) the
temperature of the place on a given day of the year.
Note: You can define the complete response, or any part of it (response body
schema, header parameter, or link), in the Components page; and reuse it
wherever required by giving a reference.
Method Callbacks
A callback is an asynchronous API request that originates from the API server and
is sent to the client in response to an earlier request sent by that client. APIs can use
callbacks to signal an event of interest and share data related to that event. API clients
that are interested in an event or data related to that event, include a callback URL in
the request they send to the API. For more information about Asynchronous APIs, see “
Asynchronous APIs” on page 132.
To enable API Gateway to process callback messages, you must configure the Callback
processor seings, as explained in “Configuring API Callback Processor Seings” on
page 54.
If your API supports callbacks, you can use API Gateway to process the initial requests,
the callback URLs sent by clients, and the response sent by the API—including the
callback messages. Clients can provide the callback URL to API Gateway in any of the
following ways:
Request header
Query parameter
Request body (if the response body has JSON or XML content)
You must define the relevant parameter to capture the callback URL to process it. API
Gateway can wrap the client callback URLs with its own URL to process these requests if
the callback URL path defined in the following formats. Otherwise, API Gateway sends
the requests received from client as it receives it.
Format Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 139
M
Even Header
APIs
Format Description
If you have enabled API Gateway to process callback messages, API Gateway wraps
the callback URL provided by the client and sends an API Gateway URL to the native
API. When the native API invokes the same callback URL, API Gateway processes the
response and applies the policies that you have defined.
API Gateway can apply the following policies on the callback messages: note describing
messages.
Invoke webMethods IS
Response Transformation
Validate API Specification
Data Masking
Log Invocation
Note: These policies are applied to the immediate responses of an API request and
to all its callback requests. These policies are enforced against callback request
payloads.
webMethods API Cloud: API Gateway User's Guide Version 10.3 140
M
Odd Header
APIs
API mocking
API mocking allows you to simulate a native API that is not available. The mock
response that you define is returned to the client that invokes the API, if the native API
is not available. API mocking is not available while you are creating an API. To use API
mocking, you must edit the API after creating it and enable API mocking.
You must enable API mocking for an API after creating the API. For more information
about API mocking, see “API Mocking” on page 181.
Components
The Components page allows you to add reusable elements that you can use in other
pages of the wizard. You can reference these global elements using the $ref variable.
You can add the following global elements:
Schemas: The schema specified here can be reused in the resource and method
specifications across multiple methods and resources.
Parameters: You can define parameters that can be used as API, resource, and method
parameters.
Headers: You can define parameters that can be reused as header parameters at the
API, method, and response levels.
Examples: You can add examples that can be reused as samples across operations in
the API.
Links: You can define links that can be reused in responses. For more information
about links, see Links within Method Responses above.
Callbacks: You can define callback methods in this page and include them in the
callback section of the methods that use it. For more information about callbacks, see
“ Method Callbacks” on page 139.
Request Bodies: You can define request bodies in this page and reuse them in
methods. A request body includes the content type, a schema, and a sample.
Responses: You can define responses in this page and reuse them in methods. A
response includes the content type, a schema, and a sample. It can also include
header parameters and links.
Documentation
In the view mode, the Documentation page provides the following links:
Links to the Swagger, RAML, and OpenAPI versions of the API on the Integration
Server.
webMethods API Cloud: API Gateway User's Guide Version 10.3 141
M
Even Header
APIs
Links to download the API in the three different formats: Swagger, RAML, and
OpenAPI.
In the edit mode, the Documentation page allows you to add a file that contains any
documentation that you want to include with the API. This file is accessible only from
API Gateway.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 142
M
Odd Header
APIs
Field Description
Note: Click Save to save the API at this stage and close the Create REST API
wizard.
7. Enter the details of the servers that serve the API in the Add server details section.
a. Click Add server and provide a Server URL and Description.
You can include variables in the server URL by enclosing them in curly braces.
These variables are added to the list of variables. However, you have to edit
these variables to add a default value, and optionally one or more values and a
description.
b. Click Add variables and provide the following values:
Name
Description
Default
Value
webMethods API Cloud: API Gateway User's Guide Version 10.3 143
M
Even Header
APIs
Field Description
Note: You need to define parameters only for data that you want API Gateway to
process.
Note: Click Save to save the API at this stage and close the Create REST API
wizard.
11. Add resources to the API using the Resources and methods page:
a. Click Add Resources and provide the following information:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 144
M
Odd Header
APIs
Field Description
Supported methods Select the methods that are supported by the API:
GET, HEAD, POST, PUT, DELETE, PATCH.
b. Click Add.
The resource is added. You can multiple resources, if required.
c. Add Tags.
d. Click Add Resource Parameter and provide the following information:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 145
M
Even Header
APIs
a. Common information:
Field Description
b. Method parameters
Field Description
c. Requests: You can select an existing global request defined on the Components
page or specify a new request. To enter a new request, select New request and
provide the following information:
To add a new request that has to be processed, click Add Request + and provide
the following information:
webMethods API Cloud: API Gateway User's Guide Version 10.3 146
M
Odd Header
APIs
Note: You can also define the response for an HTTP status code series, such as
2** or 4**.
To define a new response for the selected status code, click Add response + and
provide the following information:
Content type: select one and click Add.
Schema: Type a schema in the text box or select an existing schema from the
Select a Schema list. You can also click Add global schema and create a new
global schema on the Components page. After creating the global schema you
can select it from the Select a Schema list.
Sample: Type a sample for selected schema. This sample can be used for API
mocking, if required.
To use an existing global response, select Global response and provide the
following information:
Name: Name of the response.
Reference: select one and click Add.
To add a header parameter, click + Add header parameter and enter the following
information to add a header parameter:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 147
M
Even Header
APIs
Field Description
Click + in the Value text box to add a value to the list, and click Add to add the
header.
To add a link, click + Add links and enter the following information to add a link:
Name: Name of the link.
Description: Description for the link.
Link: You can add a new link or select an existing global link that is defined
on the Components page.
To add a new link, select New link and enter the following information:
Type: Select OperationId for local operations only. OperationRef can be used
for both local and external operations.
Value: If Type is OperationRef, provide a reference to the target operation
using the JSON Reference syntax (using by the $ref keyword); and if the
Type is OperationId provide the OperationId of the target operation.
Parameters: Specify the parameters of the target operation that are
required to follow the link. Enter a Name and Value, and click Add.
Request body: Enter a request body only if the target operation has a body.
Define the contents of the body of the target operation.
webMethods API Cloud: API Gateway User's Guide Version 10.3 148
M
Odd Header
APIs
To include an existing global link, select Global link and then select an existing
global link from the Reference drop-down list.
e. Callbacks: You can add the callbacks that are supported by the method. You can
add new callbacks and select existing global callbacks.
To specify a new callback, click + Add callbacks and define the callback:
Name: A name for the callback resource.
Click + Add resources and provide details of the API that serves as the callback
API.
Note: The user interface and procedure for defining a callback is similar to
defining a resource and methods within the resource.
Note: Click Save to save the API at this stage and close the Create REST API
wizard.
The API mocking page appears. API mocking is not enabled for a new API: You
must edit the API and enable API mocking after creating the API.
14. Click Continue to define API components for this API>.
Alternatively, you can click Components.
Note: Click Save to save the API at this stage and close the Create REST API
wizard.
15. Define the reusable elements that you want to reuse in other pages of the Create
REST API wizard.
An API may have several elements that are common across resources and methods,
such as schemas for response bodies. You can place such common elements in the
Components section and reference them using the $ref alias.
a. In the Schemas section, click + Add schema and provide the following information:
webMethods API Cloud: API Gateway User's Guide Version 10.3 149
M
Even Header
APIs
Field Description
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 150
M
Odd Header
APIs
Field Description
Field Description
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 151
M
Even Header
APIs
Field Description
Parameter value Value for the parameter. Click + Add to add the
parameter. You can additional parameters if
required.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 152
M
Odd Header
APIs
Field Description
Field Description
Note: Click Save to save the API at this stage and close the Create REST API
wizard.
API Mashups
Overview
Servers that provide an API may expose a vast set of functionality. However, each
individual service in the API usually provides a very specific functionality. While this
webMethods API Cloud: API Gateway User's Guide Version 10.3 153
M
Even Header
APIs
Note: Currently, API Gateway supports API mashups for REST APIs only: You can
define a mashup only in a REST API and only REST APIs can be included in
the mashup.
Usage scenario
Assume an API that provides information about courses offered by different universities
in a given location. This API provides a service that returns the list of universities for a
given course name and postal code. This service could be:
GET /universities?course=medicine&postalcode=600012
The provider of the API wants to extend this API for use in mobile applications that
have access to users’ location. As mobile applications can access a user’s location in
terms of longitude and latitude, this involves first retrieving the postal code for the
users’ current location and then passing that information to the existing API.
Suppose there is a publically available API that returns the postal code based on
longitude and latitude values. This service could be:
GET /postalcode?lat=331&long=22324321
If this public API meets other requirements, such as security, performance, and usage
limits, it can be utilized to deliver the required functionality.
Using an API mashup, you can create and expose a single service that calls both services:
the external service that returns the postal code and the existing service that provides the
list of universities. The resulting service could be:
GET /universities?course=medicine&lat=331&long=22324321
webMethods API Cloud: API Gateway User's Guide Version 10.3 154
M
Odd Header
APIs
paramStage request
response
headers
query
path
httpMethod
statusCode
statusMessage
webMethods API Cloud: API Gateway User's Guide Version 10.3 155
M
Even Header
APIs
queryType xpath
jsonPath
regex
You can use this syntax to access the following string variables: path,
statusCode, statusMessage, httpMethod. Examples: ${request.path},
${response.statusCode}
${paramStage.paramType.paramName}
You can use this syntax to access map types, such as query, headers, and path.
Example: ${request.query.var1}, ${response.header.Content-Type},
${request.path.name}.
${paramStage.paramType.queryType[queryValue]}
Note: While xpath and jsonPath are applicable only to payload, regEx can be
used with both payload and path.
${paramStage[stepName].paramType.queryType[queryValue]}
You can use this syntax to access data from any of the
previous steps. For example, you can use the following
syntax to access the payload of the step named createAPI:
${response[createAPI].payload.jsonPath[$.apiResponse.api.id]}.
You can define your own variables using the Custom Pipeline variables field:
Examples: ${key}, ${value}. The custom pipeline variables that you define are available
in subsequent steps.
webMethods API Cloud: API Gateway User's Guide Version 10.3 156
M
Odd Header
APIs
Note: If the API does not have any mashup, the Mashup tab displays the list of
resources only in the Edit mode; the tab is empty in the view mode.
5. In the List of resources, click the resource in which you want to include the mashup.
The resource tab expands and the methods included in the resource are displayed.
6. Click the toggle buon to enable the method in which you want to create the
mashup.
Note: If you use the toggle buon and disable a method that has a mashup, the
mashup definition for that method is immediately cleared.
Note: To provide the API Endpoint, you can type a few leers and select from the
autocomplete drop-down list.
webMethods API Cloud: API Gateway User's Guide Version 10.3 157
M
Even Header
APIs
Note: You can access values from previous steps and other data using the
variable and alias framework provided by API Gateway. For more
information, see “Structure of an API Mashup” on page 155.
Note: You can access values from previous steps and other data using the
variable and alias framework provided by API Gateway. For more
information, see “Structure of an API Mashup” on page 155.
c. Click Add.
12. Provide the Path Parameters as follows:
a. Type or select the Path Parameter Name.
b. Type or select the Path Parameter Value.
Note: You can access values from previous steps and other data using the
variable and alias framework provided by API Gateway. For more
information, see “Structure of an API Mashup” on page 155.
c. Click Add.
13. Enter the Payload as follows:
Note: You can access the payload from previous steps and other data using
the variable and alias framework provided by API Gateway. For more
information, see “Structure of an API Mashup” on page 155.
webMethods API Cloud: API Gateway User's Guide Version 10.3 158
M
Odd Header
APIs
Note: You must activate the API to make the mashup available to client applications.
For more information about activating an API, see “Activating an API” on
page 166.
webMethods API Cloud: API Gateway User's Guide Version 10.3 159
M
Even Header
APIs
webMethods API Cloud: API Gateway User's Guide Version 10.3 160
M
Odd Header
APIs
Field Description
Various tabs displayed in the API details page display the following details:
The Scopes tab lists the scopes available for the API.
The Policies tab displays the policies enforced for the API.
The Mashups tab displays the mashups defined in the API.
The Applications tab displays all the applications registered with the API.
The Analytics tab displays the API-specific analytics for the time interval selected.
You can perform the following operations from the API details page:
You can enable API mocking by clicking the Enable mocking buon. If API mocking
is enabled, you can disable it by clicking the Disable mocking buon. This option is
available when the API is in the deactivated state.
webMethods API Cloud: API Gateway User's Guide Version 10.3 161
M
Even Header
APIs
You can update an API by importing from file or from URL by clicking the Update
buon. This option is available when the API is in the deactivated state.
You can create a new version of the API by clicking the Create new version buon.
You can modify details of an API by clicking the Edit buon. This option is available
when the API is in the deactivated state.
You can activate an API by clicking the Activate buon. If the API is already
activated, you can deactivate it by clicking the Deactivate buon.
Field Description
API mocking Details are visible only when API mocking is enabled.
webMethods API Cloud: API Gateway User's Guide Version 10.3 162
M
Odd Header
APIs
Field Description
Various tabs displayed in the API details page display the following details:
The Scopes tab lists the scopes available for the API.
The Policies tab displays the policies enforced for the API.
The Applications tab displays all the applications registered with the API.
The Analytics tab displays the API-specific analytics for the time interval selected.
You can perform the following operations from the API details page:
You can enable API mocking by clicking the Enable mocking buon. If API mocking
is enabled, you can disable it by clicking the Disable mocking buon. This option is
available when the API is in the deactivated state.
You can update an API by importing from file or from URL by clicking the Update
buon. This option is available when the API is in the deactivated state.
You can create a new version of the API by clicking the Create new version buon.
You can modify details of an API by clicking the Edit buon. This option is available
when the API is in the deactivated state.
You can activate an API by clicking the Activate buon. If the API is already
activated, you can deactivate it by clicking the Deactivate buon.
webMethods API Cloud: API Gateway User's Guide Version 10.3 163
M
Even Header
APIs
The API Gateway UI exposes only OData navigation properties to visualize the resource
path structure of OData APIs. Any other OData property is not displayed.
Note: API Gateway does not support the querying of Derived Entity Types. This
includes the following operations:
Requesting a Derived Entity
Requesting a Derived Entity Collection
Filter on Derived Type
Operations on Derived Types are rejected by API Gateway.
The table lists the API details displayed for the API.
Field Description
Technical information Displays base URL of the API and the OData version
supported
OData entity sets Displays a list of OData entity sets. An entity set
element represents a single entity or a collection of
entities of a specific entity type in the data model
The list of entity sets is sorted alphabetically. Click
each entity set to view the resource path, entity type,
resource parameter details, and the corresponding
HTTP methods.
The entity types are structured records consisting
of named and typed properties and key properties
whose values uniquely identify one instance from
another.
webMethods API Cloud: API Gateway User's Guide Version 10.3 164
M
Odd Header
APIs
Field Description
OData action imports Displays a list of OData action imports. The Action
Import element represents an Action in an entity
model.
The list of OData action imports is sorted
alphabetically. Click each action import to view the
resource path, entity type, and the corresponding
HTTP methods.
Various tabs displayed in the API details page display the following details:
The Policies tab displays the policies enforced for the API.
The Applications tab displays all the applications registered with the API.
The Analytics tab displays the API-specific analytics for the time interval selected.
You can perform the following operations from the API details page:
You can update an API by importing from URL by clicking the Update buon. This
option is available when the API is in the deactivated state.
You can create a new version of the API by clicking the Create new version buon.
webMethods API Cloud: API Gateway User's Guide Version 10.3 165
M
Even Header
APIs
You can modify details of an API by clicking the Edit buon. This option is available
when the API is in the deactivated state. Only the following properties of an OData
API can be modified:
Name
Description
Version
API group
Maturity state
For updating the OData entity sets, singletons, function imports and action imports a
new import has to be performed.
You can activate an API by clicking the Activate buon. If the API is already
activated, you can deactivate it by clicking the Deactivate buon.
Filtering APIs
You can filter APIs based on the API type or the activation status of the API.
To filter APIs
1. Click APIs in the title navigation bar.
A list of all registered APIs appears.
2. In the Add Filter pane, select REST, SOAP, OData or all to filter APIs by type.
3. In the Add Filter pane, select Active and/or Inactive to filter APIs by their activation
status.
4. Click Apply filter.
The filtered list of APIs is displayed. You can click Reset to reset the values to the
original values.
Activating an API
You can activate an API in the Manage APIs page. Alternatively you can also activate the
API from the API Details page.
You must have the Activate/Deactivate APIs functional privilege assigned to perform
this task.
To activate an API
1. Click APIs in the title navigation bar.
A list of available APIs appears.
webMethods API Cloud: API Gateway User's Guide Version 10.3 166
M
Odd Header
APIs
2. Click the toggle buon, in the corresponding column of the API to be activated, to
change the status to to activate the API.
3. Click Yes in the confirmation dialog box.
The API is now activated. The Gateway endpoint is now available, which can be
used by the consumers of this API. You can now publish the API to the required
destination and expose the API for consumption by the consumers.
You can modify API details or update the API, except the name and version of the
API, when the API is in the active state. Active APIs are replaced during deployment
with zero downtime and do not break ongoing requests. The updated APIs do not
become effective for ongoing requests.
Note: If there is an error while saving after updating an active API, the API
becomes inactive but the changes are saved.
Deactivating an API
You can deactivate an API in the Manage APIs page. Alternatively you can also
deactivate the API from the API Details page.
You must have the Activate/Deactivate APIs functional privilege assigned to perform
this task.
To deactivate an API
1. Click APIs in the title navigation bar.
A list of available APIs appears.
2. Click the toggle buon, in the corresponding column of the API to be deactivated, to
change the status to to deactivate the API
3. Click Yes in the confirmation dialog box.
The API is now deactivated. The API is no more available to be consumed by
consumers.
Publishing APIs
You can publish an API to two types of destinations: API Portal and Service Registries.
webMethods API Cloud: API Gateway User's Guide Version 10.3 167
M
Even Header
APIs
The process of publishing an API to API Portal is initiated from API Gateway and is
carried out on the API Portal server.
Doing this involves the following high-level steps:
Step 1: You initiate the publish process by selecting the API to be published, specify
the API endpoints to be visible to the consumers, and the API Portal communities in
which the API is to be published.
Step 2: API Gateway publishes the API to each of the specified API Portal
communities.
Step 3: During bulk publishing of APIs, the process continues even if API Gateway
encounters a failure with API Portal.
When publishing an API to the API Portal destination, keep the following points in
mind:
The API Portal destination must be configured in API Gateway.
You must have the Publish to API Portal functional privilege.
You cannot publish an API if it is in inactive state. You have to activate the API
before publishing it.
webMethods API Cloud: API Gateway User's Guide Version 10.3 168
M
Odd Header
APIs
Publish as REST and SOAP: When both the options are selected, the API is
published as a REST API as well as a SOAP API in API Portal and marked as a
HYBRID API.
webMethods API Cloud: API Gateway User's Guide Version 10.3 169
M
Even Header
APIs
Parameter Description
API Gateway writes these results to the Audit logs dashboard, so you can view them
later.
7. Click Download the detailed report here to download the detailed report as an HTML
file.
webMethods API Cloud: API Gateway User's Guide Version 10.3 170
M
Odd Header
APIs
You can publish only active APIs. You cannot publish APIs that are in the inactivate
state.
An API that is published to a service registry:
Is automatically de-registered from the service registry if the API is deactivated
in API Gateway. When the API is activated again, it is automatically registered
on the same service registry.
Is automatically de-registered from the service registry if the API Gateway
instance from where it was registered goes down. When the API Gateway
instance comes up again, the API is registered on the same service registry.
In a cluster of API Gateway nodes, only the API Gateway instance from where you
publish an API is added to the service registry. You have to separately publish the
API from each API Gateway instance that the service registry can use for an API.
Note: Similarly, you have to separately unpublish the API from each API
Gateway instance from where you want to unpublish the API.
If a load balancer has been configured for the API Gateway cluster, APIs from all
instances are registered using the load balancer URL.
webMethods API Cloud: API Gateway User's Guide Version 10.3 171
M
Even Header
APIs
Note: When you publish multiple APIs to one or more service registries in a single
operation, all endpoints in the APIs are published. To selectively publish
endpoints within an API, you must publish the API separately as a single API.
Unpublishing APIs
You can manually unpublish APIs that you had previously published to an API Portal or
to one or more service registries.
webMethods API Cloud: API Gateway User's Guide Version 10.3 172
M
Odd Header
APIs
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 173
M
Even Header
APIs
Parameter Description
API Gateway writes these results to the Audit logs dashboard, so you can view them
later.
6. Click Download the detailed report here to download the detailed report as an HTML
file.
webMethods API Cloud: API Gateway User's Guide Version 10.3 174
M
Odd Header
APIs
Note: When you reactivate the API, the temporarily unpublished endpoints are
published again to the original service registries.
When you disable or delete an API Gateway port that has endpoints that have been
published to a service registry.
Note: When you enable or add back the port again, the temporarily unpublished
endpoints are published again to the original service registries.
webMethods API Cloud: API Gateway User's Guide Version 10.3 175
M
Even Header
APIs
Parameter Description
API Gateway writes these results to the Audit logs dashboard, so you can view them
later.
8. Click Download the detailed report here to download the detailed report as an HTML
file.
The APIs are unpublished from the selected service registries for the current API
Gateway instance. Once an API is unpublished, the Republish icon changes to Publish
icon.
webMethods API Cloud: API Gateway User's Guide Version 10.3 176
M
Odd Header
APIs
Note: If the API is in the active state, you cannot modify the name and version of
the API. The API mocking section is unavailable for any changes.
Note: If the API is in the active state when you modify API details, the active
API is replaced with the modified API.
The modified APIs do not become effective for ongoing requests.
Updating APIs
You can update the definition of an existing API by uploading WSDL, Swagger, or
RAML file or URL. The uploaded file can also be in a ZIP format. When an API is
updated, it retains the Expose to consumers seings, the existing scope definitions, the
configured policies, and the REST-enabled path configurations for SOAP API. You can
also edit an API using the Edit option for minor edits, whereas the update feature helps
you to overwrite the complete API definition using a file or a URL at the same time.
You can update an active API. You cannot modify the name and version of an API while
updating an active API.
Note: The active APIs are replaced with the updated API. The updated APIs do
not become effective for ongoing requests. Updates to an activated API are
propagated across a cluster and trigger a hot deploy on each cluster node
separately.
webMethods API Cloud: API Gateway User's Guide Version 10.3 177
M
Even Header
APIs
Field Description
Root File Name If you have selected a file in ZIP format, type
the relative path of the main file within the ZIP
file.
Name Name for the API. Edit or delete the name of the
existing API displayed.
If you provide an API name, this overwrites
the API name mentioned in the uploaded
file and the API is updated with the name
provided.
If you do not provide an API name, the API
name mentioned in the uploaded file is picked
up and the API is updated with that name.
webMethods API Cloud: API Gateway User's Guide Version 10.3 178
M
Odd Header
APIs
Field Description
6. Click Update.
The API definition is updated with the latest changes from the file and is displayed
in the API details page.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 179
M
Even Header
APIs
Field Description
be updated using only the WSDL file type
information that the URL is pointing to. The
entity sets, singletons, function imports, and
action imports of an OData API can only be
updated by a re-import of the OData API
definition through the URL.
Name Name for the API. The existing name of the API
is automatically displayed.
If you provide an API name, this overwrites
the API name mentioned in the file referred
by URL and the API is updated with the name
provided.
If you do not provide an API name, the API
name mentioned in the file referred to by URL
is picked up and the API is updated with that
name.
webMethods API Cloud: API Gateway User's Guide Version 10.3 180
M
Odd Header
APIs
Field Description
6. Click Update.
The API definition is updated with the latest changes from the URL and is displayed
in the API details page.
API Mocking
Using API Gateway, you can mock an API by simulating the native API. For example, if
you have an API without a native implementation, you can mock that API. The mocked
response is returned to the consumer when the API is invoked.
In API Gateway, when you enable mocking for an API, a default mock response is
configured for each combination of resource, operation, status code, and content-type
based on the example and schema specified in that API. You can add a condition to the
operation in the resource.
As an API Provider, you can create or modify the default mock response. You can
specify conditions and associate an IS service with the mocked API. When an IS
service is associated with a mocked API, the associated IS service must adhere to the
apigateway.specifications:mockService specification.
At runtime, when the mocked API is invoked, instead of calling the native API, API
Gateway returns the mocked response to the consumer based on the following priorities:
1. If any of the conditions for the invoked operation satisfies, API Gateway returns the
associated mocked response.
webMethods API Cloud: API Gateway User's Guide Version 10.3 181
M
Even Header
APIs
2. If any of the conditions for the invoked operation is not satisfied, and if an IS service
is configured for the API, then API Gateway invokes the IS service and returns the IS
service response.
3. If any of the conditions for the invoked operation is not satisfied, and if an IS
service is not configured for the API, then API Gateway returns the default mocked
response.
API mocking is supported only for SOAP and REST APIs.
Note: You must have the API Gateway's manage APIs or activate/deactivate APIs
functional privilege assigned to perform API mocking.
Note: You cannot enable or disable API mocking for active APIs.
webMethods API Cloud: API Gateway User's Guide Version 10.3 182
M
Odd Header
APIs
Field Description
Run as user Type the user name you want API Gateway to
use to invoke the IS service.
6. Select the operation that you want to modify from the Mocked responses section.
7. Click Add Response if you want to add a response and select the status code from the
drop-down.
8. Click .
This adds the status code created to the existing status code list.
9. Select the status code you want to modify.
10. Click + Add Response Header and provide the following information to add the
required response headers:
Field Description
11. Click + Add Content-type to add a content-type to the status code selected and provide
the following information:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 183
M
Even Header
APIs
12. Click + Add Conditions to add a condition to the operation in the resource:
Field Description
Key The key can be a string for the header and query
parameter and for body it can be a JSON path or
an XML path.
Status code Select the status code from the drop-down list.
webMethods API Cloud: API Gateway User's Guide Version 10.3 184
M
Odd Header
APIs
Field Description
Custom Replacer
API Gateway allows you to send a dynamic custom response instead of a static
mocked response to the consumer when the mocked API is invoked. In the mocked
response, you can specify multiple custom replacers. Custom replacer is used
to replace the custom variables with the values defined in the request headers,
query parameters, and request body. The custom replacer is available in the
${request.<ConditionParameter>.<Key|JsonPath|XPath>} format. The custom
replacers are:
${request.header.<headerKey>}: To replace the value of the headerKey from the
request headers.
${request.query.<queryKey>}: To replace the value of the queryKey from the
query parameters in the request URL.
${request.body.<JsonPath|XPath>}: To replace the value of the <JsonPath|
XPath> from the request body.
webMethods API Cloud: API Gateway User's Guide Version 10.3 185
M
Even Header
APIs
script files, and project plan with an API. For example, SOAP APIs can contain external
documents such as Functional Requirements, Error Messages, Release Notes, and so on.
When aaching a document to an API, keep the following points in mind:
You cannot aach or modify a document to the API if it is in active state. You have to
deactivate the API before aaching or modifying it.
API Gateway relies on file extensions to determine a file's type. When you upload
a file from your local machine to the API, be sure the name of the file on your local
machine includes a file extension so that API Gateway can determine the file's type
and aach it correctly to the API.
You cannot upload types of files that are restricted for aaching as the input
document to the API.
API Gateway provides the ability to restrict certain kinds of files from
being uploaded to the API, based on the file extension. The list of
restricted files may vary depending on the file extensions configured in the
apiDocumentsRestrictedExtension property under Administration > Extended
settings section.
When you try to upload a file type that is restricted, API Gateway prompts you with
an error message.
By default, several standard file extensions are blocked in API Gateway, including
any file extensions that are treated as executable files by Windows Explorer. The file
extensions blocked by default are - .bat, .bin, .dll, and .exe.
You cannot upload files that exceed the maximum allowed size for the API.
API Gateway provides the ability to limit the maximum file upload
size to the API. The maximum file upload size is configured in the
apiDocumentsUploadSizeLimitInMB property under Administration > Extended
settings section.
When you try to upload a file that exceeds the maximum file upload size, API
Gateway prompts you with an error message.
You can rename an uploaded document. When you rename a document, only the
display name of the document could be modified, not the document itself. If you
want to modify the document as well, you must delete the file aachment, and aach
the latest file.
To attach document
1. Click APIs in the title navigation bar.
A list of all registered APIs appears.
2. Select the required API.
The API details page appears.
3. Click Edit.
webMethods API Cloud: API Gateway User's Guide Version 10.3 186
M
Odd Header
APIs
4. Click Documentation.
5. Click Browse to select a file and upload it.
6. Rename the document in the Display Name field as required.
This is the display name of the document in the API details page.
7. Click Add.
The aached document is listed in a table. You can edit and delete the document by
clicking the and icons.
8. Repeat steps 5 to 7 for each document that you want to aach to the API.
9. Click Save.
Note: You must have the API Gateway's manage APIs or activate/deactivate APIs
functional privilege assigned to perform this task.
webMethods API Cloud: API Gateway User's Guide Version 10.3 187
M
Even Header
APIs
5. Click to activate the SOAP to REST transformation for the SOAP operations.
Alternatively, you can activate the SOAP to REST transformation for multiple SOAP
operations simultaneously by clicking the Transform all operations activation toggle
buon.
6. Select the operation to edit the SOAP operations.
7. Click Save.
The API details page for the selected API appears.
8. Click REST transformation.
A list of REST resources for the SOAP operations appears. Click on each resource to
view the details that are already available as REST definitions.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 188
M
Odd Header
APIs
Field Description
8. Click + Add Parameter and provide the following information to add the required
resource level parameters:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 189
M
Even Header
APIs
Field Description
9. Select one of the available methods: GET, POST, PUT, or DELETE. By default, POST
is selected.
By default, API Gateway generates the sample JSON request and response based
on the XML schema definitions of the SOAP API. Additionally, you can provide a
schema and modify the generated sample.
10. Click Add Request and provide the schema and a sample for the content-type.
11. Click Add Response and select the status code from the drop-down and provide a
description for the status code selected.
Additionally, to add a content-type to the status code selected, click the status
code to which you want to add a content-type and select the Content type. Provide
a schema and a sample for the content-type selected. By default, status code 200 is
automatically generated by the system.
12. Click REST transformation.
A list of SOAP operations already exposed to the consumers as well as to be
transformed from SOAP to REST appears. By default, all the SOAP operations are in
inactive state.
13. Click to activate the SOAP to REST transformation for the SOAP operations.
Alternatively, you can activate the SOAP to REST transformation for multiple SOAP
operations simultaneously by clicking the Transform all operations activation toggle
buon.
14. Select the operation to edit the SOAP operations.
15. Click Save.
The API details page for the selected API appears.
16. Click REST transformation.
A list of REST resources for the SOAP operations appears. Click on each resource to
view the details that are already available as REST definitions.
17. Click Save.
webMethods API Cloud: API Gateway User's Guide Version 10.3 190
M
Odd Header
APIs
multipart/form-data or
multipart/mixed
application/x-www-form-
urlencoded
application/x-www-form-
urlencoded
multipart/form-data or
multipart/mixed
Note: If a content-type is not specified, then the request verifies the value of the
Set Media Type parameter. If the value of the Set Media Type parameter
is not defined, then by default, for POST and PUT HTTP methods, the
application/json content-type is used. Whereas for GET and DELETE
HTTP methods, the application/x-www-form-urlencoded content-type is
used.
webMethods API Cloud: API Gateway User's Guide Version 10.3 191
M
Even Header
APIs
Note: The REST-enabled SOAP API cannot be invoked using the /rest directive.
webMethods API Cloud: API Gateway User's Guide Version 10.3 192
M
Odd Header
APIs
webMethods API Cloud: API Gateway User's Guide Version 10.3 193
M
Even Header
APIs
or
/ws/
CalcService/
add?num1=10
or
/ws/
CalcService/
add?
num1=10&num2=3
or
/ws/
CalcService/
add/
{num1}&num2=3
<ws:addInts
Hierarchical /ws/ xmlns:ws="http:test">
elements CalcService/ <num1></num1> <num2></
num2></ws:addInts>
add/{num1}/
anotherNumber/
{num2}
multipart/form-data
If you send the multipart/form-data content-type as the REST request, then you need
to optimize the method to be used. This optimization is based on the value specified in
the SOAP Optimization Method parameter available in Routing policy. The default
optimization type is Message Transmission Optimization Mechanism (MTOM). For
example, API Gateway converts REST requests with multipart/form-data and
multipart/mixed types as follows:
1. The Multipurpose Internet Mail Extensions (MIME) parts that have a content ID or
name that match the elements of type base64Binary or hexBinary in the schema
are added as aachments to the outbound request.
2. Parts other than the content ID or name types are converted into XML depending on
the content-type of the MIME part. The application/xml and application/json
content-types are converted. If API Gateway is unable to process the MIME part, it
wraps the MIME part inside an XML element with the name of the content ID.
webMethods API Cloud: API Gateway User's Guide Version 10.3 194
M
Odd Header
APIs
Limitations
The following limitations apply when you perform a SOAP to REST transformation:
When the API provider defines the mapping for the SOAP operation to the REST
resource or method, API Gateway allows him to specify either the path and the
query parameters or the body but not both. These mappings are used when
transforming the incoming REST request to the SOAP request.
If both path and query parameters and body are sent in the incoming REST request,
then the path and the query parameters are ignored.
If your REST resource accepts the text/xml content-type, then you cannot modify
the default resource path and resource name automatically generated by the system.
This name must be same as the SOAP operation name. However, this limitation is
not applicable for other content-types.
The HTTP method filters of the global policy are not applicable to the REST
transformed method of the SOAP API.
The REST (REST transformed SOAP operations) resources do not appear as general
REST resources when filtered in the Scopes section of the API in API Gateway.
You cannot apply the Inbound Authentication-Message policy to the SOAP operation
enabled as REST.
The SOAP services that have Web Services Interoperability Organization (WS-I) non-
compliant WSDLs cannot be REST-enabled.
Versioning APIs
API Gateway supports the creation of new API versions from the existing versions. The
new API has the same metadata but with an updated version. The version can either be
a number or a string.
The API details page has a drop-down list that displays all the existing API versions.
You can create a new version of an API and retain applications that are associated with
older versions of the API. When an API is updated, it retains the Expose to consumers
seings, the existing scope definitions, the configured policies, and the REST-enabled
path configurations for SOAP API.
webMethods API Cloud: API Gateway User's Guide Version 10.3 195
M
Even Header
APIs
1.1. However, you can delete the intermediate versions. Additionally, even though the
owner of the older API version is a different provider, when you create a new version of
the API, you are the owner of the newly created version of the API. The new API version
is in inactive state, irrespective of the state of the API from which it was versioned.
Note: The version is appended to the Gateway endpoint(s) URL once the API is
activated and this can be seen in the Technical information section of the API
details page. When a client application invokes the API without the version in
the endpoint, API Gateway invokes the latest version.
API Scopes
API definitions can be complex and span across multiple REST resources and methods,
or SOAP operations for an API. To reduce the complexity of an API definition, you can
define scopes and impose a set of policies on each scope to suit your requirements.
A scope represents a logical grouping of REST resources, methods, or both, and SOAP
operations in an API. You can then enforce a specific set of policies on each individual
scope in the API.
An API can have a set of declared scopes. The available scopes for an API are listed in
the Scopes tab of the API details page.
webMethods API Cloud: API Gateway User's Guide Version 10.3 196
M
Odd Header
APIs
You can define a set of policies and configure its properties for each individual scope.
These policies apply to each of the resources, methods, or operations that are associated
to the scope.
Instructions throughout the remainder of this guide use the term scope-level policy when
referring to a set of policies configured for an individual scope of the API.
Note: Ensure that you have a unique set of resources, methods, or operations in
every scope in the API.
To create a scope
1. Click APIs in the title navigation bar.
A list of APIs available in API Gateway appears.
2. Click the name of the required API.
This opens the API details page.
3. Click Edit.
If the API is active, API Gateway prompts you to deactivate it.
4. Click the Scopes tab.
This displays a list of scopes available in the API.
5. In the List of scopes section, click Add scope.
6. In the Basic information section, provide the required information for each data
fields that appears:
Field Description
7. Applicable only for REST APIs. In the Resources and methods section, select the
resources, methods, or both, you want to associate to this scope.
When selecting a resource or method for the scope definition, you can select whether
you want some or all of the methods within that resource to be selected as well.
8. Applicable only for SOAP APIs. In the Operations section, select the operations you
want to associate to this scope.
webMethods API Cloud: API Gateway User's Guide Version 10.3 197
M
Even Header
APIs
9. Click Save.
The scope is created and listed in the List of scopes section.
Post-requisites:
Activate the API when you are ready to put it into effect.
To apply and configure policies for this API scope, see “ Creating a Scope-level
Policy” on page 373.
webMethods API Cloud: API Gateway User's Guide Version 10.3 198
M
Odd Header
APIs
To delete a scope
1. Click APIs in the title navigation bar.
A list of all registered APIs appears.
2. Click the name of the required API.
This opens the API details page.
3. Click Edit.
webMethods API Cloud: API Gateway User's Guide Version 10.3 199
M
Even Header
APIs
If the API is active, API Gateway displays a warning message to let you know that
the API is active.
4. Click the Scopes tab.
This tab displays a list of scopes available with the API.
5. In the List of scopes section, locate the name of the scope you want to delete.
6. Click the Delete ( ) icon next to the scope name.
7. Click Yes in the confirmation dialog.
The scope is removed from the List of scopes section.
8. Click Save to save the updated API.
Activate the API, if it is not active, to put it into effect.
POST
PUT
DELETE
webMethods API Cloud: API Gateway User's Guide Version 10.3 200
M
Odd Header
APIs
In the following section, we demonstrate the application of scopes and the policy
enforcement using Resource C: /phones/orders/{order-id}/paymentdetails of the
PhoneStore API.
You can create scopes in the PhoneStore API, and define the individual scopes with a
specific set of resources, methods, or both.
Assume you have an API-level policy which enforces an Identify and Authorize
Application policy with HTTP Basic Authentication for the PhoneStore API. Now, you
might need to have different authentication mechanisms for different methods and
resources (collectively, scopes) of the PhoneStore API, depending on the level of access
you need.
For example, you might want to enforce an Inbound Authentication - Transport policy
with Require HTTP Basic Authentication for the Resource C in PAYMENT Scope
to enforce secured access to the data. You might also want to apply an Identify and
Authorize Application policy with API Key authentication and Throling Traffic
Optimization policy (with 5 API invocations per minute), in particular, for the POST
method of the Resource C in WRITE Scope to enforce a higher-level of secured access
and manipulation of the REST data.
webMethods API Cloud: API Gateway User's Guide Version 10.3 201
M
Even Header
APIs
API-level Policy Identify and Authorize Application policy with HTTP Basic
Authentication
The precedence of the policy enforcement effective for an API at run-time is as follows:
1. Global Policy Enforcement
2. Method-level Policy Enforcement (REST APIs) -OR- Operation-level Policy
Enforcement (SOAP APIs)
3. Resource-level Policy Enforcement (REST APIs)
4. API-level Policy Enforcement
The specific aspect of processing during the handling of an API invocation at run-time in
API Gateway can be best understood with the following scenarios:
Scenario A: Invoke GET method on the Resource C: /phones/orders/{order-id}/
paymentdetails
Global Policy: Not applicable
Method-level Policy: Not applicable
Resource-level Policy(s): Inbound Authentication - Transport
API-level Policy: Identify and Authorize Application policy with HTTP Basic
Authentication
As per the precedence of policy enforcement, the Inbound Authentication - Transport at
the resource-level and the Identify and Authorize Application policy with HTTP Basic
Authentication at the API-level are enforced at run-time.
The effective policy set enforced on the API for the GET method at run-time includes:
Inbound Authentication - Transport
Identify and Authorize Application policy with HTTP Basic Authentication
Scenario B: Invoke POST method on the Resource C: /phones/orders/{order-id}/
paymentdetails in WRITE Scope
webMethods API Cloud: API Gateway User's Guide Version 10.3 202
M
Odd Header
APIs
webMethods API Cloud: API Gateway User's Guide Version 10.3 203
M
Even Header
APIs
ensure that it contains no conflicting or incompatible policies. If the list contains conflicts
or inconsistencies, API Gateway prompts you with an error message.
Consider that you modify the existing UPDATE scope to include a POST method for
Resource C. The API Scopes definition now looks like this:
webMethods API Cloud: API Gateway User's Guide Version 10.3 204
M
Odd Header
APIs
Option 1: Remove the existing association between the POST method and the WRITE
Scope or UPDATE Scope through the API Scope details.
Option 2: Delete the WRITE Scope or UPDATE Scope.
Option 3: Remove the Identify and Authorize Application policy from the WRITE
Scope or UPDATE Scope.
Note: Be aware that API Gateway does not allow you to activate a REST API if none
of the methods in the API are selected for exposing to other applications.
You must select at least one method of the REST API to enforce runtime
invocations.
webMethods API Cloud: API Gateway User's Guide Version 10.3 205
M
Even Header
APIs
a. To select a resource, switch on the Expose to consumers buon next to the resource
URI.
You can select one or more resources to expose to other applications.
b. To select a method within the resource, click on the resource path. In the
expanded list of methods, switch on the Expose to consumers buon next to the
method name.
You can select one or more methods to expose to other applications.
5. Click Save to save the updated API.
Activate the API, if it is not active, to put it into effect.
Note: Be aware that API Gateway will not allow you to activate a SOAP API if none
of the operations in the API are selected for exposing to other applications.
You must select at least one operation of the SOAP API to enforce runtime
invocations.
webMethods API Cloud: API Gateway User's Guide Version 10.3 206
M
Odd Header
APIs
4. Click Operations.
This displays a list of operations available in the API.
a. To select an operation, switch on the Expose to consumers buon next to the
operation URI.
You can select one or more operations to expose to other applications.
5. Click Save to save the updated API.
Activate the API, if it is not active, to put it into effect.
API Grouping
You can group APIs based on various categories. Categories help consumers locate APIs
easily. For example, if you are offering APIs to help your consumers manage their sales
and ordering beer, classifying the APIs under Sales and Ordering helps them locate
these APIs easily.
The default groups available under which you can group the APIs are Finance Banking
and Insurance, Sales and Ordering, Search, and Transportation and Warehousing. If you want to
include more groups you can update the property apiGroupingPossibleValues under
Administration > Extended settings that enables API grouping. You can modify the existing
list of groups by deleting or adding new group names as comma separated values in this
field. Ensure that the group name does not contain a comma as part of the name.
API grouping can be applied in one of these ways:
While creating an API from scratch
While editing an API
You can select one or more groups in the API grouping field. When an API is published to
API Portal, the published APIs in API Portal are grouped as per the group assigned.
API Tagging
Tags are words or phrases that act as keywords for categorizing, identifying, and
organizing APIs.
In API Gateway, you can assign tags to APIs, and their resources, methods, or
operations. Tags help to logically catagorize APIs in different ways, for example, by
usage, owner, consuming application, or other criteria. Tags are especially useful when
there are multiple APIs of the same type - it enables to quickly identify a specific API
based on the tag assigned to it. For example, you can assign the tag GET-Methods to
specific GET methods in different REST APIs, and use it to search for the list of REST
APIs with the GET-Methods tag in API Gateway.
You can use tagging, for example, to do the following:
webMethods API Cloud: API Gateway User's Guide Version 10.3 207
M
Even Header
APIs
To tag an API
1. Click APIs in the title navigation bar.
A list of all registered APIs appears.
webMethods API Cloud: API Gateway User's Guide Version 10.3 208
M
Odd Header
APIs
Exporting APIs
You must have the API Gateway's export assets privilege assigned to perform this task.
Note: API Gateway supports backward compatibility for all the exported APIs from
API Gateway 10.1 version or higher.
To export an API
1. Click APIs in the title navigation bar.
2. Select the required API from the list of available APIs.
3. Click to export a single API.
Alternatively, you can select multiple APIs to be exported simultaneously by clicking
the checkboxes adjacent to the names of the API.
webMethods API Cloud: API Gateway User's Guide Version 10.3 209
M
Even Header
APIs
Exporting Specifications
For a REST API, you can export specifications in Swagger and RAML formats to your
local system. Similarly, for a SOAP API, you can export a specification in WSDL format
to your local system. The exported WSDL is in a ZIP format consisting of the WSDL file
whereas for Swagger and RAML the respective files are directly exported. API Gateway
supports the following versions:
Swagger 2.0 for a Swagger file
RAML 0.8 for a RAML file
You can export APIs that have been created from scratch or by importing their respective
definitions. The Swagger or RAML definition provides the consumer view on a REST
API deployed to the API Gateway. Similarly, the WSDL definition provides the
consumer view on a SOAP API. Consumer view indicates that the Swagger, RAML,
or WSDL definitions contain the API Gateway endpoint and information about those
resources and operations, which are exposed to customers.
Note: In the downloaded Swagger document, the valid JSON schemas aached to a
response or a request does not always appear. Only the valid JSON schemas
appear correctly. For any other schema information just the generic JSON
schema such as {"type":"object"} appears.
webMethods API Cloud: API Gateway User's Guide Version 10.3 210
M
Odd Header
APIs
Deleting APIs
Deleting an API permanently removes the API from API Gateway.
When deleting an API, keep the following points in mind:
You cannot delete an API if it is in active state. You have to deactivate the API before
deleting it.
You must have the Manage APIs functional privilege.
When you delete an API, performance metrics and event information of the API are
also deleted.
To delete an API
1. Click APIs in the title navigation bar.
A list of all APIs appears.
2. Click the Delete icon for the API that you want to delete.
3. Select the Force delete option to delete an API forcefully. API Gateway ignores any
failures even if the API is used by other applications, and clears all data from the API
Gateway database.
4. Click Yes in the confirmation dialog.
The API is deleted forcefully.
webMethods API Cloud: API Gateway User's Guide Version 10.3 211
M
Even Header
APIs
Parameter Description
API Gateway writes these results to the Audit logs dashboard, so you can view them
later.
7. Click Download the detailed report here to download the detailed report as an HTML
file.
webMethods API Cloud: API Gateway User's Guide Version 10.3 212
M
Odd Header
APIs
The defined HTTP method (GET) for accessing the resource (phones)
Parameters for request representations (412456)
A request generated for this method (Request 123)
A response with the status code received for this request (Response ABCD)
The example API phonestore that we consider here is defined to support an online
phone store application. Assume, this sample phonestore API currently has a database
that defines the various brands of phones, features in the individual phones, and the
inventory of each phone. This API is used as a sample to illustrate how to model URL
paerns for resources, resource methods, HTTP headers and response codes, content
types, and parameters for request representations to resources.
Base URL
The base URL of an API is constructed by the domain, port, and context mappings of the
API. For example, if the server name is www.phonestore.com, port is 8080, and the API
context is api. The full Base URL is:
http://www.phonestore.com:8080/api
API Parameters
Parameters defined at the higher API level are inherited by all Resources and Methods
included in the individual resources.
API Resources
Resources are the basic components of an API. Examples of resources from an online
phonestore API include a phone, an order from a store, and a collection of customers.
After you identify a service to expose as an API, you define the resources for the API.
For example, for the online phonestore API, there are a number of ways to represent the
data in the phone store database as an API. The verbs in the HTTP request maps to the
operations that the database supports, such as select, create, update, delete.
Each resource has to be addressed by a unique URI. Along with the URI you're going
to expose for each resource, you also need to decide what can be done to each resource.
The HTTP methods passed as part of an HTTP request header directs the API on what
needs to be done with the addressed resource.
Resource URLs
An URL identifies the location of a specific resource.
For example, for the online phonestore API, the resources have the following URLs:
URL Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 213
M
Even Header
APIs
URL Description
API Gateway supports the following paerns of resource URL: a collection of resources
or a particular resource.
For example, in the online phonestore API, the paers are as follows:
Collection URL: http://phonestore.com/api/phones
Unique URL: http://phonestore.com/api/phones/412456/features to retrieve a
collection resource describing the key features of phone whose product code is 412456.
Resource Parameters
Parameters defined at the higher Resource level are inherited by all Methods in the
particular resource; it does not affect the API.
Resource Methods
Individual resources can define their capabilities using supported HTTP methods. To
invoke an API, the client would call an HTTP operation on the URL associated with the
API's resource. For example, to retrieve the key feature information for phone whose
product code is 412456, the client would make a service call HTTP GET on the following
URL:
http://www.phonestore.com/phones/412456/features
webMethods API Cloud: API Gateway User's Guide Version 10.3 214
M
Odd Header
APIs
Method Parameters
Parameters defined at the lower method level apply only to that particular method; it
does not affect either the API or the resource.
API Parameters
Parameters specify additional information to a request. You use parameters as part of the
URL or in the headers or as components of a message body.
Parameter Levels
A parameter can be set at different levels of an API. When you document a REST API in
API Gateway, you define parameters at the API level, Resource level, or Method level to
address the following scenarios:
If you have the parameter applicable to all resources in the API, then you define this
parameter at the API level. This indirectly implies that the parameter is propagated
to all resources and methods under the particular API.
webMethods API Cloud: API Gateway User's Guide Version 10.3 215
M
Even Header
APIs
If you have the parameter applicable to all methods in the API, then you define
this parameter at the resource level. This indirectly implies that the parameter is
propagated to all methods under the particular resource.
If you have the parameter applicable only to a method in the API, then you define
this parameter at the method level.
API-level Parameters
Seing parameters at the API level enables the automatic assignment of the parameters
to all resources and methods included in the API. Any parameter value you specify at
the higher API level overrides the parameter value you set at the lower resource level or
the lower method level if the parameter names are the same.
For example, if you have a header parameter called API Key that is used for consuming
an API.
x-Gateway-APIKey:a4b5d569-2450-11e3-b3fc-b5a70ab4288a
This parameter is specific to the entire API and to the individual components, that is
resources and methods, directly below the API. Such a parameter can be defined as a
parameter at the API level.
At an API level, API Gateway allows you to define the following types of parameters:
Query-String parameter
Header parameter
Resource-level Parameters
Seing parameters at the resource level enables the automatic assignment of the
parameters to all methods within the resource. Any parameter value you specify at the
higher resource level overrides the parameter value you set at the lower method level if
the parameter names are the same. In contrast, the lower resource level parameters do
not affect the higher API level parameters.
Consider the sample phonestore API maintains a database of reviews about different
phones. Here is a request to display information about a particular user review, 78 of the
phone whose product code is 412456.
GET /phones/412456/user_reviews/78
webMethods API Cloud: API Gateway User's Guide Version 10.3 216
M
Odd Header
APIs
Method-level Parameters
If you do not set parameters at the API level or resource level, you can set them at a
method level. Parameters you set at the method level are used for the HTTP method
execution. They are useful to restrict the response data returned for a HTTP request.
Any parameter value you specify at the lower method level is overridden by the value
set at higher API-level parameter or the higher resource-level parameter if the names are
the same. In contrast, the lower method-level parameters do not affect the higher API-
level or resource-level parameters.
For example, the phonestore API described might have a request to display information
contributed by user Allen in 2013 about a phone whose product code is 412456.
GET /phones/412456/user_reviews/78?year=2013&name=Allen
In this example, year=2013 and name=Allen narrow the focus of the GET request to
entries that user Allen added to user review 78 in 2013.
At a method level, API Gateway allows you to define the following types of parameters:
Query-String parameter
Header parameter
Parameter Types
API Gateway supports three types of parameters in REST API: Query-String, Header,
and Path.
Let's have a look at different parameter types to see how they can be used for
parameterizing the resources.
Query-String Parameters
Query-String parameters are appended to the URI after a ? with name-value pairs. The
name-value pairs sequence is separated by either a semicolon or an ampersand.
For instance, if the URL is http://phonestore.com/api/phones?
itemID=itemIDValue, the query parameter name is itemID and value is the
itemIDValue. Query parameters are often used when filtering or paging through HTTP
GET requests.
Now, consider the online phonestore API. A customer, when trying to fetch a collection of
phones, might wish to add options, such as, android v4.3 OS and 8MP camera. The URI
for this resource would look like:
/phones?features=androidosv4.3&cameraresolution=8MP
Header Parameters
Header parameters are HTTP headers. Headers often contain metadata information for
the client, or server.
x-Gateway-APIKey:a4b5d569-2450-11e3-b3fc-b5a70ab4288a
webMethods API Cloud: API Gateway User's Guide Version 10.3 217
M
Even Header
APIs
HTTP/1.1 defines the headers that can appear in a HTTP response in three sections of
RFC 2616: 4.5, 6.2, and 7.1. Examine these codes to determine which are appropriate for
the API.
Path Parameters
Path parameters are defined as part of the resource URI. For example, the URI can
include phones/item, where /item is a path parameter that identifies the item in the
collection of resource /phones. Because path parameters are part of the URI, they are
essential in identifying the request.
Now, consider the online phonestore API. A customer wishes to fetch details about a
phone {phone-id} whose product code is 412456. The URI for this resource would look
like:
/phones/412456
Important: As a best practice, Software AG recommends that you adopt the following
conventions when specifying a path parameter in the resource URI:
Append a path parameter variable within curly {} brackets.
Specify a path parameter variable such that it exactly matches the path
parameter defined at the resource level.
webMethods API Cloud: API Gateway User's Guide Version 10.3 218
M
Odd Header
APIs
This data type only accepts date values in the format yyyy-mm-
dd; and time values in the format hh:mm:ss
Category Description
1xx Informational.
2xx Success.
HTTP/1.1 defines all the legal status codes. Examine these codes to determine which are
appropriate for your API.
Now, consider the online phonestore API. The following table describes the HTTP status
codes that each of the URIs and HTTP methods combinations will respond:
webMethods API Cloud: API Gateway User's Guide Version 10.3 219
M
Even Header
APIs
webMethods API Cloud: API Gateway User's Guide Version 10.3 220
M
Odd Header
APIs
Accept-Encoding: text/xml
Connection: Keep-Alive
Server Response
HTTP/1.1 200 OK
Date: Mon, 29 August 11:53:27 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Mon, 18 July 2016 09:18:16 GMT
Content-Length: 356
Content-Type: text/xml
<phones>
<phone>
<name>Asha</name>
<brand>Nokia</brand>
<price currency="irs">11499</price>
<features>
<camera>
<back>3</back>
</camera>
<memory>
<storage scale="gb">8</storage>
<ram scale="gb">1</ram>
</memory>
<network>
<gsm>850/900/1800/1900 MHz</gsm>
</network>
</features>
</phone>
<phone>
<name>Nexus7</name>
<brand>Google</brand>
<price currency="irs">16499</price>
<features>
<camera>
<front>1.3</front>
<back>5</back>
</camera>
<memory>
<storage scale="gb">16</storage>
<ram scale="gb">2</ram>
</memory>
<network>
<gsm>850/900/1800/1900 MHz</gsm>
<HSPA>850/900/1900 MHz</HSPA>
</network>
</features>
</phone>
</phones>
Client Request
GET /phones/phone-4156 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.api.phonestore.com
Accept-Language: en-us
Accept-Encoding: text/xml
Connection: Keep-Alive
Server Response
POST /phones/phone HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.api.phonestore.com
Accept-Language: en-us
webMethods API Cloud: API Gateway User's Guide Version 10.3 221
M
Even Header
APIs
Accept-Encoding: text/xml
Content-Length: 156
Connection: Keep-Alive
<phones>
<phone>
<name>iPhone5</name>
<brand>Apple</brand>
<price currency="irs">24500</price>
<features>
<camera>
<front>1.2</front>
<back>8</back>
</camera>
<memory>
<storage scale="gb">32</storage>
<ram scale="gb">2</ram>
</memory>
<network>
<gsm>850/900/1800/1900 MHz</gsm>
<HSPA>850/900/1900 MHz</HSPA>
</network>
</features>
<phone>
</phones>
Server Response
HTTP/1.1 200 OK
Date: Mon, 29 August 11:53:27 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 18 June 2014 09:18:16 GMT
Content-Type: text/xml
Content-Length: 15
webMethods API Cloud: API Gateway User's Guide Version 10.3 222
M
Odd Header
APIs
<id>2122</id>
webMethods API Cloud: API Gateway User's Guide Version 10.3 223
M
Even Header
webMethods API Cloud: API Gateway User's Guide Version 10.3 224
M
Odd Header
Policies
5 Policies
■ Overview ..................................................................................................................................... 226
■ Policy Validation and Dependencies .......................................................................................... 228
■ Managing Threat Protection Policies ......................................................................................... 236
■ System-defined Stages and Policies ......................................................................................... 246
■ Managing Global Policies .......................................................................................................... 354
■ Managing API-level Policies ...................................................................................................... 369
■ Managing Scope-level Policies .................................................................................................. 372
■ Managing Policy Templates ....................................................................................................... 376
■ Supported Alias and Policy Combinations ................................................................................. 386
webMethods API Cloud: API Gateway User's Guide Version 10.3 225
M
Even Header
Policies
Overview
API Gateway provides a policy framework to manage and secure APIs.
A policy can be enforced on an API to perform specific tasks, such as transport, security,
logging, routing of requests to target services, and transformation of data from one
format to another. You can also define a policy to evaluate and process the various API
invocations at run-time. For example, a policy could instruct API Gateway to perform
any of the following tasks and prevent malicious aacks:
Verify that the requests submied to an API come from applications that are
authenticated and authorized using the specified set of identifiers in the HTTP
header to access and use the particular API.
Validate digital signatures in the security header of request and response messages.
Monitor a user-specified set of run-time performance conditions and limit the
number of invocations during a specified time interval for a particular API and for
applications, and send alerts to a specified destination when these performance
conditions are violated.
Log the request and response messages, and the run-time performance
measurements for APIs and applications.
Policies are grouped into stages as per their usage. For example, the policies in a Threat
Protection stage can be enforced for all APIs to protect against malicious aacks that
could cause problems such as, large and recursive payloads, viruses, scanning with
external systems, and SQL injections. The policies in the Identify and Access stage can
be enforced on an API to specify the kind of identifiers that are used to identify the
application and authorize it against all applications registered in API Gateway.
Policy enforcement mode
You can enforce policies in an API in the following ways:
Global Policies: You can apply a global policy to all APIs or the selected set of APIs.
You do this by configuring the filters for the API and the policy configuration in the
Global Policy details page. The global policies apply globally to the selected APIs.
Policy Templates: You can apply one or more policy templates to an API. You do this
by applying the policy templates in the API details page. These policy templates
apply at the API-level, and can be customized to suit the needs of a particular API.
API-specific Policies: You can apply one or more individual policies to an API. You do
this by applying the policies in the API details page. These policies apply at the API-
level, and can be customized to suit the needs of a particular API.
API Scope-specific Policies: You can apply one or more policies at the scope-
level of an API. You do this by defining the API scopes with a collective set of
resources, methods, or operations in the API details page. These policies apply
webMethods API Cloud: API Gateway User's Guide Version 10.3 226
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 227
M
Even Header
Policies
Authorize Application policy applied through the global policy takes precedence and is
processed at run-time.
Similarly for a REST API, Identify and Authorize Application policy is applied through
a scope-level policy (at the resource-level) and also at the API-level, the Identify and
Authorize Application policy applied through the scope-level policy takes precedence
and is processed at run-time.
Transaction logging policy
API Gateway provides a system global policy, Transaction logging, which is shipped with
the product. By default, the policy is in the Inactive state. The transaction logging policy
has standard filters and log invocation policy that log request or response payloads to
a specified destination. You can edit this policy to include additional filters or modify
the policy properties but you cannot delete this policy. You can activate this policy in
the Polices > Global policies page or through the Global Policy details page. Activating the
policy enforces it on all APIs in API Gateway based on the configured filters and logs
transactions across all the APIs. If you have multiple log invocation policies assigned
to an API, the policies are compiled into a single policy and the one transaction log is
created per destination.
webMethods API Cloud: API Gateway User's Guide Version 10.3 228
M
Odd Header
Policies
include only one Identify and Authorize Application policy. If the resulting policy list
contains multiple Identify and Authorize Application policies, API Gateway shows the
conflict by including an including a Conflict ( ) icon next to the name of the conflicting
policies in the effective policy.
The following table shows:
The order in which API Gateway evaluates the policies.
Policy dependencies (that is, whether a policy must be used in conjunction with
another particular policy).
Conflicting or incompatible policies.
Whether a policy can be included multiple times in a single API. If a policy cannot
be included multiple times in a single API, API Gateway selects one (depending on
the precedence of the policy at the enforcement level) for the effective policy and
processes at run-time.
Policy Validation and Dependencies:
webMethods API Cloud: API Gateway User's Guide Version 10.3 229
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 230
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 231
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 232
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 233
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 234
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 235
M
Even Header
Policies
Note: If you have deployed API Gateway in a paired gateway deployment scenario
with multiple instances of API Gateway connected using a load balancer for
threat protection, when you make a change in enforced rules on one of the
API Gateway instances you have to restart the other instances to synchronize
the rule enforcement across all the API Gateway instances.
webMethods API Cloud: API Gateway User's Guide Version 10.3 236
M
Odd Header
Policies
You can configure API Gateway to consider the total number of requests from all IP
addresses, or to consider the number of requests from individual IP addresses. For
example, you might want to limit the total number of requests received to 10 requests
in 10 seconds, and limit the number of requests coming from any single IP address to
2 requests in 10 seconds. When API Gateway detects that a limit has been exceeded, it
sends an alert. Depending on your configuration, API Gateway can temporarily block
requests from all clients, or deny requests from particular IP addresses.
webMethods API Cloud: API Gateway User's Guide Version 10.3 237
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 238
M
Odd Header
Policies
Configuring Rules
You can configure rules to filter malicious requests based on message size, requests from
specific mobile devices and applications that could be harmful, requests that could cause
an SQL injection aack, or use custom filters to avoid malicious aacks.
The logs generated by the threat protection rules are logged under Security log in
Integration Server. This logging action is disabled by default, you have to enable it to
log the threat protection logs. For details on how to enable the this logging action in
Integration server, see webMethods Integration Server Administrator’s Guide.
To configure rules
1. Click Policies in the title navigation bar.
2. Select Threat protection > Rules.
This displays a list of rules that are already configured.
3. Click Add rule.
4. In the Rule properties section provide the following information:
a. Type a name for the rule in the Rule name field.
webMethods API Cloud: API Gateway User's Guide Version 10.3 239
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 240
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 241
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 242
M
Odd Header
Policies
Field Description
Object entry name Specifies the maximum string length allowed for a
length field property name within an object.
String value length Specifies the maximum length allowed for a string
value.
webMethods API Cloud: API Gateway User's Guide Version 10.3 243
M
Even Header
Policies
Field Description
Text length Specifies a character limit for any text node present
in the XML document.
webMethods API Cloud: API Gateway User's Guide Version 10.3 244
M
Odd Header
Policies
Field Description
Custom filter
You can use the custom filter to invoke a service that is available on API Gateway
to perform actions such as custom authentication of external clients in the
DMZ, logging or auditing in the DMZ, or implementation of custom rules for
processing various payloads.
Set the Enable buon to the On position to enable the filter.
Click Browse and select a service to invoke it.
Select the user name of a user you want API Gateway to run the service. The
default value is Administrator.
6. Click Save.
The new rule is created and appears in the list of rules in the Rules page.
The rule is applied to requests only if the rule is enabled. You can enable the rule in the
Rules page by selecting the enable icon for the required rule.
You can add more entries by clicking . You can delete the added ones by
clicking .
4. Provide the mobile application name and click .
webMethods API Cloud: API Gateway User's Guide Version 10.3 245
M
Even Header
Policies
You can add more entries by clicking . You can delete the added ones by
clicking .
5. Click Save.
webMethods API Cloud: API Gateway User's Guide Version 10.3 246
M
Odd Header
Policies
Transport
The policies in this stage specify the protocol to be used for an incoming request and the
content type for a REST request during communication between API Gateway and an
application. The policies included in this stage are:
Enable HTTP/HTTPS
Set Media Type
Enable HTTP/HTTPS
This policy specifies the protocol to use for an incoming request to the API on API
Gateway. If you have a native API that requires clients to communicate with the server
using the HTTP and HTTPS protocols, you can use the Enable HTTP or HTTPS policy.
This policy allows you to bridge the transport protocols between the client and API
Gateway.
For example, you have a native API that is exposed over HTTPS and an API that receives
requests over HTTP. If you want to expose the API to the consumers of API Gateway
through HTTP, then you configure the incoming protocol as HTTP.
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 247
M
Even Header
Policies
Parameter Description
Parameter Description
Default Content- Specifies the default content type for REST request
Type received from a client.
Examples for content types: application/json,
application/xml.
Default Accept Specifies the default accept header for REST request
Header received from a client.
webMethods API Cloud: API Gateway User's Guide Version 10.3 248
M
Odd Header
Policies
The Authorize User policy authorizes the application against a list of users and a list of
groups registered in API Gateway.
The Identify and Authorize Application policy is used to identify the application,
authenticate the request based on policy configured and authorizes it against all
applications registered in API Gateway.
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 249
M
Even Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 250
M
Odd Header
Policies
Parameter Description
Signed Parts Click + Add signed part to add the required properties.
Select this option to sign parts of a SOAP request such
as the SOAP body or the SOAP headers.
Provide the following information:
Entire SOAP Body. Specifies signing of the entire SOAP
body.
All SOAP Attachments. Specifies signing of all the SOAP
aachments.
For the SOAP Header section, provide the following
information:
Header Name. Specifies the name for the SOAP header
field.
Header Namespace. Specifies the Namespace of the
SOAP header to be signed.
You can add more namespace prefixes and URIs by
clicking .
webMethods API Cloud: API Gateway User's Guide Version 10.3 251
M
Even Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 252
M
Odd Header
Policies
Parameter Description
client, and click to add. You can add more custom
token assertions in a similar way.
Click the Custom Token Assertion arrow to see a list of
all custom token assertions available in API Gateway.
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 253
M
Even Header
Policies
Parameter Description
Allow anonymous Specifies whether to allow all users to access the API
without restriction.
When you add a security policy and configure Allow
anonymous, all requests are allowed to pass through
to the native API, but the successfully identified
requests are grouped under the respective identified
application, and all unidentified requests are grouped
under a common application named unknown. While
you allow all requests to pass through you can perform
all application-specific actions, such as, viewing the
runtime events for a particular application, monitor
the service level agreement for a few applications and
send an alert email based on some criteria like request
count or availability, and throle the requests from a
particular application and not allow the request from
that application if the number of requests reach the
configured hard limit within configured period of time.
Identification Type. Specifies the identification type. You can select any of the
following.
API Key Specifies using the API key to identify and validate
the client's API key to verify the client's identity in the
registered list of applications for the specified API.
Hostname Address Specifies using host name address to identify the client,
extract the client's hostname from the HTTP request
header and verify the client's identity in the specified
list of applications in API Gateway.
Select one of the Application Lookup condition:
Registered applications. Tries to verify the client's
hostname against a list of registered applications for
the specified API.
Global applications. Tries to verify the client's hostname
against a list of all global applications available in API
Gateway.
webMethods API Cloud: API Gateway User's Guide Version 10.3 254
M
Odd Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 255
M
Even Header
Policies
Parameter Description
validate the client's claims, and verify the client's
identity against the specified list of applications in API
Gateway.
Select one of the Application Lookup condition:
Registered applications. Tries to verify the JWT against a
list of registered applications for the specified API.
Global applications. Tries to verify the JWT against a list
of all global applications available in API Gateway.
Note: You can use the claims in the JWT for further
processing using request transformation policy.
Kerberos Token Specifies using the Kerberos token to identify the client,
extract the client's credentials from the Kerberos token,
and verify the client's identity against the specified list
of applications in API Gateway.
Select one of the Application Lookup condition:
Registered applications. Tries to verify the Kerberos
token against a list of registered applications for the
specified API.
Global applications. Tries to verify the Kerberos token
against a list of all global applications available in API
Gateway.
OAuth2 Token Specifies using the OAuth2 token to identify the client,
extract the client's credentials from the HTTP request
header, and verify the client's identity against the
specified list of applications in API Gateway.
OpenID Connect Specifies using the OpenID (ID) token to identify the
client, extract the client's credentials from the ID token,
and verify the client's identity against the specified list
of applications in API Gateway.
Select one of the Application Lookup condition:
webMethods API Cloud: API Gateway User's Guide Version 10.3 256
M
Odd Header
Policies
Parameter Description
SSL Certificate Specifies using the SSL certificate to identify the client,
extract the client's identity certificate, and verify the
client's identity (certificate-based authentication)
against the specified list of applications in API
Gateway. The client certificate that is used to identify
the client is supplied by the client to API Gateway
during the SSL handshake over the transport layer.
Select one of the Application Lookup condition:
Registered applications. Tries to verify the client
certificate against a list of registered applications for
the specified API.
Global applications. Tries to verify the client certificate
against a list of all global applications available in API
Gateway.
webMethods API Cloud: API Gateway User's Guide Version 10.3 257
M
Even Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 258
M
Odd Header
Policies
Parameter Description
in the request has to be converted to. For
example: /name/id
Namespace Prefix. The namespace prefix of the
payload expression to be validated.
Namespace URI. The namespace URI of the
payload expression to be validated.
Request Processing
These policies are used to specify how the request message from an application has to
be transformed or pre-processed and configure the masking criteria for the data to be
masked before it is submied to the native API. This is required to protect the data and
accommodate differences between the message content that an application is capable of
submiing and the message content that a native API expects. The policies included in
this stage are:
Invoke webMethods IS
Request Transformation
Validate API Specification
Data Masking
Invoke webMethods IS
This policy pre-processes the request messages and transforms the message into the
format required by the native API or performs some custom logic, before API Gateway
sends the requests to the native APIs.
webMethods API Cloud: API Gateway User's Guide Version 10.3 259
M
Even Header
Policies
For example, you might need to accommodate differences between the message content
that a client is capable of submiing and the message content that a native API expects.
For example, if the client submits an order record using a slightly different structure
than the structure expected by the native API, you can use this action to process the
record submied by the client to the structure required by the native API.
If Comply to IS Spec parameter is configured as true, API
Gateway invokes the IS Service with IS specification in the path
pub.apigateway.invokeISService.specifications:RequestSpec for Request Processing
The following are the input and output parameters for REST and SOAP APIs as
specified in the above IS Specification.
Note: For SOAP to REST APIS, the payload contains the transformed SOAP
request.
In the 10.2 release, payload transformation does not happen automatically
for content-type transformation. When you change the content type,
ensure to do payload transformation also as part of IS Service. For
webMethods API Cloud: API Gateway User's Guide Version 10.3 260
M
Odd Header
Policies
If Comply to IS Spec parameter is set to false, API Gateway invokes the IS Service
with the same input and output parameters supported in 10.1 and the earlier versions:
proxy.name
JSONRESTContentString (REST only)
SOAPEnvelope (SOAP only)
EnvelopeString (SOAP only)
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 261
M
Even Header
Policies
Parameter Description
Request Transformation
This policy enables you to configure several transformations on the request messages
from clients into a format required by the native API before it is submied to the native
API.
The transformations include Header, Query Parameter, Path Parameter transformation,
HTTP Method transformation, Payload transformation, and Advanced transformation.
You can configure conditions according to which the transformations are executed.
API Gateway supports the following parameter types that can be used to configure the
transformation policy:
request.headers
jms.headers
request.query.QUERY_NAME (applicable only for REST API)
request.path(applicable only for REST API)
request.path.regex[Expression] (applicable only for REST API)
webMethods API Cloud: API Gateway User's Guide Version 10.3 262
M
Odd Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 263
M
Even Header
Policies
Parameter Description
${PARAMTYPE.QUERYTYPE[queryValue]} : This
syntax is applicable for payload and path. regex can
be applied on path while XPath, JSONPath and regex
can be applied on payload. For example:
${request.payload.xpath[//ns:emp/
ns:empName]} where //ns:emp/ns:empName is the
xpath to be applied on the payload if contentType is
application/xml
${request.payload.jsonPath[$.cardDetails.number]}
where $.cardDetails.number is the jsonPath to be
applied on the payload if contentType is application/
json
${request.payload.regex[[0-9]+]} where [0-9]+ is
the regex to be applied on the payload if contentType
is text/plain
If you want API Gateway to apply xpath,
jsonPath, regex based on Content-Type of the
payload, use the following common syntax:
${PARAMTYPE.QUERYTYPE[queryValue] ||
PARAMTYPE.QUERYTYPE2[queryValue2] || ...}
For example:
${request.payload.xpath[//
ns:emp/ns:empName] ||
request.payload.jsonPath[$.cardDetails.number]}
This applies xpath for application/xml and jsonPath
for application/json
webMethods API Cloud: API Gateway User's Guide Version 10.3 264
M
Odd Header
Policies
Parameter Description
${request.payload.xpath[//
ns:emp/ns:empName] ||
request.payload.jsonPath[$.cardDetails.number]
|| request.payload.regex[[0-9]+]} This applies
xpath for application/xml, jsonPath for application/
json, and regex for text/plain.
Operator: Specifies the operator to use to relate variable
and the value provided. You can select one of the
following:
Equals
Equals ignore case
Not equals
Contains
Exists
Value: Specifies a value with a syntax as follows:
PLAIN VALUE, for example, application/json
${PARAMTYPE.paramName}
${PARAMTYPE.QUERYTYPE[queryValue]}
${PARAMTYPE.QUERYTYPE[queryValue] ||
PARAMTYPE.QUERYTYPE2[queryValue2] || ...}
webMethods API Cloud: API Gateway User's Guide Version 10.3 265
M
Even Header
Policies
Parameter Description
${request.header.Content-Type},
${request.path.name}
For example:
${request.payload.xpath[//
ns:emp/ns:empName] ||
request.payload.jsonPath[$.cardDetails.number]}
This applies xpath for application/xml and jsonPath
for application/json
${request.payload.xpath[//
ns:emp/ns:empName] ||
request.payload.jsonPath[$.cardDetails.number]
|| request.payload.regex[[0-9]+]} This applies
xpath for application/xml, jsonPath for application/
json, and regex for text/xml.
webMethods API Cloud: API Gateway User's Guide Version 10.3 266
M
Odd Header
Policies
Parameter Description
the header value h1, the value h1 is replaced by the
path parameter petid.
${PARAMTYPE.paramName}
${PARAMTYPE.QUERYTYPE[queryValue]}
${PARAMTYPE.QUERYTYPE[queryValue] ||
PARAMTYPE.QUERYTYPE2[queryValue2] || ...}
You can add multiple variables and corresponding values
by clicking .
webMethods API Cloud: API Gateway User's Guide Version 10.3 267
M
Even Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 268
M
Odd Header
Policies
Parameter Description
also specify a particular user, you want API Gateway to
use to invoke the IS service.
Comply to IS Spec. Mark this as true if you want the input
and the output parameters to comply to the IS Spec
present in pub.apigateway.invokeISService.specifications
folder in wmAPIGateway package.
webMethods IS Service alias. Specifies the webMethods IS
service alias to be invoked to pre-process the request
messages.
webMethods API Cloud: API Gateway User's Guide Version 10.3 269
M
Even Header
Policies
The request sent to the API by an application must conform with the structure or format
expected by the API. The incoming requests are validated against the API specifications
in this policy to conform to the structure or format expected by the API.
Various API specifications validated are:
Schema:
The incoming requests are validated against the schema provided in the API
definition. The schema defines the elements and aributes and specifies the data
types of these elements to ensure that only appropriate data is allowed through to
the API.
For a REST API, the schema can be added inline or uploaded in the Technical
Information section on the API Details page. The validation depends on the Content-
type header in the request or Accept header in the response and the corresponding
schema validation would be executed. The default Content type/Accept header and
schema validation type mapping is as follows:
For a SOAP API, the WSDL and the referenced schema must be provided in a zip
format. The JSON schema validation is supported for the operations that are exposed
as REST.
Note: If schema mapping is not found for a content-type of the request in the
API, the behavior is as follows:
If schema mapping is not available in a REST API or SOAP-to-REST
transformed API, the validation is skipped.
If application/json is mapped to XML schema in the API definition,
then the JSON content in the request is validated against XML schema
to provide a backward compatibility support for APIs migrated from
the 10.1 version.
If only XML schema mappings exist for any of the content-types,
the payload is converted into XML and validated against all the
webMethods API Cloud: API Gateway User's Guide Version 10.3 270
M
Odd Header
Policies
XML schemas. If the payload is valid against one of the schemas, the
validation is successful.
If the payload is not XML convertible, the validation is not performed
and the request is allowed to reach the native API.
Query Parameters:
This is applicable only for a REST API. The incoming requests are validated against the
query parameters specified in the API definition.
Path Parameters:
This is applicable only for a REST API. The incoming requests are validated against the
path parameters specified in the API definition.
Content-types:
The incoming requests are validated against the content-types specified in the API
definition.
Note: When Content-type validation is selected for a SOAP API, the validation
fails in case of SOAP to REST scenarios and displays an error with 500
status code instead of 400 as displayed in the other scenarios.
when we have Content type validation selected for SOAP API,when SOAP TO REST
scenarios , this validation will not happen i.e An error will be thrown wi h 500 status
code and not 400 as the other scenarios
HTTP Headers:
The incoming requests are validated against the HTTP Headers specified in this
policy to conform to the HTTP headers expected by the API.
The runtime invocations that fail the specification validation are considered as policy
violations. You can view such policy violation events in the dashboard.
The table lists the API specification properties, you can specify for this policy, to be
validated:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 271
M
Even Header
Policies
Parameter Description
Query Parameters This is applicable only for a REST API. Validates the query
parameters in the incoming request against the query
parameters defined in that request's API Specification. The
configuration is provided in the API details page.
Path Parameters This is applicable only for a REST API. Validates the path
parameters in the incoming request against the path
parameters defined in that request's API Specification. The
configuration is provided in the API details page.
webMethods API Cloud: API Gateway User's Guide Version 10.3 272
M
Odd Header
Policies
Parameter Description
Data Masking
Data masking is a technique whereby sensitive data is obscured in some way to render
it safe and to protect the actual data while having a functional substitute for occasions
when the real data is not required.
This policy is used to mask sensitive data at the application level. At the application level
you must have an Identify and Access policy configured to identify the application for
which the masking is applied. If no application is specified then it will be applied for
all the other requests. Fields can be masked or filtered in the request messages received.
You can configure the masking criteria as required for the XPath, JSONPath, and Regex
expressions based on the content-type. This policy can also be applied at the API scope
level.
The table lists the content-type and masking criteria mapping.
application/xml XPath
text/xml
text/html
application/json JSONPath
application/json/
badgerfish
text/plain Regex
The table lists the masking criteria properties that you can configure to mask the data in
the request messages received:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 273
M
Even Header
Policies
Parameter Description
XPath: Specifies the masking criteria for XPath expressions in the request
messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required.
You select either Mask or Filter. Selecting Mask replaces
the value with the given value (the default value being
********). Selecting Filter removes the field completely.
Query expression. Specify the query expression that has
to be masked or filtered.
For example: /pet/details/status, /user/details/card/
ccnumber.
Mask Value. This is available if masking type selected
is Mask. Provide a mask value. For example: sold, any
mask value #####.
webMethods API Cloud: API Gateway User's Guide Version 10.3 274
M
Odd Header
Policies
Parameter Description
JSONPath: This is applicable only for REST API. Specifies the masking criteria for
JSONPath expressions in the request messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required.
You select either Mask or Filter. Selecting Mask replaces
the value with the given value (the default value being
********). Selecting Filter removes the field completely.
Query expression. Specify the query expression
that has to be masked or filtered. For example:
$.pet.details.status
Mask Value. This is available if masking type selected is
Mask. Provide a mask value. For example: sold
Regex: Specifies the masking criteria for regular expressions in the request
messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required.
You select either Mask or Filter. Selecting Mask replaces
the value with the given value (the default value being
********). Selecting Filter removes the field completely.
Query expression. Specify the query expression that has
to be masked or filtered. For example: [0-9]+
Mask Value. This is available if masking type selected is
Mask. Provide a mask value. For example: ########
Apply for Select this option to apply masking criteria for transactional
transaction logs.
Logging
Apply for payload Select this option to apply masking criteria for payload in
the incoming request.
webMethods API Cloud: API Gateway User's Guide Version 10.3 275
M
Even Header
Policies
Routing
The policies in this stage enforce routing of requests to target APIs based on the rules
you can define to route the requests and manage their respective redirections according
to the initial request path. The policies included in this stage are:
Content-based Routing
Context-based Routing
Dynamic Routing
Load Balancer Routing
Straight Through Routing
Custom HTTP Header
Outbound Authentication - Transport
Outbound Authentication - Message
JMS/AMQP Routing
JMS/AMQP Properties
In cases where the internal server is protected by a firewall, the endpoint in the
routing policy that is applied should be configured as apigateway://registrationPort-
aliasname /relative path of the API . Here the registration port alias name is the alias name
configured for the external registration port to communicate with the internal port.
Content-based Routing
If you have a native API that is hosted at two or more endpoints, you can use the
Content-based routing protocol to route specific types of messages to specific endpoints.
You can route messages to different endpoints based on specific values that appear in
the request message. You might use this capability, for example, to determine which
operation the consuming application has requested, and route requests for complex
operations to an endpoint on a fast machine. For example, if your entry protocol is HTTP
or HTTPS, you can select the Content-based routing. The requests are routed according
to the content-based routing rules you create. You may specify how to authenticate
requests.
The table lists the properties that you can specify for this policy:
Parameter Description
Default Route To: Specifies the URLs of two or more native services in a pool to
which the requests are routed.
Endpoint URI Specifies the URI of the native API endpoint to route
the request to in case all routing rules evaluate to
webMethods API Cloud: API Gateway User's Guide Version 10.3 276
M
Odd Header
Policies
Parameter Description
False. Service registries that have been added to the
API Gateway instance are also included in the list.
If you choose a service registry, API Gateway sends
a request to the service registry to discover the
IP address and port at which the native service is
running. API Gateway replaces the service registry
alias in the Endpoint URI with the IP address and port
returned by the service registry.
For example, if your service is hosted at the URL:
http://host:port/abc/, you need to configure the
Endpoint URI as: http://${ServiceRegistryName}/
abc/.
webMethods API Cloud: API Gateway User's Guide Version 10.3 277
M
Even Header
Policies
Parameter Description
HTTP Connection Specifies the time interval (in seconds) after which a
Timeout (seconds) connection aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
Read Timeout Specifies the time interval (in seconds) after which a
(seconds) socket read aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
SSL Configuration. Specifies values to enable SSL client authentication that API
Gateway uses to authenticate incoming requests for the native API.
Key Alias Specifies the alias for the private key, which must be
stored in the keystore specified by the keystore alias.
webMethods API Cloud: API Gateway User's Guide Version 10.3 278
M
Odd Header
Policies
Parameter Description
enter {serviceName} as Parameter and the name of the
service as Value.
Rule: Defines the routing decisions based on one of the following routing options.
Click Add Rule and provide the following information.
webMethods API Cloud: API Gateway User's Guide Version 10.3 279
M
Even Header
Policies
Parameter Description
three payload identifiers, each being of a different
type.
Route To. Specifies the Endpoint URI of native APIs in a pool to which the
requests are routed.
Endpoint URI Specifies the URI of the native API endpoint to route
the request to. You can use service registries in a
similar manner as described in the main Endpoint URI
above.
HTTP Connection Specifies the time interval (in seconds) after which a
Timeout (seconds) connection aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
Read Timeout Specifies the time interval (in seconds) after which a
(seconds) socket read aempt times out.
webMethods API Cloud: API Gateway User's Guide Version 10.3 280
M
Odd Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 281
M
Even Header
Policies
Context-based Routing
If you have a native API that is hosted at two or more endpoints, you can use the
Context-based protocol to route specific types of messages to specific endpoints.
The requests are routed according to the context-based routing rules you create. For
example, if your entry protocol is HTTP or HTTPS, you can select the Context-based
routing. A routing rule specifies where requests should be routed, and the criteria by
which they should be routed there. You may specify how to authenticate requests.
The table lists the properties that you can specify for this policy:
Parameter Description
Default Route To. Specifies the URLs of two or more native services in a pool to
which the requests are routed.
Endpoint URI Specifies the URI of the native API endpoint to route
the request to in case all routing rules evaluate to
False. Service registries that have been added to the
API Gateway instance are also included in the list.
If you choose a service registry, API Gateway sends
a request to the service registry to discover the
IP address and port at which the native service is
running. API Gateway replaces the service registry
alias in the Endpoint URI with the IP address and port
returned by the service registry.
For example, if your service is hosted at the URL:
http://host:port/abc/, you need to configure the
Endpoint URI as: http://${ServiceRegistryName}/
abc/.
webMethods API Cloud: API Gateway User's Guide Version 10.3 282
M
Odd Header
Policies
Parameter Description
HTTP Connection Specifies the time interval (in seconds) after which a
Timeout (seconds) connection aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
Read Timeout Specifies the time interval (in seconds) after which a
(seconds) socket read aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
SSL Configuration. Specifies values to enable SSL client authentication that API
Gateway uses to authenticate incoming requests for the native API.
Key Alias Specifies the alias for the private key, which must be
stored in the keystore specified by the keystore alias.
webMethods API Cloud: API Gateway User's Guide Version 10.3 283
M
Even Header
Policies
Parameter Description
Rule. Defines the routing decisions based on one of the following routing options.
webMethods API Cloud: API Gateway User's Guide Version 10.3 284
M
Odd Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 285
M
Even Header
Policies
Parameter Description
Route To. Specifies the endpoint URI of native services in a pool to which the
requests are routed.
Endpoint URI Specifies the URI of the native API endpoint to route
the request to. You can use service registries in a
similar manner as described in the main Endpoint URI
above.
HTTP Connection Specifies the time interval (in seconds) after which a
Timeout (seconds) connection aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
webMethods API Cloud: API Gateway User's Guide Version 10.3 286
M
Odd Header
Policies
Parameter Description
Read Timeout Specifies the time interval (in seconds) after which a
(seconds) socket read aempt timesout.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
webMethods API Cloud: API Gateway User's Guide Version 10.3 287
M
Even Header
Policies
Dynamic Routing
This policy enables API Gateway to support dynamic routing of virtual aliases based on
policy configuration. The configured policies are enforced on the request sent to an API
and these requests are forwarded to the dynamic endpoint based on specific criteria that
you specify.
The table lists the properties that you can specify for this policy:
Parameter Description
Route To. Specifies the URLs of two or more native services in a pool to which the
requests are routed.
Endpoint URI Specifies the URI of the native API endpoint to route
the request to in case all routing rules evaluate to
False. Service registries that have been added to the
API Gateway instance are also included in the list.
If you choose a service registry, API Gateway sends
a request to the service registry to discover the
IP address and port at which the native service is
running. API Gateway replaces the service registry
alias in the Endpoint URI with the IP address and port
returned by the service registry.
For example, if your service is hosted at the URL:
http://host:port/abc/, you need to configure the
Endpoint URI as: http://${ServiceRegistryName}/
abc/.
webMethods API Cloud: API Gateway User's Guide Version 10.3 288
M
Odd Header
Policies
Parameter Description
HTTP Connection Specifies the time interval (in seconds) after which a
Timeout (seconds) connection aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
Read Timeout Specifies the time interval (in seconds) after which a
(seconds) socket read aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
SSL Configuration. Specifies values to enable SSL client authentication that API
Gateway uses to authenticate incoming requests for the native API.
Key Alias Specifies the alias for the private key, which must be
stored in the keystore specified by the keystore alias.
webMethods API Cloud: API Gateway User's Guide Version 10.3 289
M
Even Header
Policies
Parameter Description
Rule. Defines the routing decisions based on one of the following routing options.
Route Using Defines the dynamic URL based on the HTTP header
value sent by the client or the context variable value.
Select one of the following:
Header: Select and specify the Name required. This
header name is configured by the API provider and
is used to decide the routing decisions at the API
level. The request message must be routed to the
dynamic URL generated from the HTTP header
value.
Context: The API providers must provide IS service
in the policy, Invoke webMethods Integration Server.
IS service would perform custom manipulations
and set the value for the Context Variable
ROUTING_ENDPOINT. API Gateway takes this
ROUTING_ENDPOINT value as the native endpoint
value and performs the routing.
webMethods API Cloud: API Gateway User's Guide Version 10.3 290
M
Odd Header
Policies
Parameter Description
registries in a similar manner as described in the
main Endpoint URI above.
HTTP Method. This applicable to REST-based APIs.
Specifies the available routing methods: GET, POST,
PUT, DELETE, and CUSTOM (default).
When CUSTOM is selected, the HTTP method in the
incoming request is sent to the native service. When
other methods are selected, the selected method is
used in the request sent to the native service.
HTTP Connection Timeout (seconds). Specifies the time
interval (in seconds) after which a connection aempt
times out.
Read Timeout (seconds). Specifies the time interval (in
seconds) after which a socket read aempt times out.
SSL Configuration. Specifies values to enable SSL client
authentication that API Gateway uses to authenticate
incoming requests for the native API. Provide the
following information:
Keystore Alias. Specifies the keystore alias of the
instance of Integration Server on which API
Gateway is running. This value (along with
the value of Client Certificate Alias) is used for
performing SSL client authentication
Key Alias. Specifies the alias for the private key,
which must be stored in the keystore specified by
the keystore alias.
webMethods API Cloud: API Gateway User's Guide Version 10.3 291
M
Even Header
Policies
Parameter Description
Parameter Description
Route To. Specifies the URLs of two or more native services in a pool to which the
requests are routed.
Endpoint URI Specifies the URI of the native API endpoint to route
the request to in case all routing rules evaluate to
False. Service registries that have been added to the
API Gateway instance are also included in the list.
If you choose a service registry, API Gateway sends
a request to the service registry to discover the
IP address and port at which the native service is
running. API Gateway replaces the service registry
alias in the Endpoint URI with the IP address and port
returned by the service registry.
For example, if your service is hosted at the
URL: http://host:port/abc/, you need
to configure the Endpoint URI as: http://
${ServiceRegistryName}/abc/.
webMethods API Cloud: API Gateway User's Guide Version 10.3 292
M
Odd Header
Policies
Parameter Description
HTTP Connection Specifies the time interval (in seconds) after which a
Timeout (seconds) connection aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
Read Timeout (seconds) Specifies the time interval (in seconds) after which a
socket read aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
webMethods API Cloud: API Gateway User's Guide Version 10.3 293
M
Even Header
Policies
Parameter Description
Gateway temporarily suspends endpoint #2 for
60 seconds. In this time interval API Gateway
skips endpoint #2 while routing the requests to the
configured endpoints.
Request 1 -> endpoint #1
Request 2 -> endpoint #3 (endpoint #2 is suspended
for 60 seconds and hence the request is sent to
endpoint #3
Request 3 -> endpoint #1
SSL Configuration. Specifies values to enable SSL client authentication that API
Gateway uses to authenticate incoming requests for the native API.
Key Alias Specifies the alias for the private key, which must be
stored in the keystore specified by the above keystore
alias.
webMethods API Cloud: API Gateway User's Guide Version 10.3 294
M
Odd Header
Policies
Parameter Description
URI has Service discovery path set to "/catalog/service/
{serviceName}" (and the {serviceName} alias is
intended for passing the service name), you must
enter {serviceName} as Parameter and the name of the
service as Value.
Parameter Value
Endpoint URI Specifies the URI of the native API endpoint to route
the request to in case all routing rules evaluate to
False. Service registries that have been added to the
API Gateway instance are also included in the list.
If you choose a service registry, API Gateway sends
a request to the service registry to discover the
IP address and port at which the native service is
running. API Gateway replaces the service registry
alias in the Endpoint URI with the IP address and port
returned by the service registry.
For example, if your service is hosted at the URL:
http://host:port/abc/, you need to configure the
Endpoint URI as: http://${ServiceRegistryName}/
abc/.
webMethods API Cloud: API Gateway User's Guide Version 10.3 295
M
Even Header
Policies
Parameter Value
HTTP Connection Specifies the time interval (in seconds) after which a
Timeout (seconds) connection aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
Read Timeout Specifies the time interval (in seconds) after which a
(seconds) socket read aempt times out.
If a value 0 is specified (or if the value is not specified),
API Gateway uses the default value 30 seconds.
SSL configuration - Specifies values to enable SSL client authentication that API
Gateway uses to authenticate incoming requests for the native API.
Key Alias Specifies the alias for the private key, which must be
stored in the keystore specified by the keystore alias.
webMethods API Cloud: API Gateway User's Guide Version 10.3 296
M
Odd Header
Policies
Parameter Value
Parameter Description
HTTP Header Key Specifies the HTTP header key contained in the
requests.
You can add multiple entries for the Header key-value pair by clicking .
webMethods API Cloud: API Gateway User's Guide Version 10.3 297
M
Even Header
Policies
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 298
M
Odd Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 299
M
Even Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 300
M
Odd Header
Policies
Parameter Description
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 301
M
Even Header
Policies
Parameter Description
Signing and Encryption Uses the signing and encryption configuration details
Configurations to authenticate the client.
Provide the following information:
Keystore Alias. Specifies a user-specified text identifier
for an API Gateway keystore. The alias points to
webMethods API Cloud: API Gateway User's Guide Version 10.3 302
M
Odd Header
Policies
Parameter Description
a repository of private keys and their associated
certificates.
Key Alias. Specifies the alias for the private key,
which must be stored in the keystore specified by the
keystore alias.
Truststore alias. Specifies the alias for the truststore.
The truststore contains the trusted root certificate
for the CA that signed the API Gateway certificate
associated with the key alias.
Certificate alias. Provide a text identifier for the
certificate associated with the truststore alias. API
Gateway populates the certificate alias list with the
certificate aliases from the selected truststore alias.
Traffic Monitoring
The policies in this stage provide ways to enable logging request and response payload,
enable monitoring run-time performance conditions for APIs and applications, enforce
limits for the number of service invocations during a specified time interval and send
alerts to a specified destination when the performance conditions are violated, and
enable caching of the results of API invocations depending on the caching criteria
defined. The policies included in this stage are:
Log Invocation
Monitor Service Performance
Monitor Service Level Agreement
Throling Traffic Optimization
Service Result Cache
Log Invocation
This policy enables logging requests or responses to a specified destination. This action
also logs other information about the requests or responses, such as the API name,
operation name, the Integration Server user, a timestamp, and the response time.
In addition the Store Request and Store Response options when selected store the
following:
requestHeaders
webMethods API Cloud: API Gateway User's Guide Version 10.3 303
M
Even Header
Policies
responseHeaders
queryParameters in case of a REST request
corelationId - an id that can be used to query the log
customFieldList - custom fields specified for a transaction event
errorOrigin - specifies where the error originated from, native service or API
Gateway.
To add a custom field you have to implement a flow service adhering to
pub.apigateway.utils:customFieldInTransactionEventSpec specification and call the flow
service using Invoke webMethods IS policy in the stage you want to add the custom
field to the transaction event. The custom field's key and value should be of String type.
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 304
M
Odd Header
Policies
Parameter Description
Digital Events
Elasticsearch
Email (you can add multiple email addresses by
clicking ).
webMethods API Cloud: API Gateway User's Guide Version 10.3 305
M
Even Header
Policies
Parameter Value
webMethods API Cloud: API Gateway User's Guide Version 10.3 306
M
Odd Header
Policies
Parameter Value
Elasticsearch
Email (you can add multiple email addresses by clicking
).
webMethods API Cloud: API Gateway User's Guide Version 10.3 307
M
Even Header
Policies
Parameter Value
Server Administrator's logging level for API
Gateway to Error. If the action's logging
level is set to a low level (Warning-level or
Information level), but Integration Server
Administrator's logging level for API
Gateway is set to a higher level (Error-level),
then only the higher-level messages are
wrien to the log file.
Entries posted to the local log are identified
by a product code of YAI and suffixed with
the initial alphabet of the logging level
selected. For example, for an error level, the
entry appears as [YAI.0900.0002E].
Unit Specifies the unit for the time interval in minutes, hours,
days, or weeks for the alert interval.
Alert Frequency Specifies how frequently to issue alerts for the counter-
based metrics (Total Request Count, Success Count, Fault
Count).
Select one of the options:
Only Once. Triggers an alert only the first time one of the
specified conditions is violated.
Every Time. Triggers an alert every time one of the
specified conditions is violated.
webMethods API Cloud: API Gateway User's Guide Version 10.3 308
M
Odd Header
Policies
should expect from an API. You can use this policy to identify whether the API
threshold rules are met or exceeded. For example, you might define an agreement
with a particular application that sends an alert to the application if responses are not
sent within a certain maximum response time. You can configure SLAs for each API or
application combination.
Parameters like success count, fault count and total request count are immediate
monitoring parameters and the evaluation happens immediately after the limit is
breached. The rest of the parameters are Aggregated monitoring parameters whose
evaluation happens once the configured interval is over. If there is a breach in any of the
parameters, an event notification ( Monitor event) is sent to the configured destination.
In a single policy, multiple action configurations behave as AND condition. The OR
condition can be achieved by configuring multiple policies.
The table lists the properties that you can specify for this policy:
Parameter Value
webMethods API Cloud: API Gateway User's Guide Version 10.3 309
M
Even Header
Policies
Parameter Value
Elasticsearch
Email (you can add multiple email addresses by clicking
).
webMethods API Cloud: API Gateway User's Guide Version 10.3 310
M
Odd Header
Policies
Parameter Value
Administrator's logging level for API Gateway
to Error. If the action's logging level is set to
a low level (Warning-level or Information
level), but Integration Server Administrator's
logging level for API Gateway is set to a
higher level (Error-level), then only the higher-
level messages are wrien to the log file.
Entries posted to the local log are identified by
a product code of YAI and suffixed with the
initial alphabet of the logging level selected.
For example, for an error level, the entry
appears as [YAI.0900.0002E].
Alert Interval Specifies the time period (in minutes) in which to monitor
performance before sending an alert if a condition is
violated.
The timer starts once the API is activated and resets after
the configured time interval. If and API is deactivated the
interval gets reset and on API activation its starts afresh.
Alert Frequency Specifies how frequently to issue alerts for the counter-
based metrics (Total Request Count, Success Count, Fault
Count).
Select one of the options:
Only Once. Triggers an alert only the first time one of the
specified conditions is violated.
Every Time. Triggers an alert every time one of the
specified conditions is violated.
webMethods API Cloud: API Gateway User's Guide Version 10.3 311
M
Even Header
Policies
Parameter Description
Limit Configuration.
Operator Specifies the operator that connects the rule to the value
specified.
Select one of the operators: Greater Than, Less Than,
Equals To.
Elasticsearch
Email (you can add multiple email addresses by
clicking ).
webMethods API Cloud: API Gateway User's Guide Version 10.3 312
M
Odd Header
Policies
Parameter Description
Alert Interval Specifies the interval of time for the limit to be reached.
Unit Specifies the unit for the time interval in minutes, hours,
days, or weeks for the alert interval.
Alert Frequency Specifies the frequency at which the alerts are issued.
Specify one of the options:
Only Once. Triggers an alert only the first time the
specified condition is violated.
Every Time. Triggers an alert every time the specified
condition is violated.
webMethods API Cloud: API Gateway User's Guide Version 10.3 313
M
Even Header
Policies
Parameter Description
Note: If there are no values set for any of the criteria, then, by default, all the SOAP
requests and GET requests for the Rest API are based on the URL.
The table lists the properties that you can specify for this policy:
Parameter Description
Cache Criteria. Specifies the criteria that API Gateway uses to determine the
request component, that is, the actual payload based on which the results of the
API invocation are cached.
HTTP Header Uses the HTTP header in the API request. You can use
this criterion for APIs that accept payloads only in HTTP
format.
Header Name. Specifies the HTTP header name.
Cache responses only for these values. API Gateway caches
the API responses only for requests whose cache criteria
match with those set for the action, and whose criteria
evaluation results in any one of the values in this list. You
can add multiple entries by clicking .
webMethods API Cloud: API Gateway User's Guide Version 10.3 314
M
Odd Header
Policies
Parameter Description
Note: If this field is empty, all the values that satisfy the
criterion are cached.
Query Parameters You can use this criterion for REST-based API requests.
Specifies the names and values of the query parameters to
filter the incoming requests and cache the results based on
the names and values specified.
Parameter Name. Specifies the parameter name.
Cache responses only for these values. API Gateway
caches the API responses only for requests whose cache
criteria match those set for the action, and whose criteria
evaluation results in any one of the values in this list. You
can add multiple entries by clicking .
XPath You can use this criterion for SOAP-based API requests
whose payload is a SOAP envelope. Uses the XPath
expression in the API request.
Name Space. Specifies the namespace of the XPath
expression.
Prefix. Specifies the prefix for the namespace.
URI. Specifies the namespace URI.
Note: If this field is empty, all the values that satisfy the
criteria are cached.
Time to Live (e.g., Specifies the lifespan of the elements in the cache after
5d 4h 1m) which the elements are considered to be out-of-date.
The time is specified in terms of days, hours, and minutes;
for example, 5d 4h 1m.
webMethods API Cloud: API Gateway User's Guide Version 10.3 315
M
Even Header
Policies
Parameter Description
Maximum Specifies the maximum payload size for the API in kilo
Response Payload bytes.
Size (in KB,
The value -1 stands for unlimited payload size.
-1=unlimited)
C1 Header1 h1, h2
C2 Header2
C3 query1 q1, q2
In the example, there are two HTTP headers and one query parameter as cache criteria.
The HTTP Header Header2 has no values specified. Hence, all the incoming requests
with the HTTP Header Header2 are cached.
When there are multiple cache criteria, the following behaviour is observed in the cache
result:
If the incoming request R1 matches criteria C1, then the result is cached. API
Gateway responds to any further incoming request R1 that matches criteria C1 from
the cache.
If the incoming request R1 matches criteria C1 and C2, then the result is cached as a
new request.
If you configure multiple cache criteria, and if one or more cache criteria match, then
the result is cached. The criteria are matched with the cached results while caching
the request, and it follows the AND condition among the matched criteria.
Response Processing
These policies are used to specify how the response message from the API has to be
transformed or pre-processed and configure the masking criteria for the data to be
masked before it is submied to the application. This is required to protect the data
and accommodate differences between the message content that an API is capable of
submiing and the message content that an application expects. The policies included in
this stage are:
webMethods API Cloud: API Gateway User's Guide Version 10.3 316
M
Odd Header
Policies
Invoke webMethods IS
Response Transformation
Validate API Specification
CORS
Data Masking
Invoke webMethods IS
This policy processes the native API’s response messages into the format required by the
application, before API Gateway returns the responses to the application.
If Comply to IS Spec parameter is configured as true, API
Gateway invokes the IS Service with IS specification in the path
pub.apigateway.invokeISService.specifications:ResponseSpec (for Response Processing)
The following are the input and output parameters for REST and SOAP APIs as
specified in the above IS Specification.
webMethods API Cloud: API Gateway User's Guide Version 10.3 317
M
Even Header
Policies
payloadObject
requestUrl
correlationID
(this is unique
for request and
response)
If Comply to IS Spec parameter is set to false, API Gateway invokes the IS Service
with the same input and output parameters supported in 10.1 and the earlier versions::
proxy.name
JSONRESTContentString (REST only)
SOAPEnvelope (SOAP only)
EnvelopeString (SOAP only)
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 318
M
Odd Header
Policies
Parameter Description
Integration Server
Provide the following information:
service
webMethods IS Service. Specify the webMethods IS
service to be invoked to pre-process the response
messages. The list displays only the pre-shipped
Integration Server services, which you can invoke to
pre-process or post-process the response message.
Run as User. Specifies the authentication mode to
invoke the IS service. If this field is left blank the
incoming credentials of the user, identified by API
Gateway, are used to authenticate and invoke the IS
service. You can also specify a particular user, you
want API Gateway to invoke the IS service.
Response Transformation
This policy specifies the properties required to transform response messages from native
APIs into a format required by the client.
webMethods API Cloud: API Gateway User's Guide Version 10.3 319
M
Even Header
Policies
This policy enables you to configure several transformations on the response messages
before it is sent to the client.
API Gateway supports the following parameter types that can be used to configure the
transformation policy:
response.payload
response.headers
response.statusCode
response.statusMessage
API Gateway supports the following Query types that can be used to configure the
transformation policy:
xpath
jsonPath
regex
When you use these syntaxes to extract a value from the payload, the content-types
applicable are:
${payload.jsonPath} - application/json, application/json/badgerfish
${payload.regex} - text/plain
${payload.xpath} - application/xml, text/xml, text/html.
The table lists the properties that you can specify for this policy:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 320
M
Odd Header
Policies
Parameter Description
${PARAMTYPE.QUERYTYPE[queryValue]} : This
syntax is applicable for payload. XPath, JSONPath and
regex can be applied on payload. For example:
${response.payload.xpath[//ns:emp/
ns:empName]} where //ns:emp/ns:empName is the
xpath to be applied on the payload if contentType is
application/xml
${response.payload.jsonPath[$.cardDetails.number]}
where $.cardDetails.number is the jsonPath to be
applied on the payload if contentType is application/
json
${response.payload.regex[[0-9]+]} where
[0-9]+ is the regex to be applied on the payload if
contentType is text/plain
If you want API Gateway to apply xpath,
jsonPath, regex based on Content-Type of the
payload, use the following common syntax:
${PARAMTYPE.QUERYTYPE[queryValue] ||
PARAMTYPE.QUERYTYPE2[queryValue2] || ...}
For example:
${response.payload.xpath[//
ns:emp/ns:empName] ||
response.payload.jsonPath[$.cardDetails.number]}
This applies xpath for application/xml and jsonPath
for application/json
${response.payload.xpath[//
ns:emp/ns:empName] ||
response.payload.jsonPath[$.cardDetails.number]
|| response.payload.regex[[0-9]+]} This applies
xpath for application/xml, jsonPath for application/
json, and regex for text/plain.
Operator. Specifies the operator to use to relate variable
and the value provided. You can select one of the
following:
webMethods API Cloud: API Gateway User's Guide Version 10.3 321
M
Even Header
Policies
Parameter Description
Equals
Equals ignore case
Not equals
Contains
Exists
Value. Specifies a value with a syntax as follows:
PLAIN VALUE, for example, application/json
${PARAMTYPE.paramName}
${PARAMTYPE.QUERYTYPE[queryValue]}
${PARAMTYPE.QUERYTYPE[queryValue] ||
PARAMTYPE.QUERYTYPE2[queryValue2] || ...}
${PARAMTYPE.QUERYTYPE[queryValue]} : This
syntax is applicable for payload. XPath, JSONPath and
regex can be applied on payload. For example:
${response.payload.xpath[//ns:emp/
ns:empName]} where //ns:emp/ns:empName is the
xpath to be applied on the payload if contentType is
application/xml
${response.payload.jsonPath[$.cardDetails.number]}
where $.cardDetails.number is the jsonPath to be
webMethods API Cloud: API Gateway User's Guide Version 10.3 322
M
Odd Header
Policies
Parameter Description
applied on the payload if contentType is application/
json
${response.payload.regex[[0-9]+]} where
[0-9]+ is the regex to be applied on the payload if
contentType is text/plain
If you want API Gateway to apply xpath,
jsonPath, regex based on Content-Type of the
payload, use the following common syntax:
${PARAMTYPE.QUERYTYPE[queryValue] ||
PARAMTYPE.QUERYTYPE2[queryValue2] || ...}
For example:
${response.payload.xpath[//
ns:emp/ns:empName] ||
response.payload.jsonPath[$.cardDetails.number]}
This applies xpath for application/xml and jsonPath
for application/json
${response.payload.xpath[//
ns:emp/ns:empName] ||
response.payload.jsonPath[$.cardDetails.number]
|| response.payload.regex[[0-9]+]} This applies
xpath for application/xml, jsonPath for application/
json, and regex for text/plain.
Value. Specifies a value with a syntax as follows:
PLAIN VALUE, for example, application/json
${PARAMTYPE.paramName}
${PARAMTYPE.QUERYTYPE[queryValue]}
${PARAMTYPE.QUERYTYPE[queryValue] ||
PARAMTYPE.QUERYTYPE2[queryValue2] || ...}
webMethods API Cloud: API Gateway User's Guide Version 10.3 323
M
Even Header
Policies
Parameter Description
you must also change the respective payload from
application/xml to application/json
webMethods API Cloud: API Gateway User's Guide Version 10.3 324
M
Odd Header
Policies
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 325
M
Even Header
Policies
The content- types are available as part of the API definition. FOR SOAP APIs these
are imported through WSDL and for REST APIs it can be through swagger, RAML
or can be uploaded by the user.
The HTTP Headers are specified in the Validate API Specification policy page
The response sent to the API by an application must conform with the structure or
format expected by the API. The responses from the native API are validated against the
API specifications in this policy to conform to the structure or format expected by the
API.
Various API specifications validated are:
Schema:
The responses from the native API are validated against the schema provided in the
API definition. The schema defines the elements and aributes and specifies the data
types of these elements to ensure that only appropriate data is allowed through to
the API.
For a REST API, the schema can be added inline or uploaded in the Technical
Information section on the API Details page. The validation depends on the Content-
type header in the request or Accept header in the response and the corresponding
schema validation would be executed. The default Content type/Accept header and
schema validation type mapping is as follows:
For a SOAP API, the WSDL and the referenced schema must be provided in a zip
format. The JSON schema validation is supported for the operations that are exposed
as REST.
Content-types:
The responses from the native API are validated against the content-types specified
in the API definition.
HTTP Headers:
webMethods API Cloud: API Gateway User's Guide Version 10.3 326
M
Odd Header
Policies
The responses from the native API are validated against the HTTP Headers specified
in this policy to conform to the HTTP headers expected by the API.
The run-time invocations that fail the specification validation are considered as
policy violations. Such policy violation events that are generated can be viewed in the
dashboard.
The table lists the API specification properties, you can specify for this policy, to be
validated:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 327
M
Even Header
Policies
Parameter Description
Data Masking
Data masking is a technique whereby sensitive data is obscured in some way to render
it safe and to protect the actual data while having a functional substitute for occasions
when the real data is not required.
This policy is used to mask sensitive data at the application level. At the application level
you must have an Identify and Access policy configured to identify the application for
which the masking is applied. If no application is specified then it will be applied for all
the other responses. Fields can be masked or filtered in the response messages to be sent.
You can configure the masking criteria as required for the XPath, JSONPath, and Regex
expressions based on the content-types. This policy can also be applied at the API scope
level.
The table lists the content-type and masking criteria mapping.
application/xml XPath
text/xml
text/html
application/json JSONPath
application/json/
badgerfish
text/plain Regex
The table lists the masking criteria properties that you can configure to mask the data in
the response messages:
webMethods API Cloud: API Gateway User's Guide Version 10.3 328
M
Odd Header
Policies
Parameter Description
XPath: Specifies the masking criteria for XPath expressions in the response
messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required.
You select either Mask or Filter. Selecting Mask replaces
the value with the given value (the default value being
********). Selecting Filter removes the field completely.
Query expression. Specify the query expression that has
to be masked or filtered.
For example: /pet/details/status, /user/details/card/
ccnumber.
Mask Value. This is available if masking type selected
is Mask. Provide a mask value. For example: sold, any
mask value #####.
webMethods API Cloud: API Gateway User's Guide Version 10.3 329
M
Even Header
Policies
Parameter Description
JSONPath. This is applicable only for REST API. Specifies the masking criteria for
JSONPath expressions in the response messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required.
You select either Mask or Filter. Selecting Mask replaces
the value with the given value (the default value being
********). Selecting Filter removes the field completely.
Query expression. Specify the query expression
that has to be masked or filtered. For example:
$.pet.details.status
Mask Value. This is available if masking type selected is
Mask. Provide a mask value. For example: sold
Regex. Specifies the masking criteria for regular expressions in the response
messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required.
You select either Mask or Filter. Selecting Mask replaces
the value with the given value (the default value being
********). Selecting Filter removes the field completely.
Query expression. Specify the query expression that has
to be masked or filtered. For example: [0-9]+
Mask Value. This is available if masking type selected is
Mask. Provide a mask value. For example: ########
Apply for Select this option to apply masking criteria for transactional
transaction logs.
Logging
webMethods API Cloud: API Gateway User's Guide Version 10.3 330
M
Odd Header
Policies
Parameter Description
Apply for payload Select this option to apply masking criteria for payload in
the response message.
CORS
The Cross-Origin Resource Sharing (CORS) mechanism supports secure cross-domain
requests and data transfers between browsers and web servers. The CORS standard
works by adding new HTTP headers that allow servers to describe the set of origins that
are permied to read that information.
This policy uses CORS support that uses additional HTTP headers to let a client or
an application gain permission to access selected resources. An application or a client
makes a cross-origin HTTP request when it requests a resource from a different domain,
protocol, or port than the one from which the current request originated.
This policy is applicable only for REST-based APIs.
The table lists the CORS response specifications, you can specify for this policy:
Parameter Description
Allowed Origins Specifies the origin from which the responses originating
are allowed.
syntax for the origin: scheme ://host :port
Max Age Specifies the age for which the preflight response is valid.
Allowed Methods Specifies the methods that are allowed in the request.
Specify one or more of the following: GET, POST, PUT,
DELETE, and PATCH.
Allow Headers Specifies the Headers that are allowed in the request.
webMethods API Cloud: API Gateway User's Guide Version 10.3 331
M
Even Header
Policies
Parameter Description
Expose Headers Specifies the headers that be exposed to the user on request
failure.
You can add multiple headers that are to be allowed by
clicking .
A corresponding HTTP header is set for all the values above as per the specification. For
additional information, see “hps://www.w3.org/TR/cors/”.
Error Handling
The policy in this stage enables you to specify the error conditions, lets you determine
how these error conditions are to be processed. You can also mask the data while
processing the error conditions. The policies included in this stage are:
Conditional Error Processing
Data Masking
Parameter Description
Error conditions. Specifies the error conditions and how these error conditions
should be processed.
webMethods API Cloud: API Gateway User's Guide Version 10.3 332
M
Odd Header
Policies
Parameter Description
Header Error Criteria Provide the details of the custom HTTP header(s)
included in the client requests.
Provide the following information:
Header Name. Specifies the name of the HTTP header.
Header Value. Specifies the value of the HTTP header.
Payload Criteria Provide the details of the payload criteria in the API
request.
In the Payload identifier section, click Add payload
identifier, provide the following information, and click
Add.
Expression type. Specifies the type of expression,
which is used for identification. You can select one the
following expression type:
XPath. Provide the following information:
Payload Expression. Specifies the payload
expression that the specified XPath expression
type in the request or the response has to be
converted to. For example: /name/id.
The response maybe a native service error or
API Gateway generated error.
Namespace Prefix. The namespace prefix of the
payload expression to be validated.
Namespace URI. The namespace URI of the
payload expression to be validated.
webMethods API Cloud: API Gateway User's Guide Version 10.3 333
M
Even Header
Policies
Parameter Description
expression type in the request or response has to
be converted to. For example: any valid regular
expression.
The response maybe a native service error or API
Gateway generated error.
You can add multiple payload identifiers as required.
webMethods API Cloud: API Gateway User's Guide Version 10.3 334
M
Odd Header
Policies
Parameter Description
type-ahead search results displayed to add one or
more aliases.
XSLT Transformation Provide the XSLT file and feature you want to use to
transform the service error response.
Click Browse to select the XSLT file and upload it.
Provide the following information for the XSLT
feature:
Feature Name. Specifies the name of the XSLT feature.
Feature Value. Specifies the value for the feature.
You can add multiple entries for feature name and
value by clicking .
Custom Error Variables. Specifies the error variables to be used in the custom error
message.
Payload Identifier Provide the details of the payload criteria in the API
request.
In the Payload identifier section, click Add payload
identifier, provide the following information, and click
Add.
Expression type. Specifies the type of expression
contained in the payload request.
Payload Expression. Specifies the payload expression
that the specified expression type in the request has to
be converted to.
Namespace Prefix. The namespace prefix of the payload
expression to be validated.
Namespace URI. The namespace URI of the payload
expression to be validated.
webMethods API Cloud: API Gateway User's Guide Version 10.3 335
M
Even Header
Policies
Parameter Description
Failure Message. Specifies the custom failure message format that API Gateway
should send to the application. Specify whether the message should be in the
text, json, or xml format.
Send Native Provider Enable this parameter so that API Gateway sends
Fault Message the native SOAP or REST failure message to the
application.
When you disable this parameter, the failure message
is ignored when a fault is returned by the native API
provider.
Post-Processing. Specifies how the error response sent by the native service is to
be processed before sending the same to the application.
webMethods API Cloud: API Gateway User's Guide Version 10.3 336
M
Odd Header
Policies
Parameter Description
XSLT Transformation Provide the XSLT file that you want to use to transform
the service error response.
Provide the following information for the XSLT
feature:
Feature Name. Specifies the name of the XSLT feature.
Feature Value. Specifies the value for the feature.
You can add multiple entries for feature names and
values by clicking .
Data Masking
Data masking is a technique whereby sensitive data is obscured in some way to render
it safe and to protect the actual data while having a functional substitute for occasions
when the real data is not required.
This policy is used to mask sensitive data in the custom error messages being processed
and sent to the application. Fields can be masked or filtered in the error messages.
You can configure the masking criteria as required for the XPath, JPath, and Regex
expressions. This policy can also be applied at the API scope level.
The table lists the masking criteria properties that you can configure to mask the data in
the request messages received:
Parameter Description
XPath. Specifies the masking criteria for XPath expressions in the error messages.
webMethods API Cloud: API Gateway User's Guide Version 10.3 337
M
Even Header
Policies
Parameter Description
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required. You
select either Mask or Filter.
Query expression. Specify the query expression that has
to be masked or filtered. For example: /soapenv:Fault/
faultstring
Mask Value. This is available if masking type selected
is Mask. Provide a mask value. For example: Error
occurred while processing the request. Please check your
input request or any other meaningful message or
string.
JPath. This is applicable only for REST API. Specifies the masking criteria for
JPath expressions in the error messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required. You
select either Mask or Filter.
Query expression. Specify the query expression that has
to be masked or filtered. For example: $.error.reason
Mask Value. This is available if masking type selected
is Mask. Provide a mask value. For example: Error
occurred while processing the request. Please check your
input request or any other meaningful message or
string.
webMethods API Cloud: API Gateway User's Guide Version 10.3 338
M
Odd Header
Policies
Parameter Description
Regex. Specifies the masking criteria for regular expressions in the error
messages.
Masking Criteria Click Add masking criteria and provide the following
information and click Add:
Masking Type. Specifies the type of masking required. You
select either Mask or Filter.
Query expression. Specify the query expression that has
to be masked or filtered. For example: (.*)
Mask Value. This is available if masking type selected
is Mask. Provide a mask value. For example: Error
occurred while processing the request. Please check your
input request or any other meaningful message or
string.
Apply for Select this option to apply masking criteria for transactional
transaction logs.
Logging
Apply for payload Select this option to apply masking criteria for payload.
pub.apigateway.ctxvar:getContextVariable
Use this JAVA service to retrieve a context variable’s value and assign it to a pipeline
variable. All parameter names are case-sensitive.
webMethods API Cloud: API Gateway User's Guide Version 10.3 339
M
Even Header
Policies
MessageContext
in Object This object is inserted N/A
ref into the pipeline by
API Gateway.
webMethods API Cloud: API Gateway User's Guide Version 10.3 340
M
Odd Header
Policies
pub.apigateway.ctxvar:setContextVariable
Use this JAVA service to set a value on a context variable. The pipeline variable
containing the context variable value should be an object reference that implements
java.io.Serializable. All parameter names are case-sensitive.
MessageContext
in Object This object is N/A
ref inserted into the
pipeline by API
Gateway.
webMethods API Cloud: API Gateway User's Guide Version 10.3 341
M
Even Header
Policies
pub.apigateway.ctxvar:declareContextVariable
Use this JAVA service to declare a custom context variable. All custom-defined context
variables must be declared in a custom namespace that is identified by using the prefix
mx (for example, mx:CUSTOM_VARIABLE). All parameter names are case-sensitive.
Note: It is not legal to use this service to declare the predefined context variables;
you can only declare custom variables.
webMethods API Cloud: API Gateway User's Guide Version 10.3 342
M
Odd Header
Policies
Any custom context variable's state that is defined during the inbound request
processing steps will still be available during the outbound response processing
steps.
All context variable values are typed as either string or int (excluding the
PROTOCOL_HEADERS variables, which are of the type IData).
Valid names should be upper case (by convention) and must be a valid JAVA
Identifier. In general, use alpha-numerics, $ or _ symbols to construct these context
names. Names with punctuation, whitespace or other characters will be considered
invalid and will fail deployment.
All custom context variables must be declared in a custom namespace that is
identified by using an mx prefix (for example, mx:CUSTOM_VARIABLE).
To reference a custom context variable in a flat string, you need to prepend a $
symbol to the context variable name to indicate that variable’s value should be
referenced. Think of this usage as being similar to the & address operation for C
variables.
An expression that references a custom context variable might look like this:
$mx:TAXID=1234 or $mx:ORDER_SYSTEM_NAME="Pluto"
Notice that the values of the data type “int” are not enclosed in quotation marks,
while the values of the data type “string” are. The quotation marks are only needed
if a context variable expression (as opposed to a reference) is defined.
Referencing an undefined context variable does not result in an error.
Once a variable has been declared it cannot be declared again.
pub.apigateway.ctxvar:removeContextVariable
Use this JAVA service to remove a custom context variable from a request or response
session. All parameter names are case-sensitive.
MessageContext
in Object This object is inserted N/A
ref into the pipeline by
API Gateway.
webMethods API Cloud: API Gateway User's Guide Version 10.3 343
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 344
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 345
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 346
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 347
M
Even Header
Policies
This is just a sample JAVA service that takes the context variable and creates a top-level
element in the response message using the same name and value.
webMethods API Cloud: API Gateway User's Guide Version 10.3 348
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 349
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 350
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 351
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 352
M
Odd Header
Policies
This is just a sample JAVA service that takes the context variable and creates a top-level
element in the response message using the same name and value.
webMethods API Cloud: API Gateway User's Guide Version 10.3 353
M
Even Header
Policies
Global policies are a set of policies that are associated globally to all APIs or the selected
set of APIs. Global policies are supported for both SOAP and REST APIs.
By associating policies globally to all APIs or the selected set of APIs, the administrator
can ensure that a set of policies is applied to the selected APIs by default. The
administrator can, for example, define a global policy that aaches a WS-Security (WSS)
authentication to all SOAP API endpoints within a specific IP range. In this case, any
webMethods API Cloud: API Gateway User's Guide Version 10.3 354
M
Odd Header
Policies
client request from the specific IP range automatically inherits the security configuration
defined in the global policy for SOAP APIs.
Note: The Policy configuration page displays only the policies that are common to one
or more API types selected in the global policy filter.
Stages Policies
Transport Require HTTP/HTTPS - This policy can be enforced for all types
of API. But the SOAP versions 1.1 and 1.2 are applicable only for
SOAP-based APIs. The SOAP 1.1 and SOAP 1.2 sub types are not
available in UI when the REST and ODATA APIs are selected.
Set Media Type - This policy is applicable only for a REST request
and the policy name is not listed in Policy configuration page when the
SOAP and ODATA APIs are selected.
Require JMS - The Require JMS policy is applicable only for SOAP
APIs and the policy name is not listed in Policy configuration page
when the REST and ODATA APIs are selected.
webMethods API Cloud: API Gateway User's Guide Version 10.3 355
M
Even Header
Policies
Stages Policies
Error Conditional Error Processing and Data Masking. The Error handling
handling stage policies can be applied at a global level for all types of API.
webMethods API Cloud: API Gateway User's Guide Version 10.3 356
M
Odd Header
Policies
4. In the Basic Information section, provide the required information for each of the
displayed data fields:
Field Description
5. Click Save to save the new (as yet incomplete) global policy.
6. Complete the new global policy by doing the following:
a. On the Filters section, specify the API types, additional criteria for selecting the
APIs to which you want the global policy to be applied, logical operator for the
selection criteria, and the APIs to which the global policy applies. For details,
see “ Modifying the Scope of a Global Policy” on page 357 and “ Refining the
Scope of a Global Policy” on page 358.
b. On the Policy Configuration tab, choose the policies and configure the properties
for each policy that you want API Gateway to execute when it applies this global
policy. For details, see “ Associating Policies to a Global Policy” on page 361
and “ Configuring Properties for a Global Policy” on page 362.
c. Activate the global policy when you are ready to put it into effect. For details, see
“ Activating a Global Policy” on page 365.
webMethods API Cloud: API Gateway User's Guide Version 10.3 357
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 358
M
Odd Header
Policies
When specifying match strings for the comparison operators described above, keep the
following points in mind:
Match strings are not case-sensitive. If you define a filter for names that start with ABC
it will select names starting abc and Abc.
Wildcard characters are not supported. That is, you cannot use characters such as *
or % to represent any sequence of characters. These characters, if present in the match
string, are simply treated as literal characters that are to be matched.
Filtering by HTTP Methods (Applicable only for REST APIs)
You can optionally restrict a policy to specific HTTP methods of the REST APIs by
specifying the following options - GET, POST, PUT, DELETE, and PATCH.
webMethods API Cloud: API Gateway User's Guide Version 10.3 359
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 360
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 361
M
Even Header
Policies
If necessary, you can click the Policy Details tab and change your API type
selection.
Use the x icon in any individual policy to remove that particular policy from the
Infographic section.
8. To configure the properties for any new policies that you might have added to the
Infographic section in the preceding steps or to make any necessary updates to the
properties for existing policies in the global policy, see “ Configuring Properties for a
Global Policy” on page 362.
9. Click Save.
10. Click to view the complete list of policies in the updated policy.
The Overview buon is located in the lower right-corner of the Infographic section.
To exit the overview, click the Close icon.
webMethods API Cloud: API Gateway User's Guide Version 10.3 362
M
Odd Header
Policies
6. In the Policy catalog section, click the chevron to expand the required policy stage.
This displays a list of policies that are classified under the particular stage.
7. In the Infographic section, do the following for each policy in the list:
a. Select the policy whose properties you want to examine or set.
b. In the Policy properties section, set the values for the policy's properties as
necessary.
8. Click Open in full-screen to view the policy's properties in full screen mode.
The Open in full-screen link is located in the upper right-hand corner of the Policy
Configuration tab. Set the properties of the displayed policy, and then click OK.
To exit out of full screen mode, click the Minimize icon.
9. Click Save.
10. Click to view the complete list of policies in the updated policy.
The Overview buon is located in the lower right-corner of the Infographic section.
To exit the overview, click the Close icon.
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 363
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 364
M
Odd Header
Policies
Policy Details: This tab contains a summary of basic information such as name,
description, scope of the policy as to when the policy will apply, applicable APIs,
and other information.
Policy Configuration: This tab contains the policy stages, applied policies, as well as
the configuration details of individual policies.
4. Click Edit.
If you do not see the Edit buon, it is probably because you do not have the API
Gateway Administrator role to modify the properties of a global policy in API
Gateway.
5. On the Policy Details tab, modify the basic properties, selection criteria, and the
applicable APIs as necessary.
6. On the Policy Configuration tab, modify the policy list and the policy's configuration
properties as necessary.
7. When you have completed the required modifications in the Global Policy details
page, click Save to save the updated policy.
8. Click Overview to view the complete list of policies in the updated policy.
The Overview buon is located in the lower right-corner of the Infographic section.
To exit the overview, click the Close icon.
webMethods API Cloud: API Gateway User's Guide Version 10.3 365
M
Even Header
Policies
Icon Description
Policy is active.
Policy is inactive.
The activation state of a policy is also reported in the Global Policy Details page.
webMethods API Cloud: API Gateway User's Guide Version 10.3 366
M
Odd Header
Policies
Icon Description
Policy is active.
Policy is inactive.
The deactivation state of a policy is also reported in the Global Policy Details page.
webMethods API Cloud: API Gateway User's Guide Version 10.3 367
M
Even Header
Policies
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 368
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 369
M
Even Header
Policies
Icon Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 370
M
Odd Header
Policies
Icon Description
Unlike the policy defined at API-level or scope-level, the policy defined as part of a
global policy cannot be edited or deleted through the details page of an API.
webMethods API Cloud: API Gateway User's Guide Version 10.3 371
M
Even Header
Policies
An API can have zero or more scope-level policies. When you define the scope-level
policies for an API, keep the following points in minds:
For a policy (for example, Identify and Authorize Application) that can appear only
once in an API, if the same policy is already applied through the API details page,
API Gateway prompts you with a warning message that the scope-level policy takes
precedence over the API-level policy, and is enforced on the API at run-time.
For a policy (for example, Monitor Service Level Agreement) that can appear
multiple times in an API, if the same policy is already applied to the API through
a global policy, API Gateway prompts you with a warning message that the global
policy takes precedence over the scope-level policy, and is enforced on the API at
run-time.
If a resource or method or operation has the same policy (for example, Require
HTTP / HTTPs) applied through different scopes, API Gateway prompts you with
an error message and sets the focus to the conflicting policies. You must remove the
required policy from the individual scope(s) to resolve the conflicts.
API Gateway supports scope-level policies only for the following stages:
webMethods API Cloud: API Gateway User's Guide Version 10.3 372
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 373
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 374
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 375
M
Even Header
Policies
Policy templates are a set of policies that can be associated directly with an individual
API. The direct association of the policy template with an API provides the flexibility to
alter the policy's configurations to suit the individual API requirements.
webMethods API Cloud: API Gateway User's Guide Version 10.3 376
M
Odd Header
Policies
To apply a policy template to an API, modify the details page of the API, and apply the
selected policy template.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 377
M
Even Header
Policies
The Policy Configuration tab on the Policy Template details page specifies the set of policy
stages and the list of policies (applicable for each stage).
webMethods API Cloud: API Gateway User's Guide Version 10.3 378
M
Odd Header
Policies
8. Click Open in full-screen to view the policy's properties in full screen mode.
The Open in full-screen link is located in the upper right-hand corner of the Policy
Configuration tab. Set the properties of the displayed policy, and then click OK.
To exit full screen mode, click the Minimize icon.
9. After you configure the properties for all of the policies in the Infographic section,
click Save to save the updated policy template.
webMethods API Cloud: API Gateway User's Guide Version 10.3 379
M
Even Header
Policies
10. Click to view the complete list of policies in the updated policy
template.
The Overview buon is located in the lower right-corner of the Infographic section.
To exit the overview, click the Close icon.
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 380
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 381
M
Even Header
Policies
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 382
M
Odd Header
Policies
Field Description
suit your needs. But you cannot leave this field
empty.
webMethods API Cloud: API Gateway User's Guide Version 10.3 383
M
Even Header
Policies
You can choose to display the details of an individual policy template by clicking the
Info icon. This option populates the list of policies that are defined in the particular
template.
7. Select one or more policy templates that you want API Gateway to execute at run-
time.
8. Click Next.
You must have at least one template selected to use the Next buon.
9. In the Apply Templates to API wizard, review the list of policies and the configuration
details of the associated policies.
If necessary, you can click Previous to return to the Template chooser wizard and
change your template selections.
If at any time you wish to abandon all your changes and return to the Policies tab,
click Cancel.
10. Click Apply.
If you have one or more policy conflicts, API Gateway displays the conflicting/
incompatible policies with a Conflict icon. You can choose to resolve the policy
conflicts and do a Apply, or simply continue to Apply with conflicts.
If you choose the continue with conflicts, API Gateway sets the focus on the
conflicting policies with Conflict ( ) icon displayed next to the policy names in the
Infographic section and the corresponding policy stages.
API Gateway will redirect you to the Policies tab. The newly applied policy template
comprising a set of policies and the policy properties is displayed in the Infographic
section.
11. After you apply the required policy templates, click Save to save the updated API.
Post-requisites:
Activate the API when you are ready to put it into effect.
webMethods API Cloud: API Gateway User's Guide Version 10.3 384
M
Odd Header
Policies
c. Use the Delete (X) icon in any individual policy to remove that particular policy
from the Infographic section.
6. Click Open in full-screen to view policy properties in full screen mode.
The Open in full-screen buon is located in the upper right-hand corner of the Policy
Configuration tab.
7. Set the properties of the displayed policy, and then click OK.
To exit full screen mode, click the Minimize icon.
8. Click Save to save the updated API.
Activate the API, if it is not active, to put it into effect.
webMethods API Cloud: API Gateway User's Guide Version 10.3 385
M
Even Header
Policies
You can save the current policy definition of an API as a new policy template. At a later
time, you can reuse this policy template in other APIs. For more information, see “
Applying a Policy Template on the API Details Page” on page 383.
Field Description
6. Click Save.
webMethods API Cloud: API Gateway User's Guide Version 10.3 386
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 387
M
Even Header
Policies
Endpoint Alias
webMethods API Cloud: API Gateway User's Guide Version 10.3 388
M
Odd Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 389
M
Even Header
Policies
webMethods API Cloud: API Gateway User's Guide Version 10.3 390
M
Odd Header
Aliases
6 Aliases
■ Overview ..................................................................................................................................... 392
■ Creating a Simple Alias ............................................................................................................. 392
■ Creating an Endpoint Alias ........................................................................................................ 393
■ Creating an HTTP Transport Security Alias .............................................................................. 394
■ Creating a SOAP Message Security Alias ................................................................................. 398
■ Creating a webMethods Integration Server Service Alias ......................................................... 402
■ Creating an XSLT Transformation Alias .................................................................................... 403
webMethods API Cloud: API Gateway User's Guide Version 10.3 391
M
Even Header
Aliases
Overview
An alias in API Gateway holds environment-specific property values that can be used in
policy routing configuration. The aliases can be referred to in routing endpoints, routing
rules, endpoint connection properties, and outbound authentication tokens instead of
providing a real value. The corresponding alias value is substituted in place of an alias
name during run-time. Thus the same alias can be referred to in multiple policies and
the change in a particular alias would affect all the policy properties in which it is being
referred. When an API is exported and imported to a different environment, you can
update the alias values specific to the environment instead of updating the policy with
environment specific values. You can create six types of alias:
Simple alias
Endpoint alias
HTTP transport security alias
SOAP message security alias
webMethods IS Service alias
XSLT Transformation alias
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 392
M
Odd Header
Aliases
Field Description
4. Click Technical information and specify a value in the Default value field.
Note: You can specify multiple email addresses, if you are creating an email
alias, for example, abc@gmail.com, test@gmail.com, and so on.
5. Click Save.
Note: If you want to configure this alias in the routing policies, you can follow
the syntax ${aliasname}. For example, if you want to route it to an
endpoint hp/mydevenv.com:7000/api, you can create a simple alias with
the name mystage and its value being hp/mydevenv.com:7000. The
endpoint URL can be specified in the properties as ${mystage}/api.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 393
M
Even Header
Aliases
Field Description
Connection timeout Specify the time interval (in seconds) after which a
connection aempt times out.
The default value is 30 seconds.
Read timeout Specify the time interval (in seconds) after which a
socket read aempt times out.
Key alias Specifies the key alias that is used by the SSL
connection.
5. Click Save.
webMethods API Cloud: API Gateway User's Guide Version 10.3 394
M
Odd Header
Aliases
An HTTP Transport security alias contains transport level security information required
while accessing the native API. Transport level security that are supported in API
Gateway outbound are as follows:
HTTP Basic authentication
OAuth2 authentication
NTLM authentication
Kerberos authentication
Field Description
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 395
M
Even Header
Aliases
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 396
M
Odd Header
Aliases
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 397
M
Even Header
Aliases
Field Description
Custom credentials Specifies the credentials that are required for the
NTLM handshake.
Provide the following information:
Username. Name of a consumer who is available in
the Integration Server on which API Gateway is
running.
Password. A valid password of the consumer.
Domain. The domain used by the server to
authenticate the consumer.
For the Authentication type OAuth2, authenticate using any of the following:
Incoming OAuth token Considers the incoming OAuth token to access the
native API.
5. Click Save.
webMethods API Cloud: API Gateway User's Guide Version 10.3 398
M
Odd Header
Aliases
Field Description
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 399
M
Even Header
Aliases
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 400
M
Odd Header
Aliases
Field Description
Signing configurations
webMethods API Cloud: API Gateway User's Guide Version 10.3 401
M
Even Header
Aliases
Field Description
Key alias The key alias is the private key that is used sign the
request sent to the native API.
Encryption configurations
Certificate alias Select the certificate from the truststore that is used
to encrypt the request that is sent to the native API.
5. Click Save.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 402
M
Odd Header
Aliases
Field Description
4. Click Technical information and specify the IS service name in the Service name field.
Note: The IS service must be available in the Integration Server, to which the
aliases are deployed.
5. Click Save.
Field Description
4. Click Technical information and browse and select an XSLT style sheet in the Select
transformation file field.
5. Click Save.
webMethods API Cloud: API Gateway User's Guide Version 10.3 403
M
Even Header
webMethods API Cloud: API Gateway User's Guide Version 10.3 404
M
Odd Header
Applications
7 Applications
■ Overview ..................................................................................................................................... 406
■ Creating an Application .............................................................................................................. 407
■ Viewing List of Applications and Application Details ................................................................. 415
■ Regenerating API Access Key ................................................................................................... 415
■ Modifying Application Details ..................................................................................................... 416
■ Registering an API with Consumer Applications from API Details Page ................................... 416
■ Registering APIs with Consumer Applications from Application Details Page ........................... 417
■ Suspending an Application ........................................................................................................ 418
■ Activating a Suspended Application .......................................................................................... 418
webMethods API Cloud: API Gateway User's Guide Version 10.3 405
M
Even Header
Applications
Overview
An application defines the precise identifiers by which messages from a particular
application is recognized at run time. The identifiers can be, for example, user name
in HTTP headers, a range of IP addresses, such that API Gateway can identify or
authenticate the applications that are requesting an API.
The ability of API Gateway to relate a message to a specific application enables it to:
Control access to an API at run time (that is, allow only authorized applications to
invoke an API).
Monitor an API for violations of a Service-Level Agreement (SLA) for a specified
application.
Indicate the application to which a logged transaction event belongs.
An application has the following aributes for specifying the identifiers:
IP address, which specifies one or more IP addresses that identify requests from a
particular application. Example: 192.168.0.10
This aribute is queried when the Identify and Authorize Application policy is
configured to identify applications using IP address.
Claims set, which specifies one or more claims that identify requests from a
particular application. The claims are a set of name-value pairs that provide
sufficient information about the application. Example: sub = Administrator.
This aribute is queried when the Identify and Authorize Application policy is
configured to identify applications using a JWT token or an OpenID token.
Client certificate, which specifies the X.509 certificates that identify requests from a
particular application.
This aribute is queried when the Identify and Authorize Application policy is
configured to identify the applications by a client certificate.
Identification token, which specifies the host names, user names or other
distinguishing strings that identify requests from a particular application.
This aribute is queried when the Identify and Authorize Application policy action
is configured to identify applications by host name, token, HTTP user name, and
WSS user name.
You can configure various authentication strategies to authenticate an incoming
request to the application. You can create multiple strategies authorized by an API
for an application. These strategies provide multiple authentication mechanisms or
multiple authorization servers for a single authentication scheme. For example, in case
of OAuth authentication scheme, you want the application to support both OKTA and
PINGFederate or OKTA with multiple tenants. This can be configured as OAuth strategy
for the application.
webMethods API Cloud: API Gateway User's Guide Version 10.3 406
M
Odd Header
Applications
If you have the Manage Application functional privilege assigned, you can create and
manage applications, and register applications with the APIs.
These are the high level stages of managing and using an application:
1. API developers request the API Gateway administrators to create an application for
access as per the required identification criteria.
2. API Gateway provider or administrator validates the request and creates a new
application, there by provisioning the application specific access tokens (API access
key and OAuth credentials).
3. API Developer, upon finding a suitable API, sends a request to API Gateway for
consumption by providing the application details.
4. After validating the request, API Gateway provider or administrator associates the
application with the API. Keys are generated for applications and not for every API
that the application consumes.
Note: The approval process, if any, is handled by the requesting application and
not handled by API Gateway.
5. The API developer can then use the application with the proper identifier (such as
the access key or identifier) to access the API.
API key expiration date
An API Gateway application has an optional expiration date for its API key. When
the API access key expires, the application cannot be identified. The API Gateway
Administrator can configure the apiKeyExpirationPeriod parameter from the General >
Extended settings page. If the expiration date is not specified, then the API key never
expires.
Suspended Applications
You can suspend applications so as to disable the identification of requests temporarily.
If a suspended application is identified while processing a request the request is rejected
with HTTP 403 (Forbidden) error. The response body has the following content:
Application has been identified but it is currently suspended. Please contact
the API Gateway administrator for further details.
You can resume the suspended applications to enable the identification again.
Creating an Application
You must have the API Gateway's manage applications functional privilege assigned to
perform this task.
You can create an application from the Applications page.
webMethods API Cloud: API Gateway User's Guide Version 10.3 407
M
Even Header
Applications
To create an application
1. Click Applications in the title navigation bar.
2. Click Create application.
3. Provide the following information in the Basic information section:
Name. Type a name for the application.
Version. Version of the application. By default it is 1.0 but can be modified to a
required value.
Description. Type a description of the application.
Requestor comment.
4. Click Continue to Identifiers >.
Alternatively, you can click Identifiers in the left navigation panel.
You can save the application by clicking Save at this stage and add the Identifiers and
APIs at a later time.
5. Provide the following information in the Identifiers section:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 408
M
Odd Header
Applications
Field Description
application. The claim set is identified by a unique
Name and is defined as a name-value pair that
consists of a Claim name and a Claim value.
You can add more claims and claims sets by clicking
+Add and adding the required information.
webMethods API Cloud: API Gateway User's Guide Version 10.3 409
M
Even Header
Applications
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 410
M
Odd Header
Applications
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 411
M
Even Header
Applications
Field Description
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 412
M
Odd Header
Applications
Field Description
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 413
M
Even Header
Applications
Field Description
running in the users browser. The user could
use a JavaScript debugger to look into the
application, and see the client password.
Application type. Specify the application type.
WEB. A web application is an application
running on a web server. In reality, a web
application typically consists of both a
browser part and a server part. The client
password could be stored on the server. The
password would thus be confidential.
USER_AGENT. A user agent application is for
instance a JavaScript application running
in a browser. The browser is the user agent.
A user agent application may be stored on
a web server, but the application is only
running in the user agent once downloaded.
NATIVE. A native application is for instance
a desktop application or a mobile phone
application. Native applications are
typically installed on the users computer
or device (phone, tablet etc.). Thus, the
client password will be stored on the users
computer or device too.
Token lifetime. Specify the token lifetime in
seconds for which the token is active
Token refresh limit. Specify the time in seconds for
which the token refresh is applicable
Redirect URIs. Specify the URIs that the
authorization server can use to redirect the
resource owner's browser during the grant
process. You can add multiple URIs by clicking
+Add.
Grant type. Specify the grant type to be used to
generate the credentials. Available options are
Authorization code, Implicit, Resource owner, Client
credentials.
Scopes. Select the scopes that are to be
associated to the generated client.
webMethods API Cloud: API Gateway User's Guide Version 10.3 414
M
Odd Header
Applications
Field Description
Gateway 10.3 onwards you have to select
scopes from the authorization server that
have to be associated with the strategy.
webMethods API Cloud: API Gateway User's Guide Version 10.3 415
M
Even Header
Applications
webMethods API Cloud: API Gateway User's Guide Version 10.3 416
M
Odd Header
Applications
webMethods API Cloud: API Gateway User's Guide Version 10.3 417
M
Even Header
Applications
Suspending an Application
You must have the API Gateway's manage applications functional privilege assigned or
you must be the owner of the application to perform this task.
You can suspend an application from the Applications details page.
To suspend an application
1. Click Applications in the title navigation bar.
A list of all the available applications are displayed.
2. Click the toggle buon (Active state), in the action column for the respective
application, to suspend the application.
Alternatively, you can click Suspend in the application details page.
3. Click Yes in the confirmation dialog box.
The application is suspended. The toggle buon in the Applications page changes
to (suspended state) and the option in the application details page changes to
Suspend.
webMethods API Cloud: API Gateway User's Guide Version 10.3 418
M
Odd Header
API Packages and Plans
webMethods API Cloud: API Gateway User's Guide Version 10.3 419
M
Even Header
API Packages and Plans
Overview
An API Package refers to a logical grouping of multiple APIs from a single API provider.
A package can contain one or more APIs and an API can belong to more than one
package. You must have the API Gateway's manage packages and plans functional
privilege assigned to manage API packages and plans.
An API Plan is the contract proposal presented to consumers who are about to subscribe
to APIs. Plans are offered as tiered offerings with varying availability guarantees, SLAs
or cost structures associated with them. An API package can be associated with multiple
plans at a time. This helps the API providers in providing tiered access to their APIs to
allow different service levels and pricing plans. Though you can edit or delete a plan
that has subscribers, Software AG recommends you not to do so.
Note: Package and plan subscriptions can be done only through API Portal.
You can create packages and plans, associate a plan with a package, associate APIs with
a package, view the list of packages, package details, and APIs and plans associated with
the package in the API Gateway user interface.
Creating a Package
You must have the API Gateway's manage packages and plans functional privilege
assigned to perform this task.
You can create an API Package from the Manage packages and plans page.
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 420
M
Odd Header
API Packages and Plans
Field Description
You can save the API package at this point and add the plans at a later time.
6. Click Continue to add plans.
Alternatively, click Plans in the left navigation pane.
7. Select the plans that are to be associated with the API package.
You can save the API package at this point and add APIs at a later time.
8. Click Continue to add APIs.
Alternatively, click APIs in the left navigation pane.
9. Type characters in the search box and click the search icon to search for the required
APIs.
A list of APIs that contain the characters specified in the search box appears.
10. Select the required APIs to be associated with the Package and click + to add them.
You can delete the APIs from the package by clicking the Delete icon adjacent to the
API in the API list.
11. Click Save.
Creating a Plan
You must have the API Gateway's manage packages and plans functional privilege
assigned to perform this task.
You can create a Plan from the Manage packages and plans page.
To create a plan
1. Click Packages in the title navigation bar.
2. Click Create in the Manage packages and plans section.
3. Select Plan.
4. Click Create.
5. Provide the following information in the Basic information section:
webMethods API Cloud: API Gateway User's Guide Version 10.3 421
M
Even Header
API Packages and Plans
Field Description
You can save the plan at this point and add the pricing and traffic optimization
configurations at a later time.
6. Click Continue to Pricing.
Alternatively, click Pricing in the left navigation pane.
7. Provide the following information in the Pricing section:
Field Description
You can save the plan at this point and provide traffic optimization configurations at
a later time.
8. Click Continue to Quality of Service.
Alternatively, click Rate limits in the left navigation pane.
9. Click + Add Rule.
10. Provide the following information in the Create Rule section:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 422
M
Odd Header
API Packages and Plans
Field Description
Interval Specifies the value for the interval for which the
maximum request count is handled.
Value provided should be an integer.
Violation message Specifies the text that displays when the rule is
violated.
Field Description
Interval Specifies the value for the interval for which the
maximum request quota is handled.
Value provided should be an integer.
Violation message Specifies the text that displays when the policy is
violated.
webMethods API Cloud: API Gateway User's Guide Version 10.3 423
M
Even Header
API Packages and Plans
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 424
M
Odd Header
API Packages and Plans
Modifying a Package
You must have the API Gateway's manage packages and plans assigned to perform this
task.
You can modify the basic information, include or exclude plans and APIs of the package.
You can modify a package only if it is in inactive state.
To modify a package
1. Click Packages in the title navigation bar.
A list of all packages appears.
2. Select a package.
The basic information, and the associated plans and APIs for the selected package
appear on the package details page.
3. Click Edit.
The package details appear.
Note: The Edit option is available only if the package is in inactive state.
4. You can modify the information related to the package, as required, in the Basic
information section.
5. Click Plans in case you want to modify the plans associated with the package.
A list of plans associated with the package and list of available plans appears.
6. You can do the following:
Add more plans to the package by selecting plans listed in the available plans
list.
Delete the plans from the package by clearing the check box of the plan
associated with the package.
7. Click APIs in case you want to modify the APIs associated with the package.
webMethods API Cloud: API Gateway User's Guide Version 10.3 425
M
Even Header
API Packages and Plans
A list of APIs associated with the package and a search box to search for APIs that
need to be added to the package appear.
8. You can do one of the following:
Add more APIs to the package. You can search for APIs using the search box and
click + adjacent to the API to add it
Delete the APIs from the package by clicking the Delete icon adjacent to the API
in the APIs list.
9. Click Save.
This saves the modified package.
Deleting a Package
You must have the API Gateway's manage packages and plans assigned to perform this
task.
You can delete a package from the Package list that appears on the Manage packages
and plans page. You can not delete a package if it is in active state. You have to
deactivate it before deleting it.
To delete a package
1. Click Packages in the title navigation bar.
A list of all packages appears.
2. Click the Delete icon for the package that has to be deleted.
3. Click Yes in the confirmation dialog.
Activating a Package
You must have the API Gateway's activate/deactivate packages assigned to perform this
task.
You can activate a package so that a consumer can try out APIs in the package with the
package level token. When the consumer requests a token from API Portal, the request is
processed in API Gateway and a token is sent back to API Portal. This token is visible to
the consumer on the Access Token page. The consumer can test the APIs in the package
with this token on the API Try out page.
To activate a package
1. Click Packages in the title navigation bar.
A list of all packages appears with their status as Inactive or Active.
2. Click the activation toggle buon for the package.
webMethods API Cloud: API Gateway User's Guide Version 10.3 426
M
Odd Header
API Packages and Plans
Publishing a Package
You must have the API Gateway's publish to API Portal functional privilege assigned to
perform this task.
You can publish a package to the configured destination, for example API Portal.
Once the package is published, the APIs associated with the package are available
to consumers. The package level token is applicable to all APIs associated with the
package. The consumers do not have to request an access token for individual APIs to
consume them.
Ensure the following before publishing a package:
A destination is configured.
The package is active.
The package has at least one plan and API associated with it.
The APIs associated with the package is published to the destination.
To publish a package
1. Click Packages in the title navigation bar.
A list of all packages appears.
2. Click the Publish icon for the package that has to be published.
A success messages is displayed when the package is successfully published.
The package is now published to the destination, for example API Portal, that is
configured and is available on API Portal to consumers.
You can unpublish a package once it is published by clicking the Unpublish icon for the
required package.
webMethods API Cloud: API Gateway User's Guide Version 10.3 427
M
Even Header
API Packages and Plans
A list of all plans appears. You can deleting a plan by clicking the Delete icon for the
respective plan.
3. Select a plan.
The basic information, the pricing, and Quality of service associated with the
selected plan appears in the plan details page.
Modifying a Plan
You must have the API Gateway's manage packages and plans functional privilege
assigned to perform this task.
You can modify a plan to change the pricing details and Quality of service associated
with the plan.
To modify a plan
1. Click Packages in the title navigation bar.
A list of all packages appears.
2. Click Plans.
A list of all plans appears.
3. Select a plan.
The plan details page displays the basic information, pricing details, and the Quality
of service associated with the plan.
4. Click Edit.
The plan details appear with fields that you can edit.
5. You can modify the information related to the plan, as required, in the Basic
information section.
6. Click Pricing in case you want to modify the pricing model associated with the plan.
7. Modify the pricing plan as required.
8. Click Rate limits if you want to modify the rules associated with the plan.
A list of rules associated with the plan appears.
9. You can do one of the following:
Add more rules to the plan. Click Add rule to create and add rules to the plan.
Modify the already configured rule. Click the Edit icon for the rule listed in the
Configured rules list and modify the details as required.
Delete rules from the plan. Click the Delete icon adjacent to the rule in the
Configured rules list.
webMethods API Cloud: API Gateway User's Guide Version 10.3 428
M
Odd Header
API Packages and Plans
10. Click Quota settings if you want to modify the quota seings for the plan.
11. Modify the quota seings as required.
12. Click Save.
This saves the modified plan.
Deleting a Plan
You must have the API Gateway's manage packages and plans functional privilege
assigned to perform this task.
You can delete a plan from the Plans list that appears in the Plans section of the Manage
packages and plans page. You can delete a plan only if it is not associated with a
package. You have to disassociate the plan with the package before deleting it.
To delete a plan
1. Click Packages in the title navigation bar.
2. Click Plans.
A list of plans appears.
3. Click the Delete icon for the plan that has to be deleted.
4. Click Yes in the confirmation dialog.
webMethods API Cloud: API Gateway User's Guide Version 10.3 429
M
Even Header
webMethods API Cloud: API Gateway User's Guide Version 10.3 430
M
Odd Header
Import Archives
9 Import Archives
■ Importing Exported Files ............................................................................................................ 432
webMethods API Cloud: API Gateway User's Guide Version 10.3 431
M
Even Header
Import Archives
Note: Imported APIs, applications, policies, and aliases become visible in API
Gateway immediately.
Active APIs are replaced during import with the updated API and the API
level policies.
The updated APIs and updated API level policies do not become effective
for ongoing requests.
Active APIs are replaced during deployment with zero downtime without
breaking ongoing requests.
Imported applications become effective immediately, even the ongoing
requests are affected.
Imported aliases and global policies do not affect ongoing requests.
You must have the API Gateway's import assets functional privilege assigned to import
an archive.
Note: During export or import of assets, ensure that the master password is
identical across stages and on different instances of API Gateway.
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 432
M
Odd Header
Import Archives
Parameter Description
API
Policy
Applications
Alias
Note: API Gateway supports backward compatibility for API Gateway 10.1
version or higher when importing the archives of APIs. If you want to use
the archives of API Gateway 10.2 in versions 10.3 and higher, you must
export them from API Gateway 10.2 fix 3 or higher.
3. Click Import.
The Import report displays the following information:
Parameter Description
4. Click Download the detail report here > to download the detail report.
webMethods API Cloud: API Gateway User's Guide Version 10.3 433
M
Even Header
Import Archives
The detail report displays the following information about the imported artifact:
Parameter Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 434
M
Odd Header
Asset Promotions
10 Asset Promotions
■ Manage Stages, Promotions, and Rollbacks ............................................................................. 436
webMethods API Cloud: API Gateway User's Guide Version 10.3 435
M
Even Header
Asset Promotions
Note: Stage-specific alias is supported only for simple alias and endpoint alias.
webMethods API Cloud: API Gateway User's Guide Version 10.3 436
M
Odd Header
Asset Promotions
Stages
The fundamental phases of assets starts with requirements or needs at the development
stage and once the assets are developed, they are promoted to the QA stage for testing,
after testing of the assets is complete, the assets are promoted to the production stage.
An asset's overall lifecycle can be split across two or more API Gateway instances. For
example, assets that are in the development and test phases of their lifecycle can be
maintained in one instance and assets that are deployed (that is, in production) can be
maintained in a separate instance.
When the asset's lifecycle is split across multiple API Gateway instances, each
participating instance is referred to as a stage. A stage definition in API Gateway
describes an API Gateway instance by its name and configuration information.
Note: Software AG recommends you to have API Gateway instances across stages to
be completely independent. For example, the API Gateway instances from the
Development stage and the API Gateway instances from the QA stage must
not share any resources in common such as databases.
Adding a Stage
Pre-requisites:
You must have the Manage promotions functional privilege assigned to perform this
task.
API Gateway can contain one or more stages. You define a stage to represent the asset's
lifecycle such as development, test, and production.
To add a stage
1. Expand the menu options icon , in the title bar, and select Promotion management.
2. Click Add Stage.
3. Provide the following information in the Basic information section:
Field Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 437
M
Even Header
Asset Promotions
Field Description
Stage URL Mandatory. The URL of the host machine where the stage
is deployed on an API Gateway installation.
The Stage URL value is specified in the format,
<scheme>://<host>:<port>. The scheme is http or
https. The host is the host name of the machine on
which the target API Gateway instance is running. The
port is the port number of the target API Gateway
instance.
Keystore alias The alias of the keystore containing the private key that
is used for performing asset promotion from one (source)
stage to another (target) stage.
The Keystore alias field contains a list of the available
keystore aliases in API Gateway. If there are no
configured keystore aliases, this field lists the default
Integration Server keystore, DEFAULT_IS_KEYSTORE .
Key alias The alias of the private key that is stored in the keystore
(signing) specified by the keystore alias.
The Key alias field contains a list of the available aliases in
the selected keystore. If there are no configured keystores,
this field is empty.
5. Click Save.
webMethods API Cloud: API Gateway User's Guide Version 10.3 438
M
Odd Header
Asset Promotions
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 439
M
Even Header
Asset Promotions
Deleting a Stage
Pre-requisites:
You must have the Manage promotions functional privilege assigned to perform this
task.
You delete a stage to remove it from API Gateway permanently. You can remove a stage
at any time.
To delete a stage
1. Expand the menu options icon , in the title bar, and select Promotion management.
The Stages tab displays a list of available stages.
2. Click the Delete icon for the stage that you want to delete.
3. Click Yes in the confirmation dialog.
Promotions
Promotion refers to moving API Gateway assets from the source stage to one or more
target stages. For example, you might want to promote assets you have developed on
servers in a Development stage (the source API Gateway instance) to servers in a QA or
Production stage (the target API Gateway instance).
When you promote an asset from one stage to another, the asset's metadata is copied
from the source instance to the target instance.
Promoting Assets
Pre-requisites:
You must have the Manage promotions functional privilege assigned to perform this
task.
Promoting assets from one (source) stage to another (target) stage includes the following
high-level steps:
1. Select assets for promotion: During this step, you search for assets by using a keyword
and by performing a type search that sorts and filters the results.
webMethods API Cloud: API Gateway User's Guide Version 10.3 440
M
Odd Header
Asset Promotions
Search using a keyword: You can search for all assets whose string aributes (asset
name, description, and so on) contain a certain keyword (character string).
Search using a Type: You can search for assets on the basis of types.
You may use the Search by type filter to restrict the types on which the search
is conducted. In the Search by type panel, API Gateway shows you a list of
supported asset types.
2. Optionally select assets' dependencies for promotion: During this step, you specify
whether the dependencies (for example, a list of applications that are registered for
an API, subscriptions for a package, and so on) of the selected assets will be included
for the promotion.
3. Select the stages to promote: During this step, you specify one or more target stages to
which you want to promote the selected assets and their dependencies.
4. Configure the promotion details: During this step, you provide the promotion-specific
information.
Important: If you plan to perform bulk promotion of assets from a source stage
to a target stage, Software AG recommends you to increase the value
of the pg.gateway.elasticsearch.http.socketTimeout property, located in
SAG_Root/IntegrationServer/instances/IS_Instance_Name/packages/
WmAPIGateway/config/resources/elasticsearch/config.properties.
The default value of this property is 3000. To bulk promote assets, for
example, 50 numbers, you would set the value of this property to 60000.
Depending on the number of assets you want to promote, increment the
value as 70000, 80000, and so on.
You must restart API Gateway for changes to this property to take effect.
To promote assets
1. Expand the menu options icon , in the title bar, and select Promotion management.
2. Select Promotions.
The Search page appears.
3. Click Promote.
4. In the Search by keyword text box, type the keyword to search for assets. You can use
one or more wildcards to specify the keywords.
API Gateway returns the assets that match the specified keyword.
5. In the Search by type drop-down list, select the required type(s). Select the All check
box to search across all asset types.
API Gateway returns the assets that match the selected type(s). The number of search
results is displayed in the results area, for example, Showing 10 results. If no
results are found, the results area is displays a blank page.
webMethods API Cloud: API Gateway User's Guide Version 10.3 441
M
Even Header
Asset Promotions
6. Optional. Select the Include admin configurations check box if you want to include
administrative configurations in the promotion.
API Gateway displays the administrative configurations that are supported for
promotion. The available options are:
Load balancer
Extended settings
API fault
Custom assertions
Keystore/Truststore
7. Select the assets and the administrative configurations that you want to promote.
8. Click Next.
The Assets and dependencies page appears.
9. Select the referenced assets that you want to promote.
10. Click Next.
The Stages page appears.
11. Select the target stages to that you want to promote the assets, dependencies, and
administrative configurations.
12. Click Next.
The Promote page appears.
13. Provide the following information:
Field Description
Note: The Overwrite assets if exists on selected stages option allows you to
overwrite assets that exist on the target stages. If you do not want to
overwrite assets in the target stages, clear this check box.
webMethods API Cloud: API Gateway User's Guide Version 10.3 442
M
Odd Header
Asset Promotions
Column Description
3. Examine the Report link in the Status column and check for any errors that occurred
during the asset promotion.
The Promotion status report displays the following information:
webMethods API Cloud: API Gateway User's Guide Version 10.3 443
M
Even Header
Asset Promotions
Column Description
Asset type Name of the asset type that was promoted from
the source instance.
Repromoting Assets
Pre-requisites:
You must have the Manage promotions functional privilege assigned to perform this
task.
If you have made recent changes to an asset's information, you can repromote the
updated asset to the already promoted target stages.
If you need to update an asset, for example, you need to correct an aribute seing,
modify the asset's description, that has already been promoted to a target stage, you can
simply make the change directly to the asset in the source target and then repromote the
updated asset to the target stage just as you did with the previous version of the asset. In
a multi-stage environment, you will need to repromote the updated assets in each of the
participating API Gateway instances.
To repromote assets
1. Expand the menu options icon , in the title bar, and select Promotion management.
2. Select Promotions.
The Promotions tab displays a list of available promotion histories in API Gateway.
3. Click the Repromote icon for the required assets' promotion history.
The Stages page appears.
4. Select the target stages to that you want to repromote the assets, dependencies, and
administrative configurations.
5. Click Next.
webMethods API Cloud: API Gateway User's Guide Version 10.3 444
M
Odd Header
Asset Promotions
Field Description
Note: The Overwrite assets if exists on selected stages option allows you to
overwrite assets that exist on the target stages. If you do not want to
overwrite assets in the target stages, clear this check box.
7. Click Promote.
The selected assets, dependencies, and administrative configurations are repromoted
to the selected stages.
The Stage-specific promotion status page displays the status of the asset repromotion
in each of the selected stages. The available values are:
Success
Failure
The page also displays the reason if the repromotion fails.
Rollbacks
Rollback is the process of restoring the asset's metadata in the target API Gateway
instance to a previous state.
You might need to rollback assets to revert any promotional data changes being made in
the target API Gateway instance.
webMethods API Cloud: API Gateway User's Guide Version 10.3 445
M
Even Header
Asset Promotions
Column Description
3. Examine the Report link in the Status column and check for any errors that occurred
during the rollback process.
The Promotion status report displays the following information:
Column Description
Asset Type Name of the asset type that was promoted from
the source instance.
Asset Name Name of the asset that was promoted from the
source instance.
webMethods API Cloud: API Gateway User's Guide Version 10.3 446
M
Odd Header
API Gateway Analytics
webMethods API Cloud: API Gateway User's Guide Version 10.3 447
M
Even Header
API Gateway Analytics
Analytics Dashboards
The analytics dashboards display a variety of charts to provide an overview of API
Gateway performance and its API usage. The data for these dashboards come from the
API Gateway destination store. In API Gateway there are two types of dashboards. Each
of these dashboards has various filters that can be applied as per the required metrics to
be monitored.
API Gateway dashboard. Displays API Gateway-wide analytics such as Summary of
APIs, API usage, API trends, the top performing API and the non-performing API
analytics, audit logs, applications and package related event information. This can
be accessed by expanding the menu options icon , in the title bar, and selecting
Analytics.
API-specific dashboard. Displays API specific analytics such as API invocation
trends by response time, success and failure rates, API performance, consumer or
application traffic for a specific API. This can be accessed from the API details page.
The dashboard displays depend on the events and metrics generated in API Gateway
and their types. An event is a kind of notification or alert generated by the API Gateway
Metrics and Event Notification module. Various types of event are generated based on
the behavior of the transactions in the system. Events generated by API Gateway are real
time events made persistent in the store and sent to configured destinations.
These are the types of events generated in API Gateway:
Transactional event : Provides a summary of each runtime transaction in the system.
It is generated when a Log Invocation policy is included for the API. For example,
if an API has the policy aached to it, then for every invoke the system generates
a transaction event. API Gateway provides a system global policy, Transaction
logging, which are pre-configured in the product. This policy is, by default,
deactivated. The transaction logging policy has standard filters and a log invocation
policy that logs request or response payloads to a specified destination.
Error event: Provides details of an error that occurred during an API invoke. This
event is generated whenever there is an error in the system during a runtime service
invocation. This is configured as part of destination configuration.
Monitoring event: Provides a summary of event details along with the breach
information when there is a threshold breach in any of the configured parameters.
Monitoring could be done based on various parameters such as Total Request Count,
Total Success Count, Response Time, and Availability. Monitoring can be done at the
consumer application level too so that each consumer can be tracked individually.
These events are generated when a Monitor Service performance and Monitor SLA
Policy is included for the API.
Policy violation event: Provides a summary of the policy violations that occurred in the
system. When a policy aached to an API is violated, the system generates the policy
violation event for alerting the provider. The Identity and Access, Authorization,
webMethods API Cloud: API Gateway User's Guide Version 10.3 448
M
Odd Header
API Gateway Analytics
and Schema Validation policies generate these events. This is configured as part of
destination configuration.
Lifecycle event: Provides a summary of the life cycle of the API Gateway instance.
Whenever the instance is started or stopped, a life cycle notification is generated.
This is configured as part of destination configuration.
Threat protection event: Provides a summary of the threat protection filter and rule
violations. When a filter or rule is violated, the system generates the threat protection
violation event. This is configured a part of destination configuration.
Note: The Summary, Trends, and Application analytics are visible only in API
Gateway Full Edition. Threat protection analytics is the only data visible in
API Gateway Firewall Edition. The threat protection analytics information is
visible only if you select the Alert type as flow service in Policies > Global threat
webMethods API Cloud: API Gateway User's Guide Version 10.3 449
M
Even Header
API Gateway Analytics
protection > Alert settings section. The threat protection analytics information is
visible only if you select the Alert type as flow service in Policies > Global threat
protection > Alert settings section.
webMethods API Cloud: API Gateway User's Guide Version 10.3 450
M
Odd Header
API Gateway Analytics
Applications Events per application Displays a pie chart that depicts the
activity of events per application being
monitored and each of these categories
is depicted with different colors.
webMethods API Cloud: API Gateway User's Guide Version 10.3 451
M
Even Header
API Gateway Analytics
webMethods API Cloud: API Gateway User's Guide Version 10.3 452
M
Odd Header
API Gateway Analytics
webMethods API Cloud: API Gateway User's Guide Version 10.3 453
M
Even Header
API Gateway Analytics
API usage API Gateway This bar chart displays the trending of
details invocation usage API invocations across API Gateway.
Hover the cursor over the bar chart to
see the number of API invocations for
the current month.
API-specific Dashboard
You can view the API-specific dashboard by navigating to the API details page and
clicking the Analytics icon for the specific API. The dashboard displays the following
analytics based on the metrics monitored.
You can select the time interval and click Apply filter to filter the analytics based on the
time interval chosen. You can select the time interval from the drop-down options.
If you select custom, you can type the From date and To date to specify the time interval
for which you want to view the API-specific analytics.
For the specified time interval you can also filter based on an API. The API drop-down
list displays all the APIs. On selecting an API, the data displayed is for the selected API.
You can click on the specific event in the list under Legend to view the specific event in
any of the widgets. You can view additional details for an event by hovering the cursor
over a particular color in the graphical representations.
Metric Description
API invocations Displays the number of time the API was invoked
during the specified time.
webMethods API Cloud: API Gateway User's Guide Version 10.3 454
M
Odd Header
API Gateway Analytics
Metric Description
Response code trend Displays the trend based on the response codes
received from various events for the API during
the specified time.
API trend by response Displays the trending of the selected API based
on the response time from the performance
metrics for that API.
Runtime events Displays the run time event details for the
selected API. Displays information on the event
type, date when the event was created, the agent
on which the event was generated, description of
the alert generated, the source of event, and the
application that generated the event.
webMethods API Cloud: API Gateway User's Guide Version 10.3 455
M
Even Header
API Gateway Analytics
webMethods API Cloud: API Gateway User's Guide Version 10.3 456
M
Odd Header
API Gateway Analytics
webMethods API Cloud: API Gateway User's Guide Version 10.3 457
M
Even Header
API Gateway Analytics
Events Description
KPI metrics are used to monitor the run-time execution of APIs. Metrics include the
maximum response time, average response time, fault count, availability of APIs, and so
on. If you include runtime monitoring policies, the policies will monitor the KPI metrics
for APIs, and can send alerts to various destinations when user-specified performance
conditions for an API are violated. The KPI metrics that API Gateway can generate are:
Average Response The average amount of time it took the API to complete all
Time invocations in the current interval. This is measured from
webMethods API Cloud: API Gateway User's Guide Version 10.3 458
M
Odd Header
API Gateway Analytics
Total Request The total number of requests for each API running in API
Count Gateway in the current interval.
You can configure API Gateway to publish the runtime events and metrics data to
different destinations. The following sections describe the runtime events and metrics
data model for each of these destinations:
API Gateway
API Portal
Audit Log
CentraSite
Elasticsearch
Email
Local Log
API Gateway
The runtime events and metrics payload is generated by API Gateway at run-time. The
columns that make up the events and metrics data model for API Gateway are listed
below:
Transactional Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 459
M
Even Header
API Gateway Analytics
Column Description
Example: c0f84954-9732-11e5-b9f4-f159eafe47b1
webMethods API Cloud: API Gateway User's Guide Version 10.3 460
M
Odd Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 461
M
Even Header
API Gateway Analytics
Column Description
time includes the overhead incurred by API Gateway.
Overhead includes the time it takes for a provider
to process a request and return a response, plus any
network latency to or from the provider. Subtracting
total time from provider time must give a rough
indicator of the API Gateway overhead.
Example: 20
webMethods API Cloud: API Gateway User's Guide Version 10.3 462
M
Odd Header
API Gateway Analytics
Column Description
PUT","Connection":"close","Date":"Fri, 30
Mar 2018 08:25:45 GMT","Access-Control-
Allow-Headers":"Content-Type, api_key,
Authorization","Content-Type":"application/
xml"}
Error Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 463
M
Even Header
API Gateway Analytics
Column Description
Example: 10.20.248.33
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 464
M
Odd Header
API Gateway Analytics
Column Description
Monitoring Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 465
M
Even Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 466
M
Odd Header
API Gateway Analytics
Lifecycle Events
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 467
M
Even Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 468
M
Odd Header
API Gateway Analytics
Column Description
Performance Metrics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
webMethods API Cloud: API Gateway User's Guide Version 10.3 469
M
Even Header
API Gateway Analytics
Column Description
Example: 1501671101509
intervalStart The starting date and time from which you want to
examine metrics.
Example: 1526294632172
intervalStop The ending date and time until which you want to
examine metrics.
Example: 1526294632182
webMethods API Cloud: API Gateway User's Guide Version 10.3 470
M
Odd Header
API Gateway Analytics
Column Description
Example: 100
Column Description
requestType The type of request that was received for the API.
Example: ALL
resourcePath The relative URI path of a resource that was used for
API invocation.
webMethods API Cloud: API Gateway User's Guide Version 10.3 471
M
Even Header
API Gateway Analytics
Column Description
Example: invoke/pub.date/getCurrentDate
API Portal
The runtime events and metrics payload generated by API Gateway at run-time is
published to the configured API Portal destination. The columns that make up the
events and metrics data model for API Portal are listed below:
Transactional Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 472
M
Odd Header
API Gateway Analytics
Column Description
Example: c0f84954-9732-11e5-b9f4-f159eafe47b2
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 473
M
Even Header
API Gateway Analytics
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 474
M
Odd Header
API Gateway Analytics
Column Description
Example:
{"Server":"Jetty(9.2.9.v20150224)","Access-
Control-Allow-Origin":"*","Access-Control-
Allow-Methods":"GET, POST, DELETE,
PUT","Connection":"close","Date":"Fri, 30
Mar 2018 08:25:45 GMT","Access-Control-
Allow-Headers":"Content-Type, api_key,
Authorization","Content-Type":"application/
xml"}
Error Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 475
M
Even Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 476
M
Odd Header
API Gateway Analytics
Column Description
Example: 503
Monitoring Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 477
M
Even Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 478
M
Odd Header
API Gateway Analytics
Lifecycle Events
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 479
M
Even Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 480
M
Odd Header
API Gateway Analytics
Column Description
Example: 200
Performance Metrics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 481
M
Even Header
API Gateway Analytics
Column Description
intervalStart The starting date and time from which you want to
examine metrics.
Example: 2015-08-26 04:13:35 PM
intervalStop The ending date and time until which you want to
examine metrics.
Example: 2015-08-26 04:13:45 PM
webMethods API Cloud: API Gateway User's Guide Version 10.3 482
M
Odd Header
API Gateway Analytics
Column Description
Column Description
requestType The type of request that was received for the API.
Example: ALL
resourcePath The relative URI path for a resource that was used for
API invocation.
Example: invoke/pub.date/getCurrentDate
webMethods API Cloud: API Gateway User's Guide Version 10.3 483
M
Even Header
API Gateway Analytics
Column Description
Audit Log
The runtime events and metrics payload generated by API Gateway at run-time is
published to the configured Audit Log destination. The columns that make up the events
and metrics data model for Audit Log are listed below:
Transactional Events
Column Description
AUDITTIMESTAMP Date and time when the event was wrien to the log.
Example: 2017-08-07 07:22:22
webMethods API Cloud: API Gateway User's Guide Version 10.3 484
M
Odd Header
API Gateway Analytics
Column Description
EVENT_PK The primary key (PK) that uniquely identifies the event
that occurred.
Example: 1
INSERTTIMESTAMP Date and time when the event was generated in API
Gateway.
Example: 2017-08-07 07:22:22
webMethods API Cloud: API Gateway User's Guide Version 10.3 485
M
Even Header
API Gateway Analytics
Column Description
time includes the overhead incurred by API Gateway.
Overhead includes the time it takes for a provider
to process a request and return a response, plus any
network latency to or from the provider. Subtracting
total time from provider time must give a rough
indicator of the API Gateway overhead.
Example: 1336
webMethods API Cloud: API Gateway User's Guide Version 10.3 486
M
Odd Header
API Gateway Analytics
CentraSite
The runtime events and metrics payload generated by API Gateway at run-time is
published to the configured CentraSite destination. The columns that make up the
events and metrics data model for CentraSite are listed below:
Transactional Events
Column Description
Created Time Date and time when the event was generated in API
Gateway.
Example: 2017-08-09 01:27:45 AM
PartnerId The unique identifier for the partner that generated the
audit record.
Example: unknown
webMethods API Cloud: API Gateway User's Guide Version 10.3 487
M
Even Header
API Gateway Analytics
Column Description
Total Round Trip time Time in milliseconds required to invoke the API
provider. This time includes the overhead incurred by
API Gateway. Overhead includes security overhead for
encryption, decryption, and load-balance retries.
Example: 1707
Error Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 488
M
Odd Header
API Gateway Analytics
Column Description
Created Time Date and time when the event was generated in API
Gateway.
Example: 2017-08-09 08:24:04 AM
Monitoring Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 489
M
Even Header
API Gateway Analytics
Column Description
Alert Source Name of the API Gateway policy that generated the
alert message.
Example: Monitorpolicy, EnforcePolicy-HardLimit
Created Time Date and time when the event was generated in API
Gateway.
Example: 2017-08-08 02:27:34 PM
webMethods API Cloud: API Gateway User's Guide Version 10.3 490
M
Odd Header
API Gateway Analytics
Column Description
Column Description
Alert Source Name of the API Gateway policy that generated the
alert message.
Example: Unknown-Policy
webMethods API Cloud: API Gateway User's Guide Version 10.3 491
M
Even Header
API Gateway Analytics
Column Description
Example: unknown
Created Time Date and time when the event was generated in API
Gateway.
Example: 2017-08-09 08:25:52 AM
Lifecycle Events
Column Description
TimeStamp Date and time when the event was generated in API
Gateway.
Example: 2017-08-26 04:13:35 PM
webMethods API Cloud: API Gateway User's Guide Version 10.3 492
M
Odd Header
API Gateway Analytics
Elasticsearch
The runtime events and metrics payload generated by API Gateway at run-time is
published to the configured Elasticsearch destination. The columns that make up the
events and metrics data model for Elasticsearch are listed below:
Transactional Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 493
M
Even Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 494
M
Odd Header
API Gateway Analytics
Column Description
to process a request and return a response, plus any
network latency to or from the provider. Subtracting
total time from provider time must give a rough
indicator of the API Gateway overhead.
Example: 1367
Error Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 495
M
Even Header
API Gateway Analytics
Column Description
Example: af70b2de-c9c5-4f40-94be-7d8622743e42
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 496
M
Odd Header
API Gateway Analytics
Column Description
Example: GET
Monitoring Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 497
M
Even Header
API Gateway Analytics
Column Description
Example: c0f84954-9732-11e5-b9f4-f159eafe47b2
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
webMethods API Cloud: API Gateway User's Guide Version 10.3 498
M
Odd Header
API Gateway Analytics
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 499
M
Even Header
API Gateway Analytics
Column Description
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
Performance Metrics
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 500
M
Odd Header
API Gateway Analytics
Column Description
Example: 1.0
creationDate Date and time when the event was generated in API
Gateway.
Example: 1501671101509
intervalStart The starting date and time from which you want to
examine metrics.
Example: 02 Aug 2017 10:51:31 GMT
intervalStop The ending date and time until which you want to
examine metrics.
Example: 02 Aug 2017 10:52:31 GMT
webMethods API Cloud: API Gateway User's Guide Version 10.3 501
M
Even Header
API Gateway Analytics
Column Description
Email
The runtime events and metrics payload generated by API Gateway at run-time is
published to the configured Email destination. The columns that make up the events and
metrics data model for Email are listed below:
Transactional Events
Column Description
Description Message that describes the date and time the API was
invoked and the application associated with the API
invocation.
webMethods API Cloud: API Gateway User's Guide Version 10.3 502
M
Odd Header
API Gateway Analytics
Column Description
Native Endpoint The endpoint URL of the native API being invoked.
Example: http://petstore.swagger.io/v2/pet/55
Runtime Policy Name of the runtime policy that is enforced on the API.
Example: Log Invocation
Monitoring Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 503
M
Even Header
API Gateway Analytics
Column Description
Native Endpoint The endpoint URL of the native API that is being
invoked.
Example: http://petstore.swagger.io/v2/pet/55
Runtime Policy Name of the runtime policy that is enforced on the API.
Example: Log Invocation
Local Log
The runtime events and metrics payload generated by API Gateway at run-time is
published to the configured Local Log destination. The columns that make up the events
and metrics data model for Local Log are listed below:
webMethods API Cloud: API Gateway User's Guide Version 10.3 504
M
Odd Header
API Gateway Analytics
Transactional Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 505
M
Even Header
API Gateway Analytics
Column Description
Partner ID The unique identifier for the partner that generated the
audit record.
Example: unknown
Runtime Policy Name of the API Gateway policy that triggered the
event.
Example: Log Invocation
Target endpoint The endpoint URL of the native API that is invoked.
Example: http://petstore.swagger.io/v2/pet/55
Monitoring Events
Column Description
webMethods API Cloud: API Gateway User's Guide Version 10.3 506
M
Odd Header
API Gateway Analytics
Column Description
Example: Alert_Message
Native Endpoint The endpoint URL of the native API that is invoked.
Example: http://petstore.swagger.io/v2/pet/55
Policy name Name of the API Gateway policy that triggered the
event.
Example: Monitor Policy
webMethods API Cloud: API Gateway User's Guide Version 10.3 507