List 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."
}