List Contacts

GET https://backend.localbusiness.pro/api/v1/contacts

Returns a paginated list of contacts for the authenticated business, sorted by creation date (newest first).

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

page integer

Page number (1-indexed).

per_page integer

Items per page (max 100). Default: 25.

status string

Filter by contact status (e.g., active, inactive).

type string

Filter by contact type (e.g., customer, lead, vendor).

Responses

200 Paginated list of contacts.
{
  "contacts": [
    {
      "id": 4521,
      "first_name": "Mike",
      "last_name": "Henderson",
      "email": "mike.henderson@example.com",
      "phone_number": "5559876543",
      "country_code": "1",
      "contact_type": "customer",
      "contact_status": "active",
      "notes": "2-story home, large backyard unit. Gate code #4821.",
      "date_created": "2026-01-15T14:30:00.000000Z",
      "date_modified": "2026-02-20T09:15:00.000000Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 25,
    "total_items": 87,
    "total_pages": 4
  }
}
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."
}