One platform for everything you sell, share, and organize.
For Developers
Build on your single source of truth.
Equipoise has a REST API and a Ruby gem for syncing people, custom data, and events straight into the CRM — the same database that powers your store, tickets, donations, and messaging. No bolt-on integrations between systems that don't know about each other.
What you can build
Contact Sync
Upsert people keyed by your own id. An email change updates the same contact — never a duplicate, and the person's Equipoise email is never clobbered.
- Idempotent upsert by (source, external_id)
- Batch backfill (up to 500 per call)
- Deactivate without losing history
- Read-back by your id
Custom Fields
Declare your own typed fields and attach values as you sync — no waiting on us to add a column.
- Text, number, date, select, and more
- Segmentable, or encrypted for sensitive data
- Managed per source
Activities & Events
Push external events onto a contact's timeline — "subscribed", "donated", "completed a course" — to feed engagement scoring and segments.
- Subscribe / unsubscribe from your own app
- Arbitrary timeline events with metadata
- Powers the Character Card & audiences
Webhooks
Subscribe to Equipoise events and react in real time — keep your systems in step with what happens here.
- Purchases, sign-ups, donations, contact changes
- Signed, timestamped deliveries
- Manage subscriptions over the API
Tags & Subscribers
Apply tags and manage email-subscription state from your own systems — your segments stay accurate.
- Add / remove contact tags
- Manage list membership
- Tenant-scoped to your account
Read API
Pull your catalog and commerce data out for reporting, dashboards, or downstream tools.
- Products, orders, events
- Donations, tickets, auctions
- JSON, consistently enveloped
The equipoise Ruby gem
A thin, dependency-light client so you don't hand-roll HTTP. Typed errors, built-in idempotency, bounded retries, and environment-based, rotation-aware keys.
Equipoise.configure { |c| c.source = "AMP" }
Equipoise.client.contacts.sync(
external_id: user.id,
email: user.email,
tags: ["AMP"],
)
For Rails apps, an optional Equipoise::Syncable concern mirrors a model into Equipoise on after_commit — a few lines and your users flow into the CRM automatically.
Authentication & access
Secure by default
Bearer API keys with granular, least-privilege scopes, optional source-pinning, and rotation with a grace window so you can roll secrets with zero downtime.
- Granular resource:action scopes — read, write, destroy (plus contacts:sync)
- Pin a key to a single source
- Server-to-server only — keys never touch the browser
Getting a key
Create and manage keys in Dashboard → API Keys. Each key shows its scopes, last-used time, and lets you rotate or revoke in place.
The API is available on the Organization plan.
A 429 response carries a Retry-After header (seconds) plus X-RateLimit-* headers — honor them and back off.
Not a developer?
Connect Equipoise to thousands of apps with Zapier and Make — no code required.
Ready to build?
Full guides and the API reference live in the Help Center. Bring your own id, sync your people, and let the rest of the platform react.