Skip to content

Signable API (1.0.0)

The Signable API provides secure and efficient access to Signable's electronic signature platform. With this RESTful API, you can send documents for signature, manage templates, track envelope status, and automate your document workflows from within your own applications.

Download OpenAPI description
Languages
Servers
Mock server

https://developers.signable.app/_mock/openapi/

Production server

https://api.signable.co.uk/v1/

Partners

Manage partner integrations.

Operations

Envelopes

Send, track, and manage documents for e-signature.

Operations

Templates

Create and reuse predefined document templates.

Operations

Contacts

Manage contact details for signers and stakeholders.

Operations

Users

Control user accounts and roles.

Operations

Branding

Customize visual and branding settings for emails.

Operations

Request

Returns your company's current branding settings, including any uploaded logo and primary colour. These settings control how Signable emails and signing pages appear to your signers.

Security
basicAuth
curl -i -X GET \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/branding

Responses

Branding settings returned successfully

Bodyapplication/json
httpintegerrequired

HTTP status code

Example: 200
branding_logostring or null(uri)required

A public URL to your uploaded logo (shown on emails and signing pages). Returns null if no logo is uploaded.

Example: "https://www.signable.co.uk/signable.png"
branding_colourstringrequired

The primary hex colour used for branding emails and signing pages.

Example: "#0095E6"
Response
application/json
{ "http": 200, "branding_logo": "https://www.signable.co.uk/signable.png", "branding_colour": "#0095E6" }

Request

Update your account's branding settings. This includes the logo and the primary colour used on emails and signing pages.

Security
basicAuth
Bodyapplication/jsonrequired
branding_logo_urlstring or null(uri)required

A public URL to your logo. This will be shown on emails and the signing page. Set to null to remove the current logo.

Example: "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png"
branding_colourstring^#[0-9A-Fa-f]{6}$required

The hex colour code (e.g. #0095E6) used for branded emails and signing pages.

Example: "#558caa"
curl -i -X PUT \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/branding \
  -H 'Content-Type: application/json' \
  -d '{
    "branding_logo_url": "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png",
    "branding_colour": "#558caa"
  }'

Responses

Branding updated successfully

Bodyapplication/json
httpintegerrequired

HTTP status code

Example: 200
messagestringrequired

A success message confirming the update

Example: "Branding options have been updated."
branding_logostring or null(uri)required

The final logo URL now active for your account. Will be null if none is set.

Example: "https://assets.signable.co.uk/company-logo/213690-1751360856.png"
branding_colourstringrequired

The hex code now being used for branding emails and signing pages. Will be null if none is set.

Example: "#558CAA"
Response
application/json
{ "http": 200, "message": "Branding options have been updated.", "branding_logo": "https://assets.signable.co.uk/company-logo/213690-1751360856.png", "branding_colour": "#558CAA" }

Request

Security
basicAuth
curl -i -X GET \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/branding/emails

Responses

A list of branding email templates

Bodyapplication/json
httpintegerrequired
Example: 200
branding_emailsArray of objects(BrandingEmail)required
branding_emails[].​branding_email_typestringrequired

Type of the branding email template

Enum"email-cancelled""email-rejected""email-reminder""email-reminder-password""email-send""email-send-password""email-signed""email-widget-verify"
Example: "email-cancelled"
branding_emails[].​branding_email_subjectstringrequired

Subject line with variables

Example: "{company name} has cancelled a document"
branding_emails[].​branding_email_contentstringrequired

HTML version of the email template

Example: "<body style=...>...</body>"
branding_emails[].​branding_email_content_plainstringrequired

Plain text version of the email

Example: "{company name} has cancelled the {contract title} document."
branding_emails[].​branding_email_updatedstring(date-time)required

Last updated timestamp (ISO 8601)

Example: "2025-07-01T08:40:38+0000"
Response
application/json
{ "http": 200, "branding_emails": [ { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … } ] }

Request

You can include variables like {company name} and {contract title} in your email body to personalise content. See the full list of supported variables →

Security
basicAuth
Path
branding_email_typestringrequired

The type of branding email to update

Enum"email-cancelled""email-rejected""email-reminder""email-reminder-password""email-send""email-send-password""email-signed""email-widget-verify"
Example: email-cancelled
Bodyapplication/jsonrequired
branding_email_subjectstring

The subject line for the email

Example: "{company name} has cancelled a test document"
branding_email_contentstring

The HTML content of the email

Example: "<body style='font-family:Arial;'>...</body>"
branding_email_content_plainstring

The plain text content of the email

