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

Settings

Configure account-wide preferences and defaults.

Operations

Webhooks

Receive real-time notifications about document events.

OperationsWebhooks

Request

Registers a new webhook that will be triggered when a specific event occurs. You must provide a valid webhook_url and a supported webhook_type. The created webhook will immediately be eligible to receive matching notifications.

Security
basicAuth
Bodyapplication/jsonrequired
webhook_urlstring(uri)required

The callback URL where webhook events will be sent.

Example: "https://example.com"
webhook_typestringrequired

The event type to subscribe to.

Enum"send-envelope""signed-envelope""cancelled-envelope""rejected-envelope""bounced-envelope""add-user""add-contact""opened-envelope""add-template""all"
Example: "send-envelope"
curl -i -X POST \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/webhooks \
  -H 'Content-Type: application/json' \
  -d '{
    "webhook_url": "https://example.com/webhook",
    "webhook_type": "send-envelope"
  }'

Responses

Webhook successfully created

Headers
Locationstring(uri)

The URL of the newly created webhook resource

Bodyapplication/json
httpintegerrequired

HTTP status code

Example: 200
messagestringrequired

Confirmation message about the webhook creation

Example: "The webhook (https://example.com) has been created"
hrefstring(uri)required

API resource URL for the newly created webhook

Example: "https://api.signable.co.uk/v1/webhooks/152691"
webhook_idstringrequired

Unique identifier for the created webhook

Example: "152691"
webhook_urlstring(uri)required

The callback URL registered for the webhook

Example: "https://example.com"
webhook_typestringrequired

The event type the webhook is subscribed to

Enum"send-envelope""signed-envelope""cancelled-envelope""rejected-envelope""bounced-envelope""add-user""add-contact""opened-envelope""add-template""all"
Example: "all"
webhook_createdstring(date-time)required

The timestamp when the webhook was created

Example: "2025-06-23T17:15:01+0000"
Response
application/json
{ "http": 200, "message": "The webhook (https://example.com) has been created", "href": "https://api.signable.co.uk/v1/webhooks/152691", "webhook_id": "152691", "webhook_url": "https://example.com", "webhook_type": "all", "webhook_created": "2025-06-23T17:15:01+0000" }

Request

Retrieves details of a specific webhook by its unique webhook_id. The response includes the current status and metadata of the webhook.

Security
basicAuth
Path
webhook_idintegerrequired

The ID of the webhook to retrieve

Example: 152691
curl -i -X GET \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/webhooks/152691

Responses

Webhook details returned successfully

Bodyapplication/json
httpintegerrequired

HTTP status code

Example: 200
webhook_idintegerrequired

Unique identifier of the webhook

Example: 152691
webhook_urlstring(uri)required

The URL to which webhook events are sent

Example: "https://example.com"
webhook_typestringrequired

Type of event the webhook listens for

Enum"send-envelope""signed-envelope""cancelled-envelope""rejected-envelope""bounced-envelope""add-user""add-contact""opened-envelope""add-template""all"
Example: "all"
webhook_createdstring(date-time)required

Timestamp when the webhook was created

Example: "2025-06-23T17:15:01+0000"
webhook_updatedstring or nullrequired

Timestamp when the webhook was last updated

Example: null
Any of:

Timestamp when the webhook was last updated

string(date-time)

Timestamp when the webhook was last updated

webhook_suspendedboolean or nullrequired

Whether the webhook is currently suspended

Example: null
Any of:

Whether the webhook is currently suspended

boolean

Whether the webhook is currently suspended

Response
application/json
{ "http": 200, "webhook_id": 152691, "webhook_url": "https://example.com", "webhook_type": "all", "webhook_created": "2025-06-23T17:15:01+0000", "webhook_updated": null, "webhook_suspended": null }

Request

Updates the webhook identified by webhook_id. You may change thewebhook_url and/or the webhook_type.

Security
basicAuth
Path
webhook_idintegerrequired

The ID of the webhook to update

Example: 152691
Bodyapplication/jsonrequired
webhook_urlstring(uri)required

The callback URL where webhook events will be sent.

Example: "https://example.com"
webhook_typestringrequired

The event type to subscribe to.

Enum"send-envelope""signed-envelope""cancelled-envelope""rejected-envelope""bounced-envelope""add-user""add-contact""opened-envelope""add-template""all"
Example: "send-envelope"
curl -i -X PUT \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/webhooks/152691 \
  -H 'Content-Type: application/json' \
  -d '{
    "webhook_url": "https://example.com/webhook",
    "webhook_type": "send-envelope"
  }'

Responses

Webhook updated successfully

Bodyapplication/json
httpintegerrequired
Example: 200
messagestringrequired
Example: "The webhook with ID 152691 has been updated"
hrefstring(uri)required
Example: "https://api.signable.co.uk/v1/webhooks/152691"
webhook_idintegerrequired
Example: 152691
webhook_urlstring(uri)required
Example: "https://abby-example.com"
webhook_typestringrequired
Enum"send-envelope""signed-envelope""cancelled-envelope""rejected-envelope""bounced-envelope""add-user""add-contact""opened-envelope""add-template""all"
Example: "all"
webhook_updatedstring(date-time)required
Example: "2025-06-24T09:32:55+0000"
Response
application/json
{ "http": 200, "message": "The webhook with ID 152691 has been updated", "href": "https://api.signable.co.uk/v1/webhooks/152691", "webhook_id": 152691, "webhook_url": "https://abby-example.com", "webhook_type": "all", "webhook_updated": "2025-06-24T09:32:55+0000" }