Observability
Bundleport records what happens to your requests so you can monitor, trace, and debug your integration without guessing. This page summarizes the observability tools available to you and when to use each.
| Tool | What it answers | Where |
|---|---|---|
| Dashboard | "How is my traffic doing?" — volumes, KPIs, funnel, top destinations | app.bundleport.com |
| Transactions console | "What happened on this exact operation?" — status, latency, captured bodies | app.bundleport.com |
| Request IDs | "How do I reference one request with support?" | requestId / X-Request-ID |
| Audit traces | "What did the supplier actually send back?" | settings.auditTransactions → auditData |
| Funnel tracking | "How many searches turn into bookings?" | search_id / quote_id |
Dashboard
The Dashboard in app.bundleport.com is your high-level view of activity for your organization and agencies:
- KPIs and volumes by product and over time.
- Booking trend time series.
- Top destinations with searches, conversion %, and cancel %.
- API key usage and limits (see Rate limits).
Use it for day-to-day monitoring and trend analysis. For a single request, use the Transactions console instead.
Transactions console
Every commercial operation is recorded as a transaction you can inspect: status, duration, connection, references, and — when audit was captured — the raw request/response bodies exchanged with the supplier.
| Operation | Recorded as a transaction |
|---|---|
| Quote, Book, Cancel | Always |
| Booking detail, Booking list, Metadata | Always |
| Availability / Search | Sampled (see What gets audited) |
This is the fastest way to answer "what happened on booking X?" or "why did this quote fail?".
Request IDs and tracing
Send a requestId in settings (surfaced back as X-Request-ID) to correlate a
request across your logs, the Transactions console, and Bundleport support.
{
"settings": {
"connectionCodes": ["testb-hbds-1876"],
"requestId": "req-123456789"
}
}
Always keep the requestId (or the X-Request-ID from the response) when opening a
support ticket — it lets us locate the exact transaction immediately.
If you don't send one, Bundleport still assigns an internal correlation ID, but a
client-supplied requestId is easier for you to search on your side.
Audit traces (supplier-level debugging)
Set settings.auditTransactions: true to include supplier-level traces in the
response under auditData.transactions. This shows the raw protocol exchange with
each supplier, which is invaluable when a result looks wrong.
{
"settings": {
"connectionCodes": ["testb-hbds-1876"],
"auditTransactions": true
}
}
Audit payloads can contain sensitive data (guest/holder details, references). Use audit traces for debugging, and never store or log full audit payloads in production without redaction, nor commit them to source control.
See Debugging supplier behaviour with audit traces for a worked example.
Funnel tracking
To measure conversion across the booking funnel, pass the search_id (and
quote_id) returned by earlier steps into the next call:
Search → returns search_id
↓
Quote → send search_id, returns quote_id
↓
Book → send search_id + quote_id
When you forward these IDs, the Dashboard can report accurate Search → Quote → Book conversion. If you omit them, Bundleport falls back to request context or the correlation ID, but explicit IDs give the most reliable metrics.
What gets audited
To keep traceability high while controlling volume, Bundleport audits operations as follows:
- Bookings and management (quote, book, cancel, booking detail/list, metadata) are always audited — they always appear in the Transactions console with their captured bodies.
- Availability / search is always audited for interactive (agency-user) traffic. For high-throughput API-key traffic it is sampled: low-volume connections are fully audited, and as the rate rises a representative sample is kept. This means not every API-key search appears as a transaction by design.
If you need a specific API-key connection fully audited for a debugging session, contact support@bundleport.com — sampling can be turned on for a connection temporarily.