Skip to content

Endorsements​

Ambassadors publicly vouching for other people's campaigns, and creators asking ambassadors to promote theirs.


List a campaign's endorsers​

GET
/fundraisers/{id}/endorsements

Who stands behind a campaign: everyone who endorsed it, plus everyone whose share link for it recorded a visit, minus the organizer and profiles set to private. Ordered by impressions (human visits through their link). Authentication is optional; with a session, viewerHasEndorsed says whether the caller is on the list. A deleted campaign returns an empty list.

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​

Path Parameters

id*

The campaign's UUID; anything else answers 400.

Type
string
Required
Format
"uuid"

Responses​

Endorsers (unwrapped)

application/json
JSON
{
"endorsers": [
],
"viewerHasEndorsed": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Endorse a campaign​

POST
/fundraisers/{id}/endorse

Publicly vouches for a campaign as the signed-in user, with an optional note. Idempotent: endorsing again updates the note and answers 200 with created: false; a new endorsement answers 201 and notifies the campaign owner.
Only public campaigns that are active, paused or ended can be endorsed, and not your own.
Requires permission: endorse_campaigns

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)

Parameters​

Path Parameters

id*

The campaign's UUID; anything else answers 400.

Type
string
Required
Format
"uuid"

Request Body​

application/json
JSON
{
"note": "string"
}

Responses​

Existing endorsement updated

application/json
JSON
"string"

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Withdraw an endorsement​

DELETE
/fundraisers/{id}/endorse

Revokes the caller's live endorsement of the campaign and notifies the owner.
Requires permission: endorse_campaigns

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)

Parameters​

Path Parameters

id*

The campaign's UUID; anything else answers 400.

Type
string
Required
Format
"uuid"

Responses​

Revoked

application/json
JSON
{
"revoked": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


List a campaign's endorsement requests​

GET
/fundraisers/{id}/endorsement-requests

Who the owner has asked to promote the campaign, newest first, and whether each has been emailed yet. Campaign owner only.

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)

Parameters​

Path Parameters

id*

The campaign's UUID; anything else answers 400.

Type
string
Required
Format
"uuid"

Responses​

Requests (unwrapped)

application/json
JSON
{
"requests": [
]
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Ask ambassadors to promote a campaign​

POST
/fundraisers/{id}/endorsement-requests

Asks up to 12 ambassadors at once to promote the caller's campaign. Campaign owner only; no special permission is needed. Requires a verified email address.
Ids that are not current ambassadors (and the caller's own id) are dropped and listed in rejected. When the campaign is public and active, the ambassadors are emailed now (status: "sent"); otherwise the requests are queued and sent when the campaign is approved (status: "queued"). Asking the same ambassador again refreshes the request rather than duplicating it.

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)

Parameters​

Path Parameters

id*

The campaign's UUID; anything else answers 400.

Type
string
Required
Format
"uuid"

Request Body​

application/json
JSON
{
"ambassadorIds": [
"string"
]
}

Responses​

Requests recorded

application/json
JSON
{
"requests": [
],
"notified": 0,
"queued": 0,
"rejected": [
"string"
],
"status": "string"
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Powered by VitePress OpenAPI

Built with VitePress