{"openapi":"3.1.0","info":{"title":"Ironclad Clickwrap (BYOK) API","version":"0.1.0","description":"Ironclad Clickwrap (BYOK) lets an AI assistant read your own Ironclad Clickwrap data through the Ironclad Clickwrap API with a key you supply (Ironclad Clickwrap API access token (User Profile > API Keys)). Read-only: 8 tools (get_account, list_sites, get_site, list_groups, get_group, list_site_groups, list_contracts, get_contract). The BYOK key travels with each request, is used for that one...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-ironclad-clickwrap.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-ironclad-clickwrap/docs"},"termsOfService":"https://connectorbay.com/byok-ironclad-clickwrap/terms"},"servers":[{"url":"https://byok-ironclad-clickwrap.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-ironclad-clickwrap/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_account":{"post":{"operationId":"get_account","summary":"Get the Clickwrap account's name, key, subscription plan and status, usage and limits (billing and contact details are n","description":"Get the Clickwrap account's name, key, subscription plan and status, usage and limits (billing and contact details are not returned). Use for \"What Ironclad Clickwrap plan and usage does my account have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"description":"Numeric account id, shown in the Clickwrap account settings.","title":"Account Id","type":"integer"}},"required":["account_id"],"title":"get_accountArguments","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/list_sites":{"post":{"operationId":"list_sites","summary":"List the sites (acceptance environments) in the account with key, primary, sandbox and verification flags, locale and ti","description":"List the sites (acceptance environments) in the account with key, primary, sandbox and verification flags, locale and time zone (contact details are not returned). Use for \"Which Clickwrap sites are set up and which are sandbox\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (1 to 100).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Sort expression, for example 'updated_time' or '-created_time' for descending.","title":"Sort"},"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Filter expression as documented by the API, for example 'published:true'.","title":"Filter"}},"title":"list_sitesArguments","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/get_site":{"post":{"operationId":"get_site","summary":"Get one site's key, primary, sandbox and verification flags, locale and time zone. Use for \"Show Clickwrap site 101\".","description":"Get one site's key, primary, sandbox and verification flags, locale and time zone. Use for \"Show Clickwrap site 101\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site_id":{"description":"Numeric site id, as returned by list_sites.","title":"Site Id","type":"integer"}},"required":["site_id"],"title":"get_siteArguments","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/list_groups":{"post":{"operationId":"list_groups","summary":"List acceptance groups (the embedded clickwrap units) with key, type, tags and published, paused and pending-change flag","description":"List acceptance groups (the embedded clickwrap units) with key, type, tags and published, paused and pending-change flags. Use for \"Which Clickwrap groups are published and which are paused\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (1 to 100).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Sort expression, for example 'updated_time' or '-created_time' for descending.","title":"Sort"},"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Filter expression as documented by the API, for example 'published:true'.","title":"Filter"}},"title":"list_groupsArguments","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/get_group":{"post":{"operationId":"get_group","summary":"Get one acceptance group's key, type, tags and published, paused and pending-change flags. Use for \"Show Clickwrap group","description":"Get one acceptance group's key, type, tags and published, paused and pending-change flags. Use for \"Show Clickwrap group 201\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_id":{"description":"Numeric group id, as returned by list_groups.","title":"Group Id","type":"integer"}},"required":["group_id"],"title":"get_groupArguments","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/list_site_groups":{"post":{"operationId":"list_site_groups","summary":"List the acceptance groups that belong to one site, with key, type, tags and published and paused flags. Use for \"Which ","description":"List the acceptance groups that belong to one site, with key, type, tags and published and paused flags. Use for \"Which Clickwrap groups does site 101 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site_id":{"description":"Numeric site id, as returned by list_sites.","title":"Site Id","type":"integer"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (1 to 100).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Sort expression, for example 'updated_time' or '-created_time' for descending.","title":"Sort"},"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Filter expression as documented by the API, for example 'published:true'.","title":"Filter"}},"required":["site_id"],"title":"list_site_groupsArguments","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/list_contracts":{"post":{"operationId":"list_contracts","summary":"List contract definitions (the legal documents shown to signers) with title, key, classification, public, shared, publis","description":"List contract definitions (the legal documents shown to signers) with title, key, classification, public, shared, published and archived flags and latest version; contract text is not returned. Use for \"Which contracts are published in Ironclad Clickwrap and which are archived\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (1 to 100).","title":"Per Page"},"sort":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Sort expression, for example 'updated_time' or '-created_time' for descending.","title":"Sort"},"filter":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Filter expression as documented by the API, for example 'published:true'.","title":"Filter"},"include_archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Include archived contracts when true.","title":"Include Archived"}},"title":"list_contractsArguments","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/get_contract":{"post":{"operationId":"get_contract","summary":"Get one contract definition's title, key, classification, flags and version pointers (contract text is not returned). Us","description":"Get one contract definition's title, key, classification, flags and version pointers (contract text is not returned). Use for \"Show Clickwrap contract 301\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"contract_id":{"description":"Numeric contract id, as returned by list_contracts.","title":"Contract Id","type":"integer"},"include_archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Allow archived contracts to be returned when true.","title":"Include Archived"}},"required":["contract_id"],"title":"get_contractArguments","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}}}}