v1 · stable

LeadRescue API

A REST API to log test drives, manage sequences, and stream events into your CRM or BI stack. Base URL https://api.leadrescue.io.

Bearer auth

API keys scoped per dealership; rotate from the dashboard.

Signed webhooks

Every inbound event is HMAC-SHA256 signed; verify with your secret.

At-least-once delivery

Idempotent endpoints; retry-safe with the X-Idempotency-Key header.

Authentication
# Include this header on every request
Authorization: Bearer lr_sk_live_3f8b2c…

Endpoints

POST/v1/leadsCreate a lead

Logs a new test drive and triggers the Day 0 message.

curl -X POST https://api.leadrescue.io/v1/leads \
  -H "Authorization: Bearer $LR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_name": "Anna Karlsson",
    "phone": "+46701234567",
    "car_model": "Mercedes E-Class",
    "consent": true,
    "license_photo_b64": "..."
  }'
GET/v1/leads/:idRetrieve a lead

Returns the lead, its status, and full message history.

curl https://api.leadrescue.io/v1/leads/l_8f3a \
  -H "Authorization: Bearer $LR_API_KEY"
PATCH/v1/leads/:idUpdate status

Mark a lead as converted, opted_out, or closed.

curl -X PATCH https://api.leadrescue.io/v1/leads/l_8f3a \
  -H "Authorization: Bearer $LR_API_KEY" \
  -d '{ "status": "converted" }'
POST/v1/sequences/:id/stopStop a sequence

Cancels all queued follow-ups for a lead immediately.

curl -X POST https://api.leadrescue.io/v1/sequences/l_8f3a/stop \
  -H "Authorization: Bearer $LR_API_KEY"
GET/v1/analytics/kpisManager KPIs

Aggregate KPIs scoped to the authenticated dealership.

curl https://api.leadrescue.io/v1/analytics/kpis?range=30d \
  -H "Authorization: Bearer $LR_API_KEY"
POST/v1/webhooks/inboundInbound webhook

Receive customer replies and opt-out events in real time.

// Sample inbound payload
{
  "event": "customer.reply",
  "lead_id": "l_8f3a",
  "channel": "whatsapp",
  "body": "Tack, kanon känsla!",
  "received_at": "2026-06-26T11:11:02Z"
}
Status codes
200 OKRequest succeeded.
201 CreatedResource created — lead or sequence.
400 Bad RequestValidation failure — see error.fields.
401 UnauthorizedMissing or invalid API key.
404 Not FoundUnknown resource.
429 Too Many RequestsRate limited — retry after Retry-After header.