Installation
Install the SDK using your preferred package manager: npm:Requirements
- Node.js: 16.0.0 or higher
- TypeScript: 5.0+ (for TypeScript projects)
- Fetch API: Native fetch support (Node.js 18+) or polyfill for older versions
Node.js Compatibility
For Node.js versions below 18, you’ll need to install a fetch polyfill:Features
- 🚀 TypeScript First - Built with TypeScript, includes comprehensive type definitions
- 📦 Modern JavaScript - ESM and CommonJS support for maximum compatibility
- ⚡ Promise-based API - Async/await support using native fetch
- 🔌 100+ Integrations - Connect to Slack, GitHub, Jira, Linear, and many more
- 🎯 Unified API - Consistent interface across all integrations via Unify API
- 🔑 Proxy API - Direct access to underlying integration APIs
- 🪶 Lightweight - Zero dependencies beyond native fetch API
- 🛡️ Error Handling - Comprehensive error messages and validation
- 📚 Well Documented - Extensive documentation and examples
Quick Start
Get started with BundleUp in just a few lines of code:Authentication
The BundleUp SDK uses API keys for authentication. You can obtain your API key from the BundleUp Dashboard.Getting Your API Key
- Sign in to your BundleUp Dashboard
- Navigate to API Keys
- Click Create API Key
- Copy your API key and store it securely
Initializing the SDK
Security Best Practices
- ✅ DO store API keys in environment variables
- ✅ DO use a secrets management service in production
- ✅ DO rotate API keys regularly
- ❌ DON’T commit API keys to version control
- ❌ DON’T hardcode API keys in your source code
- ❌ DON’T share API keys in public channels
Example .env file:
Core Concepts
Platform API
The Platform API provides access to core BundleUp features like managing connections and integrations. Use this API to list, retrieve, and delete connections, as well as discover available integrations.Proxy API
The Proxy API allows you to make direct HTTP requests to the underlying integration’s API through BundleUp. This is useful when you need access to integration-specific features not covered by the Unify API.Unify API
The Unify API provides a standardized, normalized interface across different integrations. For example, you can fetch chat channels from Slack, Discord, or Microsoft Teams using the same API call.API Reference
Connections
Manage your integration connections.List Connections
Retrieve a list of all connections in your account.integration_id(string): Filter by integration IDintegration_identifier(string): Filter by integration identifier (e.g., ‘slack’, ‘github’)external_id(string): Filter by external user/account IDlimit(number): Maximum number of results (default: 50, max: 100)offset(number): Number of results to skip for pagination
Retrieve a Connection
Get details of a specific connection by ID.Delete a Connection
Remove a connection from your account.Integrations
Discover and work with available integrations.List Integrations
Get a list of all available integrations.status(string): Filter by status (‘active’, ‘inactive’, ‘beta’)limit(number): Maximum number of resultsoffset(number): Number of results to skip for pagination
Retrieve an Integration
Get details of a specific integration.Webhooks
Manage webhook subscriptions for real-time event notifications.List Webhooks
Get all registered webhooks.Create a Webhook
Register a new webhook endpoint.connection.created- Triggered when a new connection is establishedconnection.deleted- Triggered when a connection is removedconnection.updated- Triggered when a connection is modified
Retrieve a Webhook
Get details of a specific webhook.Update a Webhook
Modify an existing webhook.Delete a Webhook
Remove a webhook subscription.Webhook Payload Example
When an event occurs, BundleUp sends a POST request to your webhook URL with the following payload:Webhook Security
To verify webhook signatures:Proxy API
Make direct HTTP requests to integration APIs through BundleUp.Creating a Proxy Instance
GET Request
POST Request
PUT Request
PATCH Request
DELETE Request
Working with Different Content Types
Sending form data:Handling Binary Data
Unify API
Access unified, normalized data across different integrations with a consistent interface.Creating a Unify Instance
Chat API
The Chat API provides a unified interface for chat platforms like Slack, Discord, and Microsoft Teams.List Channels
Retrieve a list of channels from the connected chat platform.limit(number, optional): Maximum number of channels to return (default: 100, max: 1000)after(string, optional): Pagination cursor from previous responseinclude_raw(boolean, optional): Include raw API response from the integration (default: false)
Git API
The Git API provides a unified interface for version control platforms like GitHub, GitLab, and Bitbucket.List Repositories
List Pull Requests
repoName(string, required): Repository name in the format ‘owner/repo’limit(number, optional): Maximum number of PRs to returnafter(string, optional): Pagination cursorinclude_raw(boolean, optional): Include raw API response

