Get started with BundleUp in a Django application. This guide walks you through connecting to a third-party API (GitHub, in this example) and then using the resultingDocumentation Index
Fetch the complete documentation index at: https://docs.bundleup.io/llms.txt
Use this file to discover all available pages before exploring further.
connection_id to fetch data through the BundleUp unified API.
By the end of this guide, you’ll:
- Redirect a user through an OAuth-style authorization flow
- Receive a
connection_id - Use that
connection_idto make unified API calls via BundleUp
Prerequisites
Before you begin, make sure you have:- A BundleUp account
- A BundleUp API key (server-side)
- Your BundleUp Client ID (used for authorization redirects)
- An Integration ID for the service you want to connect (for example,
github) - Python 3.10+ installed
You can find your API key, Client ID, and Integration IDs in the BundleUp dashboard.
Step 1: Create a Django project
If you don’t already have a Django project:Step 2: Install the BundleUp Python SDK
Install the official BundleUp SDK from PyPI:Step 3: Configure Django settings
Add Django view URLs and your environment configuration:- Create a
.envfile in your project root with:
.env
- Load these environment variables in
settings.py(you can use python-dotenv or your own loader). - In
bundleup_django/urls.py, add routes:
bundleup_django/urls.py
Step 4: Create the authorization link
Incore/views.py, add a view that redirects a user to the BundleUp authorization endpoint:
core/views.py
core/templates/home.html with:
core/templates/home.html
/callback.
Step 5: Handle the callback and fetch data
When BundleUp redirects back to/callback, it includes a connection_id query parameter. Here’s how to read it and make a unified API call with the Python SDK:
core/views.py
core/templates/callback.html:
core/templates/callback.html
connection_idties a user + integration together- The Python SDK then makes authenticated calls using that connection
- You can fetch repositories, calendar events, files, contacts, etc., depending on the integration
Step 6: Run your development server
Start the Django server:What’s next?
- Persist
connection_idto your database for later use - Add authenticated views that use the Python SDK to fetch user data
- Support additional integrations with no auth changes

