List organizations
Public list of approved/verified, non-deleted organizations. Returns their public fields plus a true total count. Rate-limited.
Parameters
Query Parameters
Only approved or verified take effect; other values fall back to the default public filter.
"approved""verified"Clamped to 1..100. Defaults to 20.
11002000Responses
Paginated list of organizations
Create organization
Multi-tier onboarding payload.
Requires a bearer session and a verified email address — an unverified session answers 403. Self-service creation is capped at 5 organizations per hour per (IP, user).
Authorizations
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.
Request Body
Responses
Organization created, pending verification. The caller becomes its org_owner.
Get the caller's organizations
Organizations the authenticated caller holds an active org-scoped role on. Flat array, no pagination.
Authorizations
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.
Responses
Caller's organizations
Get organization by ID or slug
Public read of a single org by UUID or slug. Anonymous callers only see approved/verified non-deleted orgs; an active member of the organization can also read it in its other states and additionally receives suspension/rejection metadata (suspension_reason, rejected_reason, suspended_until) and the unredacted contact_email. Authentication is therefore optional but not inert.
Authorizations
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.
Parameters
Path Parameters
Organization UUID or slug.
Responses
Organization detail
Get organization stats
Campaign counts, funds raised, unique donors and followers for an org (UUID or slug). A bare object — not wrapped in data.
Parameters
Path Parameters
Responses
Organization stats
Get organization public team
Public "Our team" list for an org (UUID or slug). Filtered to active, publicly-visible, non-expired memberships whose user profile is not private.
Parameters
Path Parameters
Responses
Organization team members
Get organization updates feed
Public, latest-first updates feed for an org (UUID or slug). Offset pagination, limit clamped 1..50.
Parameters
Path Parameters
Query Parameters
1502000Responses
Organization updates
List public organization documents
Approved trust documents an organization admin has marked public, for an approved or verified org (UUID or slug). Metadata only — there is no public download.
Parameters
Path Parameters
Responses
Public documents
List organization role titles
Public reference list of non-deprecated position titles (the LinkedIn-style "position" picker on the org-admin Members page), ordered by sort_order then label. These titles are display-only and carry no permissions — they are distinct from the RBAC roles org_owner / org_admin / org_viewer. Pass an id from this list as org_role_title_id when adding a member.
Responses
Role titles
List campaign locations by US state
US states that currently have active campaigns, with a campaign count per state, sorted by state name. The state is parsed out of each campaign's free-text location (a two-letter code or full state name); campaigns whose location cannot be matched to a state are left out. Cached for 5 minutes. Drives the location filter on campaign browse.
Responses
States with active campaigns
Report an organization
Flags an organization for review by FundlyHub's trust team. A signed-in caller with a verified email address can report; no relationship to the organization is needed. Each user holds at most one report per organization — reporting again overwrites the earlier category and details and puts the report back to pending.
Authorizations
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.
Parameters
Path Parameters
Organization UUID (a slug is not accepted and answers 404).
"uuid"Request Body
Responses
Report recorded