API for IBM App Connect in containers
The API for IBM® App Connect in containers provides REST API facilities for administering resources that the App Connect Dashboard manages. You can typically use this API to automate your integration deployment lifecycles from your continuous integration and continuous delivery (CI/CD) pipelines.
The API for IBM App Connect in containers (abbreviated to IBM App Connect API) is available with IBM App Connect Operator 11.6.0 or later, and App Connect Dashboard instances at version 12.0.12.2-r1 or later.
The API is supported in Red Hat® OpenShift® and Kubernetes environments.
Supported resources and operation types
This IBM App Connect API supports create, read, update, and delete operation types for the following managed resources in an App Connect Dashboard instance:
- BAR filesRestriction: API calls to retrieve (or read), upload or update, and delete BAR files apply only to the content server that is associated with the Dashboard instance. API calls are not supported for administering BAR files in the following scenarios:
- An external repository is used for BAR file storage.
- The Dashboard instance is deployed with no storage attached. This storage is configured by
setting spec.storage.type to
none
in the Dashboard custom resource (CR). For more information, see App Connect Dashboard reference: Storage.
- Configuration objects
- Integration runtimes
- Trace objects
As a typical use case for integration deployment, you can use the API to send requests that manage BAR files in the content server, create configuration objects, and deploy integration runtimes that reference the BAR files and configurations. You can also enable and manage trace on deployed integration runtimes to aid with problem determination and troubleshooting.
Access requirements for the API
The access requirements for interacting with the API are as follows:
- A deployed App Connect Dashboard instance is required.
- If you are using
CloudPakForIntegration*
orAppConnectEnterprise*
style licenses for your App Connect Dashboard instance (and other resources) and Keycloak is enabled for both authentication and authorization, the following requirements apply:- You need an access token to authenticate to the API. To obtain a token, see Locating the base URL for the API endpoints and Generating an access token.
- The username that you use to log in to the Dashboard must be assigned the
dashboard-admin
role.
For more information, see Implementing identity and access management for App Connect Designer and App Connect Dashboard instances and Roles and permissions for App Connect Dashboard 12.0.10.0-r2 or later (in IBM App Connect Operator 11.0.0 or later).
- If you are using
AppConnectEnterprise*
style licenses and Keycloak is disabled (or not supported), you do not need to generate an access token and can use the API without any authentication.Tip: This option typically applies if you are using an independent deployment of IBM App Connect Operator 11.6.0 or later on a Red Hat OpenShift cluster or in a Kubernetes environment.
Response codes and error handling
The API uses standard HTTP response codes to indicate whether an HTTP method completed successfully.
- A
2xx
response code indicates success. - A
4xx
response code indicates a client-side failure.Possible reasons might include an invalid, malformed, or unauthorized request, a resource not being found, or a conflict.
Tip: If you see a401
response code, which indicates that a request isunauthorized
, ensure that an access token is included in the request. A less-common possibility is that the access token has expired after 30 days of inactivity, in which case a new access token needs to be generated. - A
5xx
response code indicates an internal server-side error that stops the server from fulfilling the request.If you see this type of error, first check the Dashboard logs. If you cannot resolve the issue, contact IBM Support.
Rate limits
The rate limit is the maximum number of calls that you can make to the API in a particular time interval. You can send 100 requests per minute to the API for your Dashboard instance.
If you reach 100 requests in a minute, HTTP response code 429 is returned, and no further requests are accepted until the timer expires. After the timer expires, a new time window begins with the next accepted request.
X-RateLimit-Reset
indicates the time when the current timer expires (in UNIX epoch time).X-RateLimit-Remaining
indicates the number of requests that remain in the current time window.X-RateLimit-Limit
indicates the total number of requests that are allowed within the time window.