Each flow is separately configured to use the firehose. This API allows firehose configuration to be tested before it is set on a flow.
The Firehose feature supports multiple cloud storage services for event data export. This document describes the configuration options for both AWS S3 and Azure Blob Storage services.
For existing flows, the legacy configuration continues to work:
{
"firehose": {
"enabled": true,
"credential_id": "507f1f77bcf86cd799439011",
"bucket": "my-s3-bucket",
"prefix": "events/production"
}
}
The new service-based configuration allows multiple cloud storage providers:
{
"firehose": {
"enabled": true,
"services": {
"aws": {
"enabled": true,
"credential_id": "507f1f77bcf86cd799439011",
"bucket": "my-s3-bucket",
"prefix": "events/aws"
},
"azure": {
"enabled": true,
"credential_id": "507f1f77bcf86cd799439012",
"bucket": "my-azure-container",
"prefix": "events/azure"
}
}
}
}
The /firehose
endpoint validates AWS credentials by:
leadconduit_verification_[flow_id_]YYYYMMDDHHMMSSMS.txt
verification_file=true
(default)verification_file=false
Example Requests:
Basic validation (creates file):
curl -X GET "https://app.leadconduit.com/firehose?service=aws&access_key_id=AKIA...&secret_access_key=wJal...&bucket=my-bucket&prefix=test"
With flow ID (includes flow identifier in filename):
curl -X GET "https://app.leadconduit.com/firehose?service=aws&access_key_id=AKIA...&secret_access_key=wJal...&bucket=my-bucket&flow_id=507f1f77bcf86cd799439011"
Validation only (no file created):
curl -X GET "https://app.leadconduit.com/firehose?service=aws&access_key_id=AKIA...&secret_access_key=wJal...&bucket=my-bucket&verification_file=false"
Example Responses:
File created:
{
"validated": true,
"verification_file": true
}
Validation only:
{
"validated": true,
"verification_file": false
}
The /firehose
endpoint validates Azure credentials by:
verification_file
parameterExample Request:
curl -X GET "https://app.leadconduit.com/firehose?service=azure&connection_string=DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net&bucket=my-container"
Example Responses:
With verification file:
{
"validated": true,
"verification_file": true
}
Validation only (verification_file=false):
{
"validated": true,
"verification_file": false
}
When only one service is configured, events are sent to that service. If the service fails, events are spooled for retry.
When multiple services are configured:
Example migration:
Before:
{
"firehose": {
"enabled": true,
"credential_id": "507f1f77bcf86cd799439011",
"bucket": "my-bucket"
}
}
After:
{
"firehose": {
"enabled": true,
"services": {
"aws": {
"enabled": true,
"credential_id": "507f1f77bcf86cd799439011",
"bucket": "my-bucket"
}
}
}
}
The /firehose
resource is used to validate cloud storage credentials and test
write access to a specified bucket/container.
AWS S3 Validation:
leadconduit_verification_[flow_id_]YYYYMMDDHHMMSSMS.txt
<prefix>/filename
(if prefix provided) or filename
(root of bucket)verification_file=false
Azure Blob Storage Validation:
verification_file
parameterRequired Parameters:
access_key_id
, secret_access_key
, bucket
connection_string
, bucket
(container name)service
parameter determines which validation method is usedOptional Parameters:
flow_id
: Include flow ID in verification filename for better trackingverification_file
: Control whether verification file is created (default: true)Credentials validation successful
Bad Request - Invalid parameters
Unauthorized - Authentication failed
Not Found - Resource not found
Conflict - Resource already exists
Missing required parameters
Internal Server Error
Example response when credentials are valid and verification file is created
{- "validated": true,
- "verification_file": true
}