{
  "service": "signwell",
  "displayName": "SignWell",
  "categories": [
    "Productivity",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "signwell_api_key",
      "description": "SignWell API key used with the X-Api-Key header. Get it from Settings > API as described in the official getting started docs: https://developers.signwell.com/reference/getting-started-with-your-api-1"
    }
  ],
  "homepageUrl": "https://www.signwell.com",
  "actions": [
    {
      "id": "signwell.create_document_from_template",
      "service": "signwell",
      "name": "create_document_from_template",
      "description": "Create a SignWell document from one or more templates.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "template_id": {
            "type": "string",
            "minLength": 1,
            "description": "The SignWell identifier."
          },
          "template_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The SignWell identifier."
            },
            "description": "Template IDs used to create the document."
          },
          "draft": {
            "type": "boolean",
            "description": "Whether to leave the created document as a draft."
          },
          "with_signature_page": {
            "type": "boolean",
            "description": "Whether to append a signature page."
          },
          "text_tags": {
            "type": "boolean",
            "description": "Whether SignWell should parse text tags."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The recipient name."
                },
                "email": {
                  "type": "string",
                  "description": "The recipient email address.",
                  "format": "email"
                },
                "role": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "placeholder_name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "subject": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "message": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "send_email": {
                  "type": "boolean",
                  "description": "Whether SignWell should email this recipient."
                },
                "send_email_delay": {
                  "type": "integer",
                  "description": "Delayed email notification window in minutes."
                },
                "signing_order": {
                  "type": "integer",
                  "description": "The recipient signing order."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "email"
              ],
              "description": "One SignWell recipient."
            },
            "description": "Recipients assigned to the SignWell document."
          },
          "exclude_placeholders": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "The string value."
            },
            "description": "Template placeholder names to exclude."
          },
          "template_fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw SignWell object returned by the API."
            },
            "description": "Template field values passed through to SignWell."
          },
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The name of the uploaded file."
                },
                "file_url": {
                  "type": "string",
                  "description": "The publicly accessible file URL that SignWell should fetch.",
                  "format": "uri"
                },
                "file_base64": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The RFC 4648 base64-encoded file content."
                }
              },
              "additionalProperties": false,
              "required": [
                "name"
              ],
              "description": "One additional file reference sent to SignWell.",
              "oneOf": [
                {
                  "required": [
                    "name",
                    "file_url"
                  ]
                },
                {
                  "required": [
                    "name",
                    "file_base64"
                  ]
                }
              ]
            },
            "description": "Additional files to attach to the document."
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw SignWell object returned by the API."
            },
            "description": "Field definitions passed through to SignWell."
          },
          "attachment_requests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw SignWell object returned by the API."
            },
            "description": "Attachment requests passed through to SignWell."
          },
          "copied_contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw SignWell object returned by the API."
            },
            "description": "Copied contacts passed through to SignWell."
          },
          "test_mode": {
            "type": "boolean",
            "description": "Whether SignWell should create the document in test mode."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "subject": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "expires_in": {
            "type": "integer",
            "description": "Number of days until the document expires."
          },
          "reminders": {
            "type": "boolean",
            "description": "Whether SignWell should send automatic reminders."
          },
          "apply_signing_order": {
            "type": "boolean",
            "description": "Whether recipients must sign in signing_order sequence."
          },
          "api_application_id": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "embedded_signing": {
            "type": "boolean",
            "description": "Whether to enable embedded signing."
          },
          "embedded_signing_notifications": {
            "type": "boolean",
            "description": "Whether embedded signing should send notifications."
          },
          "custom_requester_name": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "custom_requester_email": {
            "type": "string",
            "description": "The custom requester email address.",
            "format": "email"
          },
          "redirect_url": {
            "type": "string",
            "description": "The URL where SignWell redirects after signing.",
            "format": "uri"
          },
          "allow_decline": {
            "type": "boolean",
            "description": "Whether recipients can decline signing."
          },
          "allow_reassign": {
            "type": "boolean",
            "description": "Whether recipients can reassign signing."
          },
          "decline_redirect_url": {
            "type": "string",
            "description": "The URL where SignWell redirects after a decline.",
            "format": "uri"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "One metadata string value."
            },
            "description": "Optional SignWell metadata key-value pairs."
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The SignWell label name."
                }
              },
              "additionalProperties": false,
              "description": "One SignWell label update item."
            },
            "description": "Labels to assign to the SignWell document."
          },
          "checkbox_groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "group_name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A unique checkbox group identifier."
                },
                "checkbox_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "One checkbox API ID."
                  },
                  "description": "The checkbox API IDs grouped together."
                }
              },
              "additionalProperties": true,
              "description": "One SignWell checkbox group definition."
            },
            "description": "Checkbox groups to create on the document."
          }
        },
        "additionalProperties": false,
        "description": "The SignWell template document creation payload."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The raw SignWell object returned by the API."
      }
    },
    {
      "id": "signwell.get_document",
      "service": "signwell",
      "name": "get_document",
      "description": "Retrieve one SignWell document by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The SignWell identifier."
          }
        },
        "additionalProperties": false,
        "description": "The SignWell document to retrieve."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The raw SignWell object returned by the API."
      }
    },
    {
      "id": "signwell.get_me",
      "service": "signwell",
      "name": "get_me",
      "description": "Get the authenticated SignWell account, workspace, and user information.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require any input fields."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The raw SignWell object returned by the API."
      }
    },
    {
      "id": "signwell.get_template",
      "service": "signwell",
      "name": "get_template",
      "description": "Retrieve one SignWell document template by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The SignWell identifier."
          }
        },
        "additionalProperties": false,
        "description": "The SignWell template to retrieve."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The raw SignWell object returned by the API."
      }
    },
    {
      "id": "signwell.send_document",
      "service": "signwell",
      "name": "send_document",
      "description": "Send a SignWell draft document for signing.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The SignWell identifier."
          },
          "test_mode": {
            "type": "boolean",
            "description": "Whether SignWell should create the document in test mode."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "subject": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "message": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "expires_in": {
            "type": "integer",
            "description": "Number of days until the document expires."
          },
          "reminders": {
            "type": "boolean",
            "description": "Whether SignWell should send automatic reminders."
          },
          "apply_signing_order": {
            "type": "boolean",
            "description": "Whether recipients must sign in signing_order sequence."
          },
          "api_application_id": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "embedded_signing": {
            "type": "boolean",
            "description": "Whether to enable embedded signing."
          },
          "embedded_signing_notifications": {
            "type": "boolean",
            "description": "Whether embedded signing should send notifications."
          },
          "custom_requester_name": {
            "type": "string",
            "minLength": 1,
            "description": "The string value."
          },
          "custom_requester_email": {
            "type": "string",
            "description": "The custom requester email address.",
            "format": "email"
          },
          "redirect_url": {
            "type": "string",
            "description": "The URL where SignWell redirects after signing.",
            "format": "uri"
          },
          "allow_decline": {
            "type": "boolean",
            "description": "Whether recipients can decline signing."
          },
          "allow_reassign": {
            "type": "boolean",
            "description": "Whether recipients can reassign signing."
          },
          "decline_redirect_url": {
            "type": "string",
            "description": "The URL where SignWell redirects after a decline.",
            "format": "uri"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "One metadata string value."
            },
            "description": "Optional SignWell metadata key-value pairs."
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The SignWell label name."
                }
              },
              "additionalProperties": false,
              "description": "One SignWell label update item."
            },
            "description": "Labels to assign to the SignWell document."
          },
          "checkbox_groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "group_name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A unique checkbox group identifier."
                },
                "checkbox_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "One checkbox API ID."
                  },
                  "description": "The checkbox API IDs grouped together."
                }
              },
              "additionalProperties": true,
              "description": "One SignWell checkbox group definition."
            },
            "description": "Checkbox groups to create on the document."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "The SignWell document send payload."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The raw SignWell object returned by the API."
      }
    },
    {
      "id": "signwell.send_document_reminder",
      "service": "signwell",
      "name": "send_document_reminder",
      "description": "Send a reminder for a SignWell document.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The SignWell identifier."
          },
          "recipients": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The recipient name."
                },
                "email": {
                  "type": "string",
                  "description": "The recipient email address.",
                  "format": "email"
                },
                "role": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "placeholder_name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "subject": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "message": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The string value."
                },
                "send_email": {
                  "type": "boolean",
                  "description": "Whether SignWell should email this recipient."
                },
                "send_email_delay": {
                  "type": "integer",
                  "description": "Delayed email notification window in minutes."
                },
                "signing_order": {
                  "type": "integer",
                  "description": "The recipient signing order."
                }
              },
              "additionalProperties": false,
              "required": [
                "name",
                "email"
              ],
              "description": "One SignWell recipient."
            },
            "description": "Optional recipient subset to remind."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "The SignWell reminder payload."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The raw SignWell object returned by the API."
      }
    }
  ]
}
