List Contacts
GET
https://backend.localbusiness.pro/api/v1/contactsReturns a paginated list of contacts for the authenticated business, sorted by creation date (newest first).
X-Public-KeystringrequiredYour business public key. Used to identify which business is making the request.
X-TimestampstringrequiredCurrent Unix timestamp in seconds. Requests older than 5 minutes are rejected.
X-SignaturestringrequiredHMAC-SHA256 signature of the signing string: {timestamp}\n{METHOD}\n{path}\n{body}, using your private key as the secret.
pageintegerPage number (1-indexed).
per_pageintegerItems per page (max 100). Default: 25.
Values: 1-100
statusstringFilter by contact status (e.g., active, inactive).
typestringFilter by contact type (e.g., customer, lead, vendor).
Responses
{
"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
}
}Authentication — HMAC-SHA256
Every authenticated request requires three headers:
X-Public-KeyYour business public keyX-TimestampUnix timestamp (seconds)X-SignatureHMAC-SHA256 of signing stringSigning string: {timestamp}\n{METHOD}\n{path}\n{body}
Request
GET
https://backend.localbusiness.pro/api/v1/contactsRate Limits
With X-Public-Key: 60 req/min per key
Without: 10 req/min per IP
Code Examples
PUBLIC_KEY="pk_live_..."
PRIVATE_KEY="sk_live_..."
TIMESTAMP=$(date +%s)
PATH_URI="/api/v1/contacts?page=1&per_page=25"
SIGNATURE=$(printf '%s\n%s\n%s\n' "$TIMESTAMP" "GET" "$PATH_URI" \
| openssl dgst -sha256 -hmac "$PRIVATE_KEY" | awk '{print $2}')
curl -H "X-Public-Key: $PUBLIC_KEY" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
"https://backend.localbusiness.pro$PATH_URI"