Release Date: December 2025
Affected Endpoints:
POST /api/v2/property-subscription- Create Property SubscriptionGET /api/v2/property-subscription- Get Property SubscriptionsGET /api/v2/property-subscription/{id}- Get Property Subscription DetailDELETE /api/v2/property-subscription/{id}- Delete Property Subscription
What's New
Azure Event Hub Delivery Support
The Property Subscription API now supports Azure Event Hubs as a delivery option for property monitoring events. This expands our delivery options to three platforms:
Delivery Type | Platform | Use Case |
| AWS Kinesis Data Streams | AWS-native integrations |
| HTTP Webhooks | Custom endpoints, serverless functions |
| Azure Event Hubs | Azure-native integrations, Microsoft ecosystem |
Two Authentication Methods for Event Hub
Azure Event Hub delivery supports two mutually exclusive authentication methods:
Option 1: Connection String Authentication
Best for quick setup and testing environments.
{
"searchCriteria": {
"query": "Phoenix, AZ",
"orQuickLists": ["on-market"]
},
"deliveryConfig": {
"type": "event-hub",
"eventHub": {
"connectionString": "Endpoint=sb://mynamespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=your-key",
"eventHubName": "property-events"
}
}
}Option 2: Service Principal Authentication
Recommended for production environments using Azure AD identity management.
{
"searchCriteria": {
"query": "Phoenix, AZ",
"orQuickLists": ["on-market"]
},
"deliveryConfig": {
"type": "event-hub",
"eventHub": {
"fullyQualifiedNamespace": "mynamespace.servicebus.windows.net",
"clientId": "12345678-1234-1234-1234-123456789abc",
"tenantId": "87654321-4321-4321-4321-cba987654321",
"clientSecret": "your-client-secret",
"eventHubName": "property-events"
}
}
}Validation Rules
When using event-hub delivery type:
eventHubNameis always requiredYou must provide either
connectionStringorfullyQualifiedNamespace(not both)When using
fullyQualifiedNamespace, all service principal credentials (clientId,tenantId,clientSecret) are requiredWhen using
connectionString, service principal credentials must not be provided
Security Enhancement: Credential Masking
For improved security, sensitive credentials are now masked in GET responses across all delivery types:
Delivery Type | Masked Fields | Example |
Kinesis |
|
|
Webhook | Sensitive headers ( |
|
Event Hub |
|
|
Masking behavior:
Values 8 characters or shorter are fully masked (
********)Longer values show approximately 15% on each side (minimum 2, maximum 4 characters visible)
For connection strings, only the
SharedAccessKeyvalue is masked;EndpointandSharedAccessKeyNameremain visible for identification
API Response Updates
Create Subscription Response
The response format for creating a subscription has been clarified in our documentation to match the actual API behavior:
{
"status": {
"code": 201,
"text": "OK",
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"result": {
"subscriptionId": "AbCdEfGhIjKlMnO"
}
}Event Payload Reference
When property changes are detected, events are delivered to your configured endpoint with the following structure:
{
"eventId": "unique-event-id",
"subscriberId": "your-subscriber-id",
"propertyId": "property-id",
"parcelHash": "parcel-hash",
"addressHash": "address-hash",
"propertyChangedAt": "2025-12-15T10:30:00Z",
"addedToSubscriptionIds": ["subscription-1", "subscription-2"],
"removedFromSubscriptionIds": ["subscription-3"]
}Key fields:
addedToSubscriptionIds- Subscription IDs where the property now matches the search criteriaremovedFromSubscriptionIds- Subscription IDs where the property no longer matches due to data changes
Use the propertyId to retrieve full property details via the Property Lookup endpoint.
Migration Checklist
For Existing Customers
No action required. Existing kinesis and webhook subscriptions continue to work without changes.
For New Azure Event Hub Integrations
Prepare your Azure Event Hub
Create an Event Hub namespace and Event Hub in Azure
Choose your authentication method (connection string or service principal)
For service principal: Register an Azure AD application and grant it access to the Event Hub
Create your subscription
curl -X POST "https://api.batchdata.com/api/v2/property-subscription" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchCriteria": {
"query": "Your search criteria"
},
"deliveryConfig": {
"type": "event-hub",
"eventHub": {
"connectionString": "Your connection string",
"eventHubName": "your-event-hub-name"
}
}
}'Set up event processing
Configure your Event Hub consumer to process incoming property events
Implement logic to call the Property Lookup API for full property details
Service Limits
Limit | Value | Notes |
Max subscriptions per customer | 5 | Contact support to request increase |
Max properties per subscription | 5 million | At time of creation |
Event delivery retry attempts | 4 | Exponential backoff with jitter |
FAQ
Q: Can I change an existing subscription's delivery type from webhook to event-hub?
A: No, subscriptions are immutable. To change delivery configuration, delete the existing subscription and create a new one with the desired settings.
Q: What happens if my Event Hub is unavailable?
A: We retry delivery using exponential backoff with jitter for up to 4 attempts. If all retries fail, the event is not delivered. Ensure your Event Hub has adequate capacity and availability.
Q: Are there additional costs for using Event Hub delivery?
A: BatchData does not charge differently based on delivery type. Standard Azure Event Hub costs apply on your Azure subscription.
Q: Which Azure regions are supported?
A: Any Azure region where Event Hubs is available. The fullyQualifiedNamespace or connection string determines the region.
Resources
Support
If you have questions about implementing Azure Event Hub delivery or need assistance with your integration, please contact our support team:
Email: support@batchdata.com
Documentation: help.batchdata.io
