How Hubby Works
The integration is simple: you send a booking, we return promo codes. Here's the complete picture in 2 minutes.
The Core Flow
Step 1: Create a Booking
POST /api/bookings
Your system sends traveler data, destination, and package preference. This single API call is the trigger that generates everything.
{
"departure_date": "2026-01-03",
"email": "traveler@example.com",
"package_specifications": [{
"destination": "USA",
"package_type": "starter"
}]
}Step 2: Receive Promo Codes
In the API response
The booking response contains one or more promo codes (and optionally claim links). These are what the traveler uses to get their eSIM.
{
"id": "booking_abc123",
"promo_codes": [
{
"code": "TRAVEL-XYZ-789",
"claim_link": "https://app.hubbyesim.com/claim/TRAVEL-XYZ-789"
}
]
}Step 3: Deliver to Traveler
Your choice of channel
Send the promo code via your own email, SMS, or app. Embed a claim link. Or let Hubby handle delivery automatically.
Step 4: Branded Redemption
In the Hubby app
When the traveler redeems, they see your logo, styling, and brand identity. This is configured once and applies automatically.
Key Concepts
Branding Per Booking
Every booking is linked to your partner account. The traveler automatically sees your brand in the app.
Optional: Pass custom_branding to override with a specific brand (e.g., for sub-brands or white-label partners).
{
"custom_branding": "brand_luxury_travel",
"departure_date": "2026-01-03",
"package_specifications": [...]
}Package Selection
You control what the promo code unlocks through two fields: destination and package_type.
| Package Type | Description |
|---|---|
"starter" | Basic bundle for the destination |
"data-limited" + size | Specific data amount (e.g., "3GB") |
"time-limited" + size | Data with time limit |
"unlimited" | Unlimited data for a duration |
Example: Starter package
{
"package_specifications": [{
"destination": "EU",
"package_type": "starter"
}]
}Example: Specific data amount
{
"package_specifications": [{
"destination": "USA",
"package_type": "data-limited",
"size": "3GB"
}]
}Delivery Options
Once you have the promo code, you decide how to get it to the traveler:
You Deliver
Send the promo code via your own email, SMS, app notification, or "My Trip" portal.
{
"communication_options": {
"should_send_message": false,
"channels": []
}
}Embed a Link
Include the claim link in your booking confirmation. Traveler clicks to redeem.
The claim link is returned in the API response:
https://app.hubbyesim.com/claim/TRAVEL-XYZ-789Hubby Delivers
We send a branded email on your behalf. Just enable this option in your request.
{
"communication_options": {
"should_send_message": true,
"channels": ["EMAIL"]
}
}What's Next?
Now that you understand the core flow, you're ready to:
- Get Started — Make your first API call
- Basic Integration — Full integration walkthrough
- Package Types — Deep dive into package options