{"openapi":"3.1.0","info":{"title":"SignWell (BYOK) API","version":"0.1.0","description":"SignWell (BYOK) lets an AI assistant read your own SignWell data through the SignWell API with a key you supply (SignWell API key). Read-only: 8 tools (get_credentials, get_account, get_document, get_template, get_api_application, list_webhooks, list_bulk_sends, get_bulk_send). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-signwell.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-signwell/docs"},"termsOfService":"https://connectorbay.com/byok-signwell/terms"},"servers":[{"url":"https://byok-signwell.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-signwell/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_credentials":{"post":{"operationId":"get_credentials","summary":"Show the account the API key belongs to: key owner, role, account and workspace names and plan. Use for \"Which SignWell ","description":"Show the account the API key belongs to: key owner, role, account and workspace names and plan. Use for \"Which SignWell account is my API key connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_credentialsArguments","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_account":{"post":{"operationId":"get_account","summary":"Get the account name, plan and default signing settings (date format, link expiry, allowed signature types, time zone, l","description":"Get the account name, plan and default signing settings (date format, link expiry, allowed signature types, time zone, language). Use for \"What are the default signing settings of my SignWell account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"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/get_document":{"post":{"operationId":"get_document","summary":"Get one document by id: name, status, requester, subject, message, dates, expiry, language and test mode flag (recipient","description":"Get one document by id: name, status, requester, subject, message, dates, expiry, language and test mode flag (recipient details are not returned). Use for \"What is the status of SignWell document a2c3b8f4-0d1e-4f5a-9b6c-7d8e9f0a1b2c\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Document id (UUID) from a document creation request or the document page URL.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_documentArguments","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_template":{"post":{"operationId":"get_template","summary":"Get one document template by id: name, status, requester, subject, message, link and dates. Use for \"Show SignWell templ","description":"Get one document template by id: name, status, requester, subject, message, link and dates. Use for \"Show SignWell template 7f6e5d4c\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Template id (UUID) from a template creation request or the template page URL.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_templateArguments","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_api_application":{"post":{"operationId":"get_api_application","summary":"Get one API application (embedded signing app): name, callback URLs, owner and dates. Use for \"Show my SignWell API appl","description":"Get one API application (embedded signing app): name, callback URLs, owner and dates. Use for \"Show my SignWell API application\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"API application id from the API application edit page.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_api_applicationArguments","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_webhooks":{"post":{"operationId":"list_webhooks","summary":"List the webhook callback URLs registered for document events in the account. Use for \"Which webhooks are registered in ","description":"List the webhook callback URLs registered for document events in the account. Use for \"Which webhooks are registered in my SignWell account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_webhooksArguments","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_bulk_sends":{"post":{"operationId":"list_bulk_sends","summary":"List bulk sends (one template sent to many recipients) with name, status, document counts and creation time. Use for \"Wh","description":"List bulk sends (one template sent to many recipients) with name, status, document counts and creation time. Use for \"What SignWell bulk sends have I run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many bulk sends to return (1 to 50).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"user_email":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Email of the sender whose bulk sends to list; other users need an admin or manager role.","title":"User Email"},"api_application_id":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only bulk sends made through this API application id.","title":"Api Application Id"}},"title":"list_bulk_sendsArguments","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_bulk_send":{"post":{"operationId":"get_bulk_send","summary":"Get one bulk send: name, status, how many documents were created and completed, and the templates used. Use for \"How man","description":"Get one bulk send: name, status, how many documents were created and completed, and the templates used. Use for \"How many documents of SignWell bulk send abc123 are completed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Bulk send id from list_bulk_sends.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_bulk_sendArguments","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}}}}