{"openapi":"3.1.0","info":{"title":"IPBasics API","version":"0.1.0","description":"A fully local trademark/copyright/patent basics glossary: process overviews, a decision-tree classifier, a provisional-patent deadline calculator, protection checklists, and an IP glossary. General education, not legal advice.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://ipbasics.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/ipbasics/docs"},"termsOfService":"https://connectorbay.com/ipbasics/terms"},"servers":[{"url":"https://ipbasics.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/ipbasics/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/ip_type_overview":{"post":{"operationId":"ip_type_overview","summary":"Explains what one IP type protects, its real basic process (USPTO trademark search + application;","description":"Explains what one IP type protects, its real basic process (USPTO trademark search + application;\n    copyright registration and its benefits despite protection being automatic; patent types and the real\n    provisional 12-month deadline), duration, key facts, and a common mistake. Use for \"what's the difference\n    between a trademark and a copyright\", \"how do I register a copyright\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ip_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"trademark | copyright | patent. Omit to list all three.","title":"Ip Type"}},"title":"ip_type_overviewArguments","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/ip_decision_tree":{"post":{"operationId":"ip_decision_tree","summary":"A real keyword-scoring decision tree that routes a description of what you want to protect to the","description":"A real keyword-scoring decision tree that routes a description of what you want to protect to the\n    right IP type(s) — trademark for names/logos/slogans, copyright for written/visual/musical/software\n    creative works, patent for inventions/devices/processes — showing every category's score for\n    transparency. Use for \"do I need a trademark or a copyright for my product name\", \"what kind of IP\n    protection do I need for my invention\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"description":{"description":"Free-text description of what you want to protect, e.g. 'a name for my new coffee brand', 'a novel I wrote', 'a new kind of bicycle lock'.","title":"Description","type":"string"}},"required":["description"],"title":"ip_decision_treeArguments","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/provisional_patent_deadline":{"post":{"operationId":"provisional_patent_deadline","summary":"Computes the real 12-month deadline (35 U.S.C. 119(e)) to file the corresponding non-provisional","description":"Computes the real 12-month deadline (35 U.S.C. 119(e)) to file the corresponding non-provisional\n    patent application after a provisional filing — missing it permanently loses that provisional's earlier\n    priority date. Use for \"if I filed a provisional patent on March 15 2026, when do I need to file the\n    real application\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"provisional_filing_date":{"description":"The provisional patent application's filing date, YYYY-MM-DD.","title":"Provisional Filing Date","type":"string"}},"required":["provisional_filing_date"],"title":"provisional_patent_deadlineArguments","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/ip_protection_checklist":{"post":{"operationId":"ip_protection_checklist","summary":"A step-by-step checklist for protecting one type of IP — clearance search and renewal for","description":"A step-by-step checklist for protecting one type of IP — clearance search and renewal for\n    trademarks, registration timing for copyrights, prior-art search and the provisional-to-non-provisional\n    deadline for patents. Use for \"how do I protect my trademark\", \"what should I do to protect my invention\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ip_type":{"description":"trademark | copyright | patent","title":"Ip Type","type":"string"}},"required":["ip_type"],"title":"ip_protection_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/ip_glossary":{"post":{"operationId":"ip_glossary","summary":"Definitions of common IP terms — prior art, claims, office action, trade dress, service mark, fair","description":"Definitions of common IP terms — prior art, claims, office action, trade dress, service mark, fair\n    use, public domain, first-to-file, infringement, licensing. Use for \"what's prior art\", \"what does\n    first-to-file mean\".","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":"ip_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}}}}