Skip to content

Creator Hub​

Private social projects, versioned templates, community sharing and authorized campaign assets.


Read engine schemas​

GET
/creator-hub/schema

Authoritative v1 JSON Schemas for template and project inputs, format/fact keys and limits. Tokens use the same permissions as their owner.

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)

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization

Samples​


List templates​

GET
/creator-hub/templates

Lightweight metadata only: items and opaque nextCursor. Community attribution comes from profiles.name; built-ins use FundlyHub. No private templates of other accounts are included.

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​

Query Parameters

collection
Type
string
Valid values
"all""fundlyhub""community""mine"
cursor
Type
string
q
Type
string
topic
Type
string
format
Type
string
Valid values
"post""carousel""story""reel"

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Create private template​

POST
/creator-hub/templates

Creates a private immutable version 1. Client attribution fields are not accepted inside a definition. Image defaults cannot be published. The template limit is 200 per account.

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)

Request Body​

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

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Body

Samples​


Read template version​

GET
/creator-hub/templates/{id}

Owner can read their drafts. Others can read previously published immutable versions only while the template remains public.

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*
Type
string
Required

Query Parameters

version
Type
integer
Minimum
1

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Create template version​

POST
/creator-hub/templates/{id}/versions

Owner only. baseVersion must be the current latest version; publication is unchanged.

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*
Type
string
Required

Request Body​

application/json
JSON
{
"baseVersion": 0,
"definition": "string"
}

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Publish template version​

POST
/creator-hub/templates/{id}/publish

Owner only. Explicitly publish an immutable version, or send null to unpublish. New edits never alter the existing public version.

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*
Type
string
Required

Request Body​

application/json
JSON
{
"version": 0
}

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Find usable campaigns​

GET
/creator-hub/campaigns

Mine lists owned campaigns or campaigns of the org authorized by org.read. Platform lists approved active public campaigns. Results contain items and nextOffset.

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​

Query Parameters

collection
Type
string
Valid values
"mine""platform"
org
Type
string
q
Type
string
offset
Type
integer
Minimum
0

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Read campaign source​

GET
/creator-hub/campaigns/{id}

Fresh permitted story, photos, link, public facts, public endorsers with names and processed avatars, percentage and source revision. Uses normal campaign/organization read permissions; no donor emails or private identities. Moderated/processing assets are excluded.

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*
Type
string
Required

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Search system organizations​

GET
/creator-hub/directory/organizations

Publicly listed approved/verified organizations and their canonical names/logos.

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​

Query Parameters

id

Resolve a saved organization outside the first search page.

Type
string
Format
"uuid"
q
Type
string

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


List system achievements​

GET
/creator-hub/directory/achievements

Public system achievement slugs and names, excluding hidden or unpublished definitions.

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)

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization

Samples​


Read achievement artwork​

GET
/creator-hub/directory/achievements/{slug}/art

Rasterized cut-out of a public system achievement for the composer.

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

slug*
Type
string
Required

Responses​

Success

image/png

Playground​

Server
Authorization
Variables
Key
Value

Samples​


List owned projects​

GET
/creator-hub/projects

Owner-only private projects. Returns items and nextOffset.

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​

Query Parameters

offset
Type
integer
Minimum
0

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Create private project​

POST
/creator-hub/projects

Validates template version, campaign access and image ownership. Missing sourceRevision captures the current permitted source; a provided stale revision returns 409.

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)

Request Body​

application/json
JSON
"string"

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Body

Samples​


Read owned project​

GET
/creator-hub/projects/{id}

Returns id, body, revision, source_revision and updated_at. No other user can read the draft by guessing its ID.

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*
Type
string
Required

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Delete owned project​

DELETE
/creator-hub/projects/{id}

Soft-deletes the draft and prevents future downloads of its exports.

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*
Type
string
Required

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Update owned project​

PATCH
/creator-hub/projects/{id}

Optimistic concurrency: revision must match the current saved record.

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*
Type
string
Required

Request Body​

application/json
JSON
{
"revision": 0,
"project": "string"
}

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Render validated preview​

POST
/creator-hub/preview

Optional read-shaped render. Returns a base64 SVG data URL and sourceRevision. Native editing uses the same engine locally. Limited to 30 previews/minute/account.

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)

Request Body​

application/json
JSON
{
"project": "string",
"slide": 0
}

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Body

Samples​


Queue private PNG export​

POST
/creator-hub/projects/{id}/exports

Exports one saved slide. Supply Idempotency-Key (recommended) or idempotencyKey in the body. Reusing a key for different input returns 409; identical retries return the same job. Current project/source revisions and permissions are required. Four pending jobs/account, 60 exports/hour/account.

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​

Header Parameters

Idempotency-Key
Type
string
Min Length
1
Max Length
100

Path Parameters

id*
Type
string
Required

Request Body​

application/json
JSON
{
"revision": 0,
"slide": 0,
"idempotencyKey": "string"
}

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Headers
Variables
Key
Value
Body

Samples​


Read export status​

GET
/creator-hub/exports/{id}

Owner-only queued/running/succeeded/failed state, error and expiry. Poll until terminal.

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*
Type
string
Required

Responses​

Success

application/json
JSON
{
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Download private PNG​

GET
/creator-hub/exports/{id}/download

Owner-only binary. Expires after 24 hours and rechecks source/template permissions and saved revision. No public CDN URL is issued.

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*
Type
string
Required

Responses​

Success

image/png

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Powered by VitePress OpenAPI

Built with VitePress