Rekindle API Reference

The Rekindle API powers the Zapier integration and allows external systems — POS, e-commerce platforms, CRMs — to push customer data into Rekindle and receive alerts when customers need attention.

API access requires the Scale plan. Generate your key from Settings → Zapier & Integrations in your Rekindle account.

Authentication

All API requests must include your API key in the Authorization header:

Authorization: Bearer rk_live_your_key_here

Base URL: https://rekindle.business/api/zapier

All endpoints require HTTPS. HTTP requests are not supported.

⚠️  Your API key is shown only once when generated. Store it securely. If you lose it, regenerate a new one from Settings — this immediately invalidates the old key.

Rate Limits

120 requests per minute per API key. Requests exceeding this limit receive a 429 Too Many Requests response:

HTTP/1.1 429 Too Many Requests
Retry-After: 30
Content-Type: application/json

{ "error": "Too many requests. Please slow down and try again shortly." }

Trigger — Customer Needs Attention

GET /triggers/customer-status

Returns up to 10 customers whose engagement is dropping (status at_risk, lapsed, or lost), ordered by most recently updated. Zapier polls this endpoint approximately every 15 minutes and deduplicates results by id.

Response

[
  {
    "id": "bbc3d2b3-55ba-4adf-8ac9-d51d7b6c1234",
    "name": "Jane Smith",
    "email": "jane@example.com",
    "phone": "+27821234567",
    "status": "lapsed",
    "engagement_score": 32,
    "last_purchase_date": "2024-09-01",
    "total_spent": 4200.00,
    "purchase_count": 7,
    "returned_at": null,
    "updated_at": "2025-03-15T10:22:00Z"
  }
]
Status valueMeaning
at_riskEngagement is slipping — customer buying less frequently
lapsedHas gone quiet — no recent purchase activity
lostExtended absence — win-back message recommended

Trigger — Customer Returned

GET /triggers/customer-returned

Returns up to 10 customers who have been attributed as returned (won back) after a Rekindle message, ordered by returned_at DESC. returned_at is set when Rekindle detects a new purchase from a previously lapsed or lost customer after a win-back message was sent.

Response schema is identical to the Customer Needs Attention trigger above.

Action — Update or Add Customer

POST /actions/update-customer
Content-Type: application/json

Creates a new customer or updates an existing one matched by email. Rekindle re-scores the customer immediately after upsert and checks for win-back attribution automatically.

Request body

FieldTypeRequiredDescription
namestringCustomer's full name
emailstringEmail address — used as the unique identifier
phonestringPhone number with country code (e.g. +27821234567)
last_purchase_datestringISO 8601 date (e.g. 2025-01-15)
total_spentnumberLifetime spend in your business currency
purchase_countintegerTotal number of purchases made

Response

{
  "customer": {
    "id": "bbc3d2b3-55ba-4adf-8ac9-d51d7b6c1234",
    "name": "Jane Smith",
    "email": "jane@example.com",
    "phone": "+27821234567",
    "status": "active",
    "engagement_score": 78,
    "last_purchase_date": "2025-01-15",
    "total_spent": 4700.00,
    "purchase_count": 8,
    "returned": false,
    "updated_at": "2025-04-05T08:00:00Z"
  }
}
💡  returned: true means this update triggered a win-back attribution — the customer was previously disengaged and is now active following a Rekindle message.

Search — Find Customer by Email

GET /actions/find-customer?email=jane@example.com

Looks up a customer by email address. Use as a Zapier Search step before Update or Add Customer to check whether a record already exists.

Query parameters

ParameterRequiredDescription
emailEmail address to search for

Response — found

[
  {
    "id": "bbc3d2b3-55ba-4adf-8ac9-d51d7b6c1234",
    "name": "Jane Smith",
    "email": "jane@example.com",
    "status": "lapsed",
    "engagement_score": 32,
    "last_purchase_date": "2024-09-01",
    "total_spent": 4200.00,
    "purchase_count": 7,
    "returned_at": null,
    "updated_at": "2025-03-15T10:22:00Z"
  }
]

Response — not found

HTTP/1.1 404 Not Found

{ "error": "Customer not found" }

Error Codes

StatusMeaning
400Missing or invalid request parameter — check the request body or query string
401Invalid or missing API key — regenerate from Settings if needed
403Feature not available on your current plan — API requires Scale
404Resource not found
429Rate limit exceeded — wait for the Retry-After period and try again
500Server error — contact support@rekindle.business if this persists
© 2026 Rekindle — support@rekindle.business
API Reference — Rekindle