Check Service Availability & Compliance
Learn how to verify service availability and retrieve compliance information before creating monitorables. This is the first step in onboarding new customers to ensure monitoring services are available in their area and to understand any local compliance requirements.
Why Check Service Availability?
Before creating a monitorable, you should verify:
- Service Coverage: Is monitoring available in the customer's location?
- Compliance Requirements: Are there local permits, fees, or special alarm response rules?
- Multiple Jurisdictions: Does the address fall into multiple municipalities?
This upfront check helps you:
- Provide accurate quotes including permit fees
- Set customer expectations for familiarization periods
- Collect required contact information if additional contacts are required
- Inform customers of their permit responsibilities
Understanding the API
The Service Availability endpoint accepts:
- Monitorable Type: Type of entity to monitor (PREMISES, PERSON, VEHICLE)
- Premises Type (for premises): Residential or commercial classification (
RESIDENTIAL,COMMERCIAL_SMB,COMMERCIAL_LARGE) - Address (for premises): City, state, county, postal code, country
- Geolocation (for person/vehicle): Latitude and longitude coordinates
Returns:
- Service availability status
- Compliance information (for premises with address)
- Available subscriptions and pricing (premises, when configured for the partner)
- Status reasons and correlation ID
Check Availability for Premises
For premises (homes, businesses), provide address information and premises type:
{
"monitorableType": "PREMISES",
"premisesType": "RESIDENTIAL",
"address": {
"city": "Austin",
"state": "US-TX",
"county": "Travis",
"postalCode": "78701",
"country": "US"
}
}
Response:
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"monitorableType": "PREMISES",
"status": "COMPLIANCE_FOUND",
"locale": "en-US",
"address": {
"city": "Austin",
"state": "US-TX",
"county": "Travis",
"postalCode": "78701",
"country": "US"
},
"municipalities": [
{
"id": 28610,
"name": "AUSTIN",
"city": "AUSTIN",
"county": "TRAVIS",
"state": "US-TX",
"postalCode": "78701",
"country": "US",
"requirements": [
{
"type": "FAMILIARIZATION",
"stage": "POST_ACTIVATION",
"responsibleParty": "CUSTOMER",
"period": "P7D"
},
{
"type": "PERMIT",
"stage": "POST_ACTIVATION",
"responsibleParty": "CUSTOMER",
"eventTypes": ["ALARM_SYSTEM"],
"fees": [
{
"type": "PERMIT_INITIAL",
"frequency": "PT0S",
"amount": 50.00,
"currency": "USD"
}
],
"renewal": {
"frequency": "P1Y",
"responsibleParty": "CUSTOMER",
"fee": {
"amount": 50.00,
"currency": "USD",
"frequency": "P1Y"
}
}
},
{
"type": "NUMBER_OF_CONTACTS",
"stage": "PRE_ACTIVATION",
"responsibleParty": "CUSTOMER",
"count": 2
},
{
"type": "SUBSCRIPTION",
"stage": "PRE_ACTIVATION",
"responsibleParty": "CUSTOMER",
"options": ["ANNUAL", "MONTHLY"]
}
],
"notices": [
{
"type": "PATROL_SERVICES_REQUIRED",
"description": "A verified response patrol is required before police are dispatched.",
"fee": {
"amount": 8.00,
"currency": "USD",
"frequency": "P1M"
}
},
{
"type": "PERMIT_REQUIRED_BEFORE_POLICE_DISPATCH",
"description": "Police will not respond to an alarm without a valid permit on file."
}
],
"subscriptions": [
{
"type": "MONTHLY",
"period": "P1M",
"name": "Monthly subscription",
"description": "Monthly subscription for ADT monitoring services",
"items": [
{
"type": "MONTHLY_SUBSCRIPTION_FEE",
"amount": { "value": 29.99, "currency": "USD" }
},
{
"type": "MONTHLY_GUARD_FEE",
"amount": { "value": 8.00, "currency": "USD" }
}
]
},
{
"type": "ANNUAL",
"period": "P1Y",
"name": "Annual subscription",
"description": "Annual subscription for ADT monitoring services",
"items": [
{
"type": "ANNUAL_SUBSCRIPTION_FEE",
"amount": { "value": 299.99, "currency": "USD" }
},
{
"type": "ANNUAL_GUARD_FEE",
"amount": { "value": 96.00, "currency": "USD" }
}
]
}
]
}
],
"createdAt": "2024-01-15T10:30:00Z"
}
Understanding the Compliance Response
The response contains a municipalities array with jurisdiction-specific requirements and notices.
Requirements
Each municipality has a requirements array containing:
- Familiarization: A test mode period (e.g.,
"period": "P7D"for 7 days) during which no live dispatch occurs - Permit: Permit details including fees (each with a
typeandfrequencyas an ISO 8601 duration), event types, and renewal information
Notices
Each municipality has a notices array describing alarm response rules such as additional contacts required, multi-zone activation, patrol services, and dispatch restrictions. Notices may include a count field or a fee with a frequency.
Familiarization Period
When a familiarization requirement is present, new customers must keep their system in test mode for the specified duration. During this time:
- Alarms are flagged as test events
- No live emergency dispatch occurs
- Customer learns to use their system
- False alarm risk is minimized
Subscriptions
For premises checks, when the partner has active subscription offerings, each municipality includes:
- A
SUBSCRIPTIONrequirement (stage: PRE_ACTIVATION) with anoptionsarray of available types (MONTHLY,ANNUAL) - A
subscriptionsarray with display name, description, billing period, and fee items for each offering
Guard fee items (MONTHLY_GUARD_FEE, ANNUAL_GUARD_FEE) appear only when the municipality requires patrol / verified response services. Otherwise they are omitted from the pricing.
If the partner has no active subscriptions, both the SUBSCRIPTION requirement and the subscriptions array are omitted. Person and vehicle checks never include subscriptions.
See Subscriptions for the full model and lifecycle.
Enum Reference
The service availability response uses several enums to represent statuses, requirement types, fee structures, and alarm response notices.
Status
| Value | Description |
|---|---|
COMPLIANCE_FOUND | Compliance data was found for the given address |
COMPLIANCE_NOT_FOUND | No compliance data exists for the given address |
INVALID_ADDRESS | The address could not be matched to a known location |
Requirement Type
| Value | Description |
|---|---|
FAMILIARIZATION | A post-activation observation period before the monitorable is verified |
PERMIT | An alarm permit that must be obtained from the local jurisdiction |
NUMBER_OF_CONTACTS | A minimum number of contacts that must be provided before the monitorable can activate |
SUBSCRIPTION | A billing plan the customer must select before the monitorable can activate |
Subscription Type
| Value | Description |
|---|---|
MONTHLY | Billed on a monthly period (P1M) |
ANNUAL | Billed on an annual period (P1Y) |
Requirement Stage
| Value | Description |
|---|---|
PRE_ACTIVATION | Requirement must be fulfilled before system activation |
POST_ACTIVATION | Requirement can be fulfilled after system activation |
Responsible Party
| Value | Description |
|---|---|
CUSTOMER | The customer is responsible for obtaining and renewing the permit |
MONITORING_COMPANY | The monitoring company handles the permit on behalf of the customer |
Permit Event Type
| Value | Description |
|---|---|
ALARM_SYSTEM | General alarm system permit covering all event types |
BURGLARY | Burglary/intrusion alarm permit |
HOLDUP_DURESS | Holdup or duress (panic) alarm permit |
FIRE | Fire alarm permit |
MEDICAL | Medical alarm permit |
Fee Type
| Value | Description |
|---|---|
PERMIT_INITIAL | One-time fee to obtain the initial permit |
PERMIT_RECURRING | Recurring monthly permit fee |
ADMIN_INITIAL | One-time administrative fee (monitoring company permits) |
ADMIN_RECURRING | Recurring monthly administrative fee (monitoring company permits) |
Fee Frequency
Fee frequency values are ISO 8601 durations.
| Value | Description |
|---|---|
PT0S | Charged once (no recurring period) |
P1M | Charged every month |
P3M | Charged every quarter |
P1Y | Charged every year |
P2Y | Charged every 2 years |
P3Y | Charged every 3 years |
Renewal Frequency
Renewal frequency values are ISO 8601 durations. PT0S means no automatic renewal schedule (lifetime permit or manual renewal).
| Value | Description |
|---|---|
P1Y | Permit renews every year |
P1M | Permit renews every month |
P3M | Permit renews every quarter |
P2Y | Permit renews every 2 years |
P3Y | Permit renews every 3 years |
PT0S | No recurring renewal period (lifetime or manual) |
Notice Type
| Value | Description |
|---|---|
PATROL_SERVICES_REQUIRED | Verified response patrol is required before police dispatch. May include a recurring fee. |
MULTI_ZONE_BEFORE_POLICE_DISPATCH | Multiple alarm zones must activate within a time window before dispatch. Includes zones and period. |
RESPONSIBLE_PARTY_RESPONSE | A responsible party must respond on-site within a time limit. Includes period. |
PERMIT_REQUIRED_BEFORE_POLICE_DISPATCH | Police will not respond without a valid permit on file. |
FIRE_DISPATCH_BEFORE_PREMISES_VERIFICATION | Fire alarms are dispatched to the authority before customer verification. |
POLICE_RESPONSE_UNKNOWN | The authority broadcasts the alarm but officer response depends on availability. |
Multi-Zone Type
| Value | Description |
|---|---|
PERIMETER_INTERIOR | Both a perimeter and interior zone must activate |
ANY_ZONE | Any two zones must activate |
Testing Your Integration
Use test postal codes (00001-00099) to simulate different compliance scenarios without needing real addresses.
Example test scenarios:
- Simple case: Use
00001for basic integration testing - Multi-jurisdiction: Use
00002to test jurisdiction selection UI - No ordinance: Use
00003to test empty compliance handling - Alarm response: Use
00009-00012to test patrol, dispatch, and fire notices - Fee structures: Use
00013-00015,00020-00021,00040,00050to test various fee and renewal configurations - Required contacts: Use
00028(2 required contacts) and00029(3 required contacts); all other test postals use the default count of 1 - Errors: Use
00090-00092to test error handling
See the complete Test Service Availability guide for all available test postal codes.
Related Resources
Concepts
- Compliance - Detailed compliance terminology
- Subscriptions - Partner subscription offerings and the SUBSCRIPTION requirement
- Monitorables - Understanding monitorable types
API Reference
- Check Service Availability - Complete API documentation
Other Guides
- Test Service Availability - Test postal codes reference
- Monitor Premises - Creating premises monitorables