Blog

Real Fake Data for teams: roles, a shared budget, and shared dictionaries

The Real Fake Data team

Real Fake Data started the way most developer tools start: one person, one account, one API key. That works until the second person needs data too. Then the questions arrive at once — should everyone share one key, whose tokens does a CI run spend, and where does the list of our product tiers live, the one every test should draw from? Team organizations are our answer to all three.

Private for you, Team for everyone

Every account starts with a private organization: only you, spending from your own tokens, including the free monthly ones. Next to it you can now create a team organization — or turn a private one into a team when the people arrive. You switch between them in the dashboard header, and every page — keys, usage, billing — follows the one you picked.

Three roles, and nobody shares a password

  • Owner — everything an admin can do, plus managing the admins themselves.
  • Admin — invites people, creates and revokes the team’s API keys, and promotes, suspends or removes members.
  • Member — uses the API keys an admin hands them, sees the team’s usage, and edits its dictionaries.

People join by email invitation: a single-use link, valid for seven days, which can be cancelled until it is used. Someone stepping away for a while can be suspended — they keep their seat but lose all access until reactivated — and removing someone takes them out for good. API keys belong to the team rather than to the person who created them, so a colleague leaving never breaks an integration; each key still shows who created it and how many tokens it has spent.

A budget of its own

A team spends from its own wallet: the tokens bought for it, billed separately from anyone’s personal account. Every key of the team draws on that one balance. The free monthly tokens stay personal on purpose — a team has none — so inviting ten people does not quietly create ten free allowances, and a team’s bill is exactly the tokens bought for it. The credits are the same as anywhere else: prepaid, never expiring, and a call costs one token plus a tenth per record.

Dictionaries: the team’s own lists

The enum generator has always taken a `choices` list in the URL — fine for three values, awkward for forty, and a copy of the list in every test that uses it. A team can now keep those lists in the dashboard as dictionaries: one entry per row, weights optional, editable by every member. Generators then draw from them by name.

Draw from the team dictionary "client-products"
curl -H "Authorization: Bearer $TEAM_API_KEY" \
  "https://api.real-fake-data.com/v1/enum?dictionary=client-products&count=3"

{
  "data": [
    { "value": "premium", "probability": 0.75 },
    { "value": "basic",   "probability": 0.25 },
    { "value": "premium", "probability": 0.75 }
  ]
}

When the product team renames a tier, someone edits the dictionary once and the next call already returns the new name — in every test suite, in every repository, with nothing to redeploy. Weights work exactly as in `choices`, and `seed`, `count` and the three testing modes behave as before.

Creating a team costs nothing. It runs on the tokens you buy for it. Start from the organization menu in the dashboard header — “Add new organization”, then Team.