Integrations & API
Kindr works with the software you already run.
Point of sale
Square
Kindr members appear as Square customers, so your register and Square Appointments know who they are.
Clover
Kindr members show up in your Clover customer list, with their membership noted on the profile.
Ecommerce
Shopify
Members become Shopify customers tagged “Kindr member” — use the tag for member pricing, discounts or Shopify POS.
WooCommerce
Members become WooCommerce customers with their Kindr status saved on the customer.
Booking & scheduling
Mindbody
Kindr members are added to your Mindbody client list, so they can book classes and appointments.
Acuity Scheduling
Members are added to your Acuity client list with their Kindr membership in the client notes.
Email marketing
Mailchimp
Members land in your Mailchimp audience tagged “Kindr member”, ready to segment.
Klaviyo
Members sync to Klaviyo profiles with Kindr status properties, ready for segments and flows.
CRM
HubSpot
Every Kindr member becomes a HubSpot contact with their membership status on the record.
Spreadsheets
Google Sheets
A live spreadsheet of your Kindr members in your own Google Drive. Works with anything that reads Sheets.
Team alerts
Slack
A message in your Slack channel whenever a member joins, renews, pauses or cancels.
Microsoft Teams
A message in your Microsoft Teams channel whenever a member joins, renews, pauses or cancels.
Discord
A message in your Discord channel whenever a member joins, renews, pauses or cancels.
Using Toast, Vagaro, Boulevard, Fresha, GlossGenius, Zenoti or something else? Those platforms only open their APIs to approved partners. Businesses can request them from the Integrations page, and connect today through Zapier or Google Sheets.
Webhooks
Add a URL in Business portal → Settings → Webhooks (a Zapier or Make “Catch hook” works). Kindr POSTs JSON on every event and retries with backoff for about a day.
| member.created | Signed up, paid and signed the waiver. Perks are active. |
| membership.renewed | New billing cycle paid; visit counts reset. |
| membership.paused / resumed | Billing and perks paused or restarted. |
| membership.past_due / payment_failed | Card failed; perks on hold until it's updated. |
| membership.reactivated | Payment recovered; perks restored. |
| membership.cancel_scheduled / cancel_reverted | Will end at period end, or the member changed their mind. |
| membership.canceled | Membership has ended. |
Verify each request: the Kindr-Signature header is t=<unix>,v1=<hex>, where v1 is HMAC-SHA256 of <t>.<raw body> with your endpoint's signing secret. Reject timestamps older than 5 minutes.
{
"id": "evt_…", "type": "member.created", "created": "2026-10-11T16:00:00Z", "partner_id": "…",
"data": {
"member": { "id": "…", "name": "Jane Smith", "email": "jane@example.com", "phone": "+16155550100", "member_code": "a1b2c3d4e5f6" },
"membership": { "id": "…", "status": "active", "cancel_at_period_end": false, "current_period_end": "2026-11-11T16:00:00Z" },
"bundle": { "id": "…", "slug": "coffee-croissant-club", "title": "Coffee + Croissant Club" },
"entitlements":[ { "id": "…", "label": "Pastry box", "quantity": 4, "used": 0, "remaining": 4 } ]
}
}REST API
Create a key in Business portal → Settings → Integrations → Kindr API and send it as Authorization: Bearer kindr_live_…. A key only ever sees its own business's members.
List or look up members by email, member code (QR value) or status, with what they have left at your business.
Record a visit with membership_id + entitlement_id. Returns 409 if nothing's left or the membership is on hold.
Visits recorded at your business, from the Kindr front desk or the API.
curl "https://gokindr.com/api/v1/members?code=a1b2c3d4e5f6" -H "Authorization: Bearer $KINDR_API_KEY"
Questions? Talk to us.