Developer API

Your chapter's data,
in your own systems

A REST API for the roster, the payments and the reminders you already manage in Dueflow. Bearer tokens you can scope and revoke, an OpenAPI contract you can generate a client from, and no fee for using it.

Your first request
curl https://api.dueflow.co/v1/members?limit=2 \
  -H "Authorization: Bearer dfp_…"

What you can build

Keep your roster in sync

Read members and groups, or write them from your system of record. Every list is cursor-paginated and filterable by last change, so a nightly sync only reads what moved.

Roll up a whole national

A national's token can list its chapters and read each roster, so one job can reconcile every chapter. The chapter sees the read in its own activity log.

Report on the money

Payments, reimbursements, payouts, fundraising campaigns, donations and store orders are all readable — feed a warehouse, a dashboard, or your accountant's spreadsheet.

Automate the nagging

Send a payment reminder from your own workflow, with an idempotency key so a retry after a timeout can never text a member twice.

Built to be handed over

Chapters change officers every year. The API is designed for that: credentials that expire, permissions an admin can see and pull back, and a record of every call.

Tokens, not API keys

Personal tokens act as you and follow your role — get demoted and the token narrows the same minute. Service tokens belong to the organization, survive officer turnover, and can be rotated with an overlap window so nothing breaks mid-swap. Every token expires, and the secret is shown exactly once.

Scopes an admin can see and revoke

A token grants only what you tick, capped by the holder's role and by any scope the organization has blocked outright. Admins can see every call in the organization's API activity log — who, what and when.

No personal contact details

v1 exposes no phone numbers, no guardian or emergency contacts, and no notes. It's a deliberate limit: a leaked token can't become a leaked contact list.

A contract, not a moving target

The OpenAPI description is generated from the code and checked on every pull request — we can't remove an endpoint, drop a field, or require a new scope without failing our own build. Retirements come with at least 180 days' notice.

Start reading

Create a token under Settings → Developers, then follow the roster sync walkthrough. The full reference, including every scope and error code, lives in the docs.