{"openapi":"3.1.0","info":{"title":"Stockrights API","version":"0.1.0","description":"A fully local, hand-curated stock photo/music/footage licensing reference: royalty-free vs rights-managed vs Creative Commons variants vs editorial-only vs public domain, a computed use-case decision guide, a CC comparison table, model/property release explainers, a computed attribution generator, and a risk flagger. 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://stockrights.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/stockrights/docs"},"termsOfService":"https://connectorbay.com/stockrights/terms"},"servers":[{"url":"https://stockrights.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/stockrights/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/license_type_info":{"post":{"operationId":"license_type_info","summary":"Full explanation of one licensing model: what it permits, what it restricts, and its typical use. Covers","description":"Full explanation of one licensing model: what it permits, what it restricts, and its typical use. Covers\n    Royalty-Free, Rights-Managed, CC0 and the six standard CC variants, Editorial-Only, and Public Domain. Use for\n    \"what does rights-managed mean\", \"what can I do with a CC BY-SA photo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"license_type":{"description":"A license type.","examples":["royalty_free","cc_by_nc","editorial_only"],"minLength":1,"title":"License Type","type":"string"}},"required":["license_type"],"title":"license_type_infoArguments","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_list":{"post":{"operationId":"license_list","summary":"All license types covered, each with a one-line summary. Use for \"what license types do you cover\".","description":"All license types covered, each with a one-line summary. Use for \"what license types do you cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"license_listArguments","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/use_case_decision_guide":{"post":{"operationId":"use_case_decision_guide","summary":"Computed decision guide: recommends suitable license type(s) for a described use case, based on","description":"Computed decision guide: recommends suitable license type(s) for a described use case, based on\n    commercial/noncommercial/editorial/exclusivity signals in the description, with cautions. Use for \"what\n    license should I use for a commercial ad campaign\", \"what license for a personal blog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"use_case":{"description":"A plain-language description of the intended use.","examples":["a paid social media ad campaign for my startup","a personal blog post","a news article about a public event"],"minLength":1,"title":"Use Case","type":"string"}},"required":["use_case"],"title":"use_case_decision_guideArguments","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/cc_license_compare":{"post":{"operationId":"cc_license_compare","summary":"Side-by-side comparison of named Creative Commons variants: attribution required, commercial use allowed,","description":"Side-by-side comparison of named Creative Commons variants: attribution required, commercial use allowed,\n    derivatives allowed, share-alike required. Use for \"compare CC BY and CC BY-NC-SA\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"licenses":{"description":"Two or more Creative Commons license names/ids to compare.","items":{"type":"string"},"minItems":2,"title":"Licenses","type":"array"}},"required":["licenses"],"title":"cc_license_compareArguments","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/editorial_vs_commercial_check":{"post":{"operationId":"editorial_vs_commercial_check","summary":"Classifies a described use as editorial or commercial/advertising and explains why the distinction matters","description":"Classifies a described use as editorial or commercial/advertising and explains why the distinction matters\n    for editorial-only assets and model releases. Use for \"can I use this in a news article\", \"is this ad use\n    considered editorial\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"intent_description":{"description":"A plain-language description of the intended use.","examples":["using this photo in a news article about the event","using this photo in our product's ad campaign"],"minLength":1,"title":"Intent Description","type":"string"}},"required":["intent_description"],"title":"editorial_vs_commercial_checkArguments","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/model_release_property_release_info":{"post":{"operationId":"model_release_property_release_info","summary":"Explains what a model release and a property release are, and why a copyright license to an image and a","description":"Explains what a model release and a property release are, and why a copyright license to an image and a\n    release from the person/property depicted in it are two separate things. Use for \"do I need a model release\n    for this photo\", \"what's a property release\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"model_release_property_release_infoArguments","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/attribution_generator":{"post":{"operationId":"attribution_generator","summary":"Computed: generates a properly formatted attribution credit line for a Creative Commons–licensed work. Use","description":"Computed: generates a properly formatted attribution credit line for a Creative Commons–licensed work. Use\n    for \"generate an attribution for this CC BY-SA photo by Jane Doe\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"creator_name":{"description":"The creator's name to credit.","minLength":1,"title":"Creator Name","type":"string"},"license_type":{"description":"A Creative Commons license (or other license type).","minLength":1,"title":"License Type","type":"string"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A URL to the original work.","title":"Source Url"},"work_title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The work's title.","title":"Work Title"}},"required":["creator_name","license_type"],"title":"attribution_generatorArguments","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/risk_flags":{"post":{"operationId":"risk_flags","summary":"Keyword-scans a described use for common, costly licensing mistakes: an editorial-only asset in an ad, a","description":"Keyword-scans a described use for common, costly licensing mistakes: an editorial-only asset in an ad, a\n    NonCommercial asset used commercially, modifying a NoDerivatives asset, exceeding a Rights-Managed license's\n    scope, no model release for a recognizable person, or reselling the asset itself. Use for \"am I about to make\n    a licensing mistake using this in an ad\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"described_use":{"description":"A plain-language description of how you plan to use a licensed asset.","examples":["using this CC BY-NC photo in a sponsored ad","cropping this CC BY-ND image for our homepage"],"minLength":1,"title":"Described Use","type":"string"}},"required":["described_use"],"title":"risk_flagsArguments","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/stock_glossary":{"post":{"operationId":"stock_glossary","summary":"Defines licensing terms: royalty, exclusive/non-exclusive license, extended license, fair use, attribution,","description":"Defines licensing terms: royalty, exclusive/non-exclusive license, extended license, fair use, attribution,\n    derivative work, watermark, release, orphan work. Use for \"what does exclusive license mean\", \"what's fair\n    use\".","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":"stock_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}}}}