Skip to content

Public leaderboard​

GET
/leaderboard

One ranked list on impact = raised + given + driven, in integer cents, over the chosen period.
Raised is the sum of the person's counted campaign cards — settled gifts to public fundraisers they organize, net of processor fees, their own gifts included;
Given is every settled gift they made under their name; Driven is other people's settled gifts through
their share or ambassador link to fundraisers they do not organize. Every dollar counts once.
Anonymous donors appear as alias rows keyed on an opaque anonymousKey; guest and anonymous rows link to their donor page under /d/{kind}/{key}.
When the request carries a session, standing describes where the caller ranks on the full view.
q searches the ranked board by name without renumbering it: a match keeps the rank it has on the full view.

Authorizations​

BearerAuth

In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.

Type
HTTP (bearer)
or

Parameters​

Query Parameters

period
Type
string
Valid values
"all""30d""7d"
Default
"all"
role

Everyone; people organizing a public fundraiser; ambassador role holders; or donors — everyone with a settled gift under their name, whatever their role, anonymous identities included. Everyone, creators and ambassadors rank on impact; donors rank on given (see metric). A filtered view is ranked within itself.

Type
string
Valid values
"all""creators""ambassadors""donors"
Default
"all"
offset
Type
integer
Minimum
0
Default
0
limit
Type
integer
Minimum
1
Maximum
100
Default
25
q

Name search over this view. Trimmed and cut to 100 characters.

Type
string
Max Length
100
lang

Language for badge titles and anonymous aliases (en, ru, uk, es). Defaults from Accept-Language.

Type
string

Responses​

One page of the ranked view

application/json
JSON
{
"entries": [
{
"rank": 0,
"tied": true,
"id": "string",
"kind": "string",
"name": "string",
"avatar": "string",
"href": "string",
"anonymousKey": "string",
"isCreator": true,
"isAmbassador": true,
"raised": 0,
"given": 0,
"driven": 0,
"impact": 0,
"score": 0,
"impressions": 0,
"gifts": 0,
"badges": [
{
"slug": "string",
"artKey": "string",
"artUrl": "string",
"tier": "string",
"title": "string"
}
],
"badgeCount": 0
}
],
"qualified": 0,
"hasMore": true,
"standing": {
"rank": 0,
"tied": true,
"score": 0,
"impact": 0,
"raised": 0,
"given": 0,
"driven": 0,
"gap": 0,
"above": "string"
},
"period": "string",
"role": "string",
"metric": "string",
"offset": 0,
"limit": 0,
"query": "string",
"executionTimeMs": 0,
"cached": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​

Powered by VitePress OpenAPI

Built with VitePress