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
RF
ReferralFlo
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. See it live in a personalized 30-minute demo.