One platform for everything you sell, share, and organize.

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.

See all integrations →

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.