{"openapi":"3.1.0","info":{"title":"Rightsguard API","version":"0.1.0","description":"A fully local, hand-curated creator-rights reference: the US fair-use four-factor test, DMCA takedown/counter-notice basics, watermarking approaches, content-matching claim/dispute guidance, copyright fundamentals, and a licensing glossary. General information, not legal advice.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://rightsguard.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/rightsguard/docs"},"termsOfService":"https://connectorbay.com/rightsguard/terms"},"servers":[{"url":"https://rightsguard.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/rightsguard/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/fair_use_factors":{"post":{"operationId":"fair_use_factors","summary":"The US fair-use four-factor test (17 U.S.C. § 107) — purpose and character of use, nature of the work,","description":"The US fair-use four-factor test (17 U.S.C. § 107) — purpose and character of use, nature of the work,\n    amount used, and market effect — each with what favors and weighs against fair use. General information, not\n    legal advice. Use for \"what are the fair use factors\", \"is transformative use enough for fair use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"fair_use_factorsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/fair_use_walkthrough":{"post":{"operationId":"fair_use_walkthrough","summary":"Returns the four fair-use factors to weigh for a described use, plus any matched considerations (parody,","description":"Returns the four fair-use factors to weigh for a described use, plus any matched considerations (parody,\n    commentary, reaction content, compilations, AI training, cover songs, ...). Never gives a yes/no verdict — only\n    a court can decide that. Use for \"is a reaction video fair use\", \"can I use a whole song as a parody target\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"use_description":{"description":"A plain-language description of the intended use.","examples":["a 30-second reaction clip commenting on a movie trailer","a parody song based on a popular tune"],"minLength":1,"title":"Use Description","type":"string"}},"required":["use_description"],"title":"fair_use_walkthroughArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/dmca_takedown_basics":{"post":{"operationId":"dmca_takedown_basics","summary":"Who can send a DMCA takedown notice, the required elements under 17 U.S.C. § 512(c)(3), where to send one,","description":"Who can send a DMCA takedown notice, the required elements under 17 U.S.C. § 512(c)(3), where to send one,\n    and the § 512(f) bad-faith liability risk. Use for \"how do I file a DMCA takedown\", \"what has to be in a\n    takedown notice\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"dmca_takedown_basicsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/dmca_counternotice_basics":{"post":{"operationId":"dmca_counternotice_basics","summary":"Who can send a DMCA counter-notice, the required elements under 17 U.S.C. § 512(g)(3), what happens next,","description":"Who can send a DMCA counter-notice, the required elements under 17 U.S.C. § 512(g)(3), what happens next,\n    and the real legal risk of filing one. Use for \"how do I counter a takedown\", \"what happens after I file a\n    counter-notice\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"dmca_counternotice_basicsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/dmca_readiness_checklist":{"post":{"operationId":"dmca_readiness_checklist","summary":"A practical pre-filing checklist for either sending a DMCA takedown notice or filing a counter-notice. Use","description":"A practical pre-filing checklist for either sending a DMCA takedown notice or filing a counter-notice. Use\n    for \"what do I need before filing a takedown\", \"am I ready to counter-notice\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"role":{"description":"'sender' (filing a takedown) or 'recipient' (received one / considering a counter-notice).","examples":["sender"],"title":"Role","type":"string"}},"required":["role"],"title":"dmca_readiness_checklistArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/content_claim_dispute_basics":{"post":{"operationId":"content_claim_dispute_basics","summary":"How automated content-matching claim systems generally work (a match generates a claim, not a takedown, and","description":"How automated content-matching claim systems generally work (a match generates a claim, not a takedown, and\n    the rights holder's platform-specific policy decides the outcome) and the typical dispute path. Use for \"my\n    video got a content claim, what do I do\", \"how do content matching disputes work\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"content_claim_dispute_basicsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/watermark_approaches":{"post":{"operationId":"watermark_approaches","summary":"Compares five watermarking approaches — visible overlay, invisible/steganographic, metadata/C2PA embedding,","description":"Compares five watermarking approaches — visible overlay, invisible/steganographic, metadata/C2PA embedding,\n    forensic per-recipient marking, and hash/timestamp registration — with how each works and its pros/cons. Use\n    for \"how should I watermark my photos\", \"what's steganographic watermarking\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"watermark_approachesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/watermark_guidance":{"post":{"operationId":"watermark_guidance","summary":"Placement guidance specific to photos or video, given how each is typically cropped, screen-recorded, or","description":"Placement guidance specific to photos or video, given how each is typically cropped, screen-recorded, or\n    redistributed. Use for \"where should I put a watermark on my photos\", \"how do studios protect video\n    screeners\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"content_type":{"description":"'photo' or 'video'.","examples":["photo"],"title":"Content Type","type":"string"}},"required":["content_type"],"title":"watermark_guidanceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/copyright_basics":{"post":{"operationId":"copyright_basics","summary":"How US copyright arises automatically on fixation, what it covers (expression, not ideas/facts), why to","description":"How US copyright arises automatically on fixation, what it covers (expression, not ideas/facts), why to\n    register anyway, how long it lasts, and what public domain means. Use for \"when does copyright start\", \"how\n    long does copyright last\", \"do I need to register my work\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"copyright_basicsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/license_types":{"post":{"operationId":"license_types","summary":"Common license types — all rights reserved, the six Creative Commons licenses, CC0, royalty-free, and","description":"Common license types — all rights reserved, the six Creative Commons licenses, CC0, royalty-free, and\n    rights-managed — with what each actually permits. Use for \"what's the difference between royalty-free and\n    rights-managed\", \"what does CC BY-SA mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"license_typesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/rightsguard_glossary":{"post":{"operationId":"rightsguard_glossary","summary":"Definitions of creator-rights terms: fair use, DMCA, safe harbor, infringement, public domain, license,","description":"Definitions of creator-rights terms: fair use, DMCA, safe harbor, infringement, public domain, license,\n    attribution, moral rights, takedown notice, counter-notice, transformative use, first-sale doctrine, work made\n    for hire, statutory damages, orphan work, content claim, plus every license type. Use for \"what's safe harbor\",\n    \"what's a work made for hire\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"rightsguard_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}