Node.js client library to interact with the Code Engine API.
- Overview
- Prerequisites
- Breaking Changes (March 2026)
- Installation
- Using the SDK
- Questions
- Issues
- Open source @ IBM
- Contributing
- License
The IBM Cloud Code Engine Node.js SDK allows developers to programmatically interact with the following IBM Cloud services:
| Service Name | Import Path |
|---|---|
| Code Engine | @ibm-cloud/ibm-code-engine-sdk/code-engine/v2 |
| Code Engine | ibm-code-engine-sdk/ibm-cloud-code-engine/v1 |
- You need an IBM Cloud account.
- Node.js >=14: This SDK is tested with Node.js versions 14 and up. It may work on previous versions but this is not officially supported.
For consistency, the March 2026 update introduces pluralized list APIs, new outbound destination types, and updated constructor/patch models. These changes require updates to existing client code.
-
Method renames (pluralization) Update all list calls:
// before const response = await codeEngineService.listAllowedOutboundDestination(params); // after const response = await codeEngineService.listAllowedOutboundDestinations(params);
// before const response = await codeEngineService.listPersistentDataStore(params); // after const response = await codeEngineService.listPersistentDataStores(params);
-
Pager class renames Switch to the new pager names:
// before const pager = new CodeEngineV2.AllowedOutboundDestinationPager(codeEngineService, params); // after const pager = new CodeEngineV2.AllowedOutboundDestinationsPager(codeEngineService, params);
// before const pager = new CodeEngineV2.PersistentDataStorePager(codeEngineService, params); // after const pager = new CodeEngineV2.PersistentDataStoresPager(codeEngineService, params);
-
Allowed outbound destination patch payloads changed Do not send
typein patch payloads anymore. Use the specific fields instead:// before const patch = { type: 'cidr_block', cidr_block: '10.0.1.0/24', }; // after (remove type field) const patch = { cidr_block: '10.0.1.0/24', };
-
Allowed outbound destination prototypes now require
nameThenamefield is now required when creating allowed outbound destinations. Ensure you set it for all create flows:const prototype = { type: 'cidr_block', name: 'allow-all', // now required cidr_block: '10.0.0.0/24', };
For Private Path service gateway (new type):
const prototype = { type: 'private_path_service_gateway', name: 'pps-to-service-x', private_path_service_gateway_crn: '<private-path-service-gateway-crn>', isolation_policy: 'shared', // optional: 'shared' or 'dedicated' };
Action checklist:
- Rename the list methods and pager classes as shown above.
- Adjust parameter order for CIDR block prototypes (name before cidr_block).
- Remove
typefrom allowed-outbound-destination patch payloads.- Ensure
nameis provided when creating allowed outbound destinations.- Include the new
private_path_service_gatewaytype in any client-side branching/validation.
npm install @ibm-cloud/ibm-code-engine-sdkExamples and a demo are available in the examples folder.
For general SDK usage information, please see this link
If you are having difficulties using this SDK or have a question about the IBM Cloud services, please ask a question at Stack Overflow.
If you encounter an issue with the SDK, you are welcome to submit a bug report. Before that, please search for similar issues. It's possible someone has already encountered this issue.
Find more open source projects on the IBM Github Page
See CONTRIBUTING.
This project is released under the Apache 2.0 license. The license's full text can be found in LICENSE.