Skip to content

DMCA​

DMCA §512 takedown notices and counter-notices. Currently dark behind the features.dmca_workflow flag.


File a DMCA takedown notice​

POST
/dmca/notice

Files a §512(c) takedown notice against a campaign or one of its media files. No account is needed to file. Both attestations must be true, and either mediaId or fundraiserId is required. Returns only a reference id; the claimant is emailed a confirmation and updates.

No authentication. Behind features.dmca_workflow, which is currently disabled (403). Rate limited at 5 requests/minute per IP.

Request Body​

application/json
JSON
{
"claimantName": "string",
"claimantOrganization": "string",
"claimantEmail": "string",
"claimantPhone": "string",
"claimantAddress": "string",
"mediaId": "string",
"fundraiserId": "string",
"infringingUrl": "string",
"copyrightedWorkDescription": "string",
"copyrightedWorkUrl": "string",
"goodFaithStatement": true,
"authorityStatement": true,
"electronicSignature": "string"
}

Responses​

Notice received

application/json
JSON
{
"ok": true,
"complaintId": "string",
"submittedAt": "string",
"message": "string"
}

Playground​

Server
Body

Samples​


File a DMCA counter-notice​

POST
/dmca/complaints/{id}/counter-notice

The uploader of media taken down under a notice files a §512(g) counter-notice. Only the media's original uploader may file, and only against a complaint in valid status. All three statements must be true. FundlyHub forwards it to the claimant.

Behind features.dmca_workflow, which is currently disabled (403).

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 complaint id.

Type
string
Required
Format
"uuid"

Request Body​

application/json
JSON
{
"goodFaithStatement": true,
"consentToJurisdiction": true,
"perjuryStatement": true,
"electronicSignature": "string",
"contactName": "string",
"contactAddress": "string",
"contactPhone": "string",
"contactEmail": "string"
}

Responses​

Counter-notice received

application/json
JSON
{
"ok": true,
"counterNoticeId": "string",
"submittedAt": "string",
"message": "string"
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Powered by VitePress OpenAPI

Built with VitePress