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

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" }

Request

Deletes the webhook identified by webhook_id. Once removed, the webhook will no longer receive event notifications.

Security
basicAuth
Path
webhook_idintegerrequired

The ID of the webhook to delete

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

Responses

Webhook successfully deleted

Bodyapplication/json
httpintegerrequired

HTTP status code

Example: 200
messagestringrequired

Descriptive message confirming the webhook was removed

Example: "The webhook (https://abby-example.com) has been removed from your account."
webhook_idintegerrequired

Unique identifier of the deleted webhook

Example: 152691
webhook_urlstring(uri)required

The URL of the deleted webhook

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

Type of event the deleted webhook was subscribed to

Enum"send-envelope""signed-envelope""cancelled-envelope""rejected-envelope""bounced-envelope""add-user""add-contact""opened-envelope""add-template""all"
Example: "all"
Response
application/json
{ "http": 200, "message": "The webhook (https://abby-example.com) has been removed from your account.", "webhook_id": 152691, "webhook_url": "https://abby-example.com", "webhook_type": "all" }