Kindr

Integrations & API

Kindr works with the software you already run.

Connect your point of sale, booking system, email tool or CRM in a couple of clicks. Kindr keeps every member's record there up to date as they join, renew, pause or cancel. Or build your own with webhooks and the Kindr API.

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.createdSigned up, paid and signed the waiver. Perks are active.
membership.renewedNew billing cycle paid; visit counts reset.
membership.paused / resumedBilling and perks paused or restarted.
membership.past_due / payment_failedCard failed; perks on hold until it's updated.
membership.reactivatedPayment recovered; perks restored.
membership.cancel_scheduled / cancel_revertedWill end at period end, or the member changed their mind.
membership.canceledMembership 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.

GET /api/v1/members

List or look up members by email, member code (QR value) or status, with what they have left at your business.

POST /api/v1/redemptions

Record a visit with membership_id + entitlement_id. Returns 409 if nothing's left or the membership is on hold.

GET /api/v1/redemptions

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.

Integrations & API · Kindr