ReferralFlo
REST API integration

A beautiful API.
For the integration we don't have.

Documented, versioned, idempotent. The ReferralFlo REST API is what we use ourselves — clean enough that you'll enjoy reading it.

TypeScript SDK OpenAPI 3.1 spec 99.99% uptime SLA
RE
REST API
External tool
RF
ReferralFlo
Connected · live
contact.created
referral.converted
━ 01 / WHY CONNECT ━

Real sync. Real-time.
Real numbers.

benefit_01.md

RESTful

Predictable resource URLs, status codes, and JSON payloads.

Always-on sync
benefit_02.md

Webhook events

Real-time push for every event in the ReferralFlo lifecycle.

Always-on sync
benefit_03.md

Versioned

Date-pinned versions so your integration never breaks unannounced.

Always-on sync
━ 02 / SETUP ━

Connected in four commands.

~/rest-api-setup
STEP
01
$

rfflo get

// Generate API keys with scoped permissions in seconds.

STEP
02
$

rfflo read

// Tabbed examples in cURL, JS, Python, Ruby, Go, and PHP.

STEP
03
$

rfflo build

// Use our TypeScript SDK or call the REST endpoints directly.

STEP
04
$

rfflo ship

// Test in sandbox, promote to live with one click.

✓ Setup complete. Sync started.
━ 03 / CAPABILITIES ━

Click any capability
to expand.

Each is configurable per program, with sensible defaults so you can launch fast.

First-class TypeScript types, autocompletion, and strict mode.
Signed payloads with retries and dead-letter support.
Safely retry any request without duplication.
Generous limits with clear headers.
Free, full-featured sandbox for testing.
Generate clients in any language with our spec.
04Code

A 5-line setup.

rest api.ts
import { ReferralFlo } from '@referralflo/sdk';

const rf = new ReferralFlo({ apiKey: process.env.RF_KEY });

await rf.referrals.create({
  programId: 'prog_abc123',
  advocateId: 'adv_sarah',
  refereeEmail: 'priya@example.com',
});

Ready to grow with referrals?

Launch your program in days, not months. Free for 14 days, no credit card required.