Example: "Your document from {company name} has been cancelled."
curl -i -X PUT \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/branding/emails/email-cancelled \
  -H 'Content-Type: application/json' \
  -d '{
    "branding_email_subject": "{company name} has cancelled a test document",
    "branding_email_content": "<body style=\"font-family:Arial,Helvetica,serif;\">\n<table style=\"background:#FFF;font-family:Arial,Helvetica,sans-serif;border-collpase:collapse;width:600px;margin:0 auto;\">\n    <tr>\n        <td>\n            <table style=\"border-collpase:collapse\">\n                <tr>\n                    <td style=\"padding:15px 10px 10px\">\n                        <a href=\"https://www.signable.co.uk\" style=\"font-size:25px;color:#FFF;letter-spacing:-1px;font-weight:normal\">\n                            <img src=\"{company logo}\" alt=\"{company name}\" style=\"border:0;\" />\n                        </a>\n                    </td>\n                </tr>\n                <tr>\n                    <td style=\"padding-top:10px\">\n                        <h1 style=\"font-size:15px;font-weight:normal;color:#444\">A document previously sent to you has been cancelled</h1>\n                        <p style=\"font-size:13px;color:#444;line-height:18px;padding-top:10px\">\n                          <span style=\"font-weight:bold;\">{company name}</span> has cancelled the <span style=\"font-weight:bold;\">{contract title}</span> document.\n                        </p>\n                        <p style=\"font-size:15px;color:#555;margin-top:30px\">\n                          Kind regards, <a href=\"https://www.signable.co.uk\" style=\"color:#555;\">Signable</a>\n                        </p>\n                        <hr style=\"background:#FFF;color:#FFF;border:none;height:0;border-bottom:1px dotted #CCC;\" />\n                    </td>\n                </tr>\n            </table>\n        </td>\n    </tr>\n</table>\n</body>\n",
    "branding_email_content_plain": "A test document previously sent to you has been cancelled\r\n\r\n{company name} has cancelled the {contract title} document.\r\n\r\nKind regards,\r\nSignable\r\n\r\nhttps://www.signable.co.uk"
  }'

Responses

Branding email successfully updated

Bodyapplication/json
httpintegerrequired
Example: 200
messagestringrequired
Example: "email-cancelled email has been updated."
branding_email_typestringrequired
Enum"email-cancelled""email-rejected""email-reminder""email-reminder-password""email-send""email-send-password""email-signed""email-widget-verify"
Example: null
branding_email_subjectstringrequired
Example: "{company name} has cancelled a test document"
branding_email_contentstringrequired

HTML version of the updated email

Example: "<body style=\"font-family:Arial,Helvetica,sans-serif;\">\n...\n</body>\n"
branding_email_content_plainstringrequired

Plain text version of the updated email

Example: "A document previously sent...\n"
branding_email_updatedstring(date-time)required
Example: "2025-07-02T11:44:32+0000"
Response
application/json
{ "http": 200, "message": "email-cancelled email has been updated.", "branding_email_type": "email-cancelled", "branding_email_subject": "{company name} has cancelled a test document", "branding_email_content": "<body style=\"font-family:Arial,Helvetica,serif;\">\n<table style=\"background:#FFF;font-family:Arial,Helvetica,sans-serif;border-collpase:collapse;width:600px;margin:0 auto;\">\n <tr>\n <td>\n <table style=\"border-collpase:collapse\">\n <tr>\n <td style=\"padding:15px 10px 10px\">\n <a href=\"https://www.signable.co.uk\">\n <img src=\"{company logo}\" alt=\"{company name}\" />\n </a>\n </td>\n </tr>\n <tr>\n <td style=\"padding-top:10px\">\n <h1 style=\"font-size:15px;color:#444;\">A document previously sent to you has been cancelled</h1>\n <p style=\"font-size:13px;color:#444;line-height:18px;padding-top:10px\">\n <strong>{company name}</strong> has cancelled the <strong>{contract title}</strong> document.\n </p>\n <p style=\"font-size:15px;color:#555;margin-top:30px\">Kind regards, <a href=\"https://www.signable.co.uk\" style=\"color:#555;\">Signable</a></p>\n <hr style=\"background:#FFF;color:#FFF;border:none;height:0;border-bottom:1px dotted #CCC;\" />\n </td>\n </tr>\n </table>\n </td>\n </tr>\n</table>\n</body>\n", "branding_email_content_plain": "A test document previously sent to you has been cancelled\r\n\r\n{company name} has cancelled the {contract title} document.\r\n\r\nKind regards,\r\nSignable\r\n\r\nhttps://www.signable.co.uk", "branding_email_updated": "2025-07-02T11:44:32+0000" }

Settings

Configure account-wide preferences and defaults.

Operations

Webhooks

Receive real-time notifications about document events.

OperationsWebhooks