API Reference
REST API
Getting Started Authorization Best PracticesMCP (AI Assistants)
MCP Overview MCP AuthenticationGeneral
Status Get Business Identity Get Business DetailsContacts
List ContactsJobs
List JobsEstimates
List EstimatesInvoices
List InvoicesOfferings
List OfferingsEquipment
List EquipmentEvents
List EventsList Events
GET
https://backend.localbusiness.pro/api/v1/events
Returns published events for the authenticated business, ordered by most recent first. Draft and archived events are excluded. Uses a count-based limit instead of pagination.
Header Parameters
X-Public-Key
string
required
Your business public key. Used to identify which business is making the request.
X-Timestamp
string
required
Current Unix timestamp in seconds. Requests older than 5 minutes are rejected.
X-Signature
string
required
HMAC-SHA256 signature of the signing string: {timestamp}\n{METHOD}\n{path}\n{body}, using your private key as the secret.
Query Parameters
count
integer
Number of events to return (default 10). Clamped to 1–100.
Responses
200 A list of published events.
{
"events": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Spring AC Tune-Up Special",
"description": "Get your AC ready for summer. $79 tune-up includes full system inspection, refrigerant check, and filter replacement.",
"url": "https://summithvac.com/spring-special",
"type": "multi-day",
"schedule": [
{
"date": "2026-04-01",
"start_time": "08:00",
"end_time": "17:00"
},
{
"date": "2026-04-15",
"start_time": "08:00",
"end_time": "17:00"
}
],
"location_type": "in-person",
"venue": "Summit HVAC Services",
"address": "4820 Industrial Blvd, Denver, CO 80216",
"virtual_link": null,
"is_free": false,
"image_url": "https://s3.amazonaws.com/bucket/spring-ac-tuneup.jpg",
"media": [
{
"url": "https://s3.amazonaws.com/bucket/spring-ac-tuneup.jpg",
"file_type": "image",
"caption": "Spring AC maintenance special",
"featured": true
}
]
}
]
}
401 Missing credentials, expired timestamp, or invalid signature.
{
"error": "Invalid API credentials",
"code": "INVALID_CREDENTIALS"
}
403 Business account exists but is not active.
{
"error": "Business account is not active",
"code": "ACCOUNT_INACTIVE"
}
429 Rate limit exceeded (60 requests/minute per key).
{
"message": "Too Many Attempts."
}