Skip to main content

Property Subscription API Release Notes - December 2025

Written by Charles Parra
Updated over 4 months ago

Release Date: December 2025

Affected Endpoints:

  • POST /api/v2/property-subscription - Create Property Subscription

  • GET /api/v2/property-subscription - Get Property Subscriptions

  • GET /api/v2/property-subscription/{id} - Get Property Subscription Detail

  • DELETE /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

kinesis

AWS Kinesis Data Streams

AWS-native integrations

webhook

HTTP Webhooks

Custom endpoints, serverless functions

event-hub

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:

  • eventHubName is always required

  • You must provide either connectionString or fullyQualifiedNamespace (not both)

  • When using fullyQualifiedNamespace, all service principal credentials (clientId, tenantId, clientSecret) are required

  • When 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

iamAccessKeyId, iamSecretAccessKey

AKIA**********MPLE

Webhook

Sensitive headers (x-api-key, authorization, token)

Bearer ****

Event Hub

connectionString (SharedAccessKey only), clientSecret

SharedAccessKey=****

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 SharedAccessKey value is masked; Endpoint and SharedAccessKeyName remain 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 criteria

  • removedFromSubscriptionIds - 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

  1. 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

  2. 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"
    }
    }
    }'
  3. 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:

Did this answer your question?