Developer Documentation
Bridget Conversation Logs Export API
Export your Bridget AI chat conversation history in bulk for compliance archiving, analytics, and audit purposes.
This guide covers the Conversation Logs Export API, which allows you to retrieve Bridget chat interactions (questions asked by end-users and answers returned by Bridget) over any date range. The data is exported as daily files in CSV or JSON format, ready for ingestion into your compliance, analytics, or reporting systems.
What This API Does
Retrieve all Bridget Q&A interactions for a date range (up to 100 days per request) as downloadable CSV or JSON files.
Data is organized into one file per day. Files are generated after each UTC day closes and are immutable once created.
The API returns time-limited download links (presigned URLs). Your code fetches these links, then downloads each file separately.
Files are byte-identical on every re-download. Ideal for audit trails, regulatory archiving, and tamper-evidence checksumming.
The API call and the file download are two separate HTTP operations against two different hosts. The API returns download links, not the data itself. Your implementation must perform both steps: (1) call the API to get links, then (2) download each link.
This endpoint uses the same authentication as all Bridgewise APIs. You need your Base URL, Tenant ID, and a valid Bearer Token with Config-Tenant scope. All three are provided during onboarding. If you have already integrated any Bridgewise API or widget, you already have these credentials. See the Bridgewise Integration Guide > Authentication section for details on obtaining and refreshing tokens.
≡ Contents
1 Quick Start
Export yesterday's conversation logs as a CSV file in two HTTP requests. Replace the placeholder values with the credentials you received during onboarding.
Step 1 — Get download links from the API
The API responds in under 200ms with a JSON array of download links — one entry per day that has data:
Step 2 — Download the file (no auth header needed)
Each url in the response is a presigned download link. It is self-authenticating — do not include an Authorization header on this request:
The entire contract is: (1) ask the API for download links, (2) download each link. Everything that follows is operational detail — parameters, file schema, error handling, and production-ready code samples.
2 How It Works
Each daily file is pre-built after end-of-day (UTC) and stored internally. When you call the API, no data is computed on the fly — the server validates your request and returns time-limited presigned download URLs that grant read access for 1 hour.
This design has two important consequences:
API response time is under 200ms, even for a full 100-day range, because it is only returning links to pre-existing files.
Files are generated after each day closes (UTC). The earliest exportable date is always yesterday. Requesting today or a future date returns a 400 error.
Once a day’s file is generated, it never changes. Re-downloading the same day produces byte-identical content, making it suitable for checksumming and tamper-evidence.
Data Flow
+ long-term storage
issue download links
(time-limited access)
Flow: (1) your backend calls the Bridgewise API for the desired date range → (2) the API returns a list of {day, url, format} entries → (3) your backend downloads each link → (4) downloads return CSV or JSON files.
The API call goes to your Bridgewise {baseUrl} with your bearer token. The file download goes to a separate storage hostname and is pre-authenticated by the signature embedded in the URL — do not add an Authorization header on the download request, and never log presigned URLs (they are temporary credentials).
3 Request Parameters & Validation
Endpoint
{baseUrl} is the Bridgewise API base URL provided during onboarding. It differs per environment and integration mode (standard HTTPS vs. mTLS). Do not hardcode a default.
Path Parameters
Query Parameters
Authentication Header
The token must have Config-Tenant scope and must belong to the same tenant specified in the path. A mismatched token/tenant returns 403 Forbidden.
Validation Rules
Each validation failure returns HTTP 400 with a JSON body containing a detail field. These are the exact messages the API returns:
4 Response Structure
A successful response is a JSON array ordered by date ascending. Each element represents one day in the requested range that contained Bridget conversations.
Example HTTP Exchange
Note that May 3rd is absent — this means there were no Bridget conversations on that day.
Response Field Reference
Days with no Bridget activity are silently omitted from the array. A 30-day range may return only 22 entries if 8 days had no conversations. Always iterate over the returned array — do not assume a fixed entry count.
5 Downloaded File Contents
Each daily file contains one row per conversation interaction: one user question, Bridget's answer, and associated metadata. The schema mirrors Bridget's existing /questions endpoint output.
Sample CSV (Header + One Row)
Same Row as JSON
Field Reference
The definitive column list is the one in your tenant's first downloaded file. If a new field is added in the future (non-breaking change), it appears as a new column in CSV or a new key in JSON. Always select fields by name, not by column position.
Limits
6 Error Handling
Errors from the API Call (Step 1)
Example 401 Response
Errors from the File Download (Step 2)
7 Audit, Observability & Support
Audit Trail
Every call to /questions/bulk is logged with caller identity, tenant ID, requested range, format, and response code. These records are available via the Bridgewise usage dashboard for your audit purposes.
Support & Documentation
https://support.bridgewise.com/en/support/solutions
support@bridgewise.com — one ticket per topic, do not reply on closed threads.
See the Bridgewise status page referenced in your onboarding pack.
Bridgewise · Bridget Conversation Logs Export API · GET /tenants/{tenant_id}/questions/bulk