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

Request

Returns a paginated list of sub-accounts associated with the Partner account.

This endpoint is only available to Signable Partners.

Security
basicAuth
Query
offsetinteger

The index of the first envelope to retrieve.

Default 0
Example: offset=0
limitinteger[ 1 .. 50 ]

The maximum number of envelopes to return. If more than 50 is requested, 10 will be returned instead.

Default 10
curl -i -X GET \
  -u <username>:<password> \
  'https://developers.signable.app/_mock/openapi/companies?offset=0&limit=10'

Responses

Successful response containing a list of sub-accounts.

Bodyapplication/json
httpintegerrequired

HTTP status code indicating the result of the API request.

Example: 200
offsetintegerrequired

The number of items skipped before starting to collect the result set.

Example: 0
limitintegerrequired

The maximum number of sub-accounts returned in the current response.

Example: 10
total_companiesstringrequired

The total number of sub-accounts available to the authenticated Partner.

Example: "2"
companiesArray of objects(Company)required

A list of sub-accounts returned in the current response.

companies[].​company_idstringrequired

Unique identifier for the sub-account.

Example: "196735"
companies[].​company_namestringrequired

The display name of the sub-account.

Example: "ExampleSubAccount_1"
companies[].​company_emailstring(email)required

The registered email address associated with the sub-account.

Example: "abby+1@signable.co.uk"
companies[].​company_api_keystringrequired

The API key used to authenticate as this sub-account.

Example: "9c66b129752046***********"
companies[].​company_createdstring(date-time)required

The date and time when the sub-account was created.

Example: "2024-09-03T09:03:12+0000"
Response
application/json
{ "http": 200, "offset": 0, "limit": 10, "total_companies": "2", "companies": [ { … }, { … } ] }

Request

Creates a new sub-account under the Partner account.

This endpoint is only available to Signable Partners.

Security
basicAuth
Bodyapplication/jsonrequired
company_namestringrequired

The name of the new sub-account.

Example: "Example Inc"
user_namestringrequired

The full name of the initial user for the sub-account.

Example: "Abby Signs"
user_emailstring(email)required

The email address of the user to be created within the sub-account.

Example: "abby@example.com"
curl -i -X POST \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/companies \
  -H 'Content-Type: application/json' \
  -d '{
    "company_name": "Example Inc",
    "user_name": "Abby Signs",
    "user_email": "abby@example.com"
  }'

Responses

Sub-account successfully created.

Bodyapplication/json
httpintegerrequired

HTTP status code indicating the result of the request.

Example: 200
messagestringrequired

A confirmation message.

Example: "Example Inc has been added as a company"
hrefstring(uri)required

URL to the newly created sub-account resource.

Example: "https://api.signable.co.uk/v1/companies/214821"
company_idstringrequired

Unique identifier of the newly created sub-account.

Example: "214821"
company_namestringrequired

Name of the newly created sub-account.

Example: "Example Inc"
company_emailstring(email)required

Registered email address for the sub-account.

Example: "abby@example.com"
api_keystringrequired

API key associated with the sub-account.

Example: "9c66b129752046***********"
user_idstringrequired

ID of the user created within the sub-account.

Example: "838931"
user_namestringrequired

Full name of the user created in the sub-account.

Example: "Abby Signs"
user_emailstring(email)required

Email address of the created user.

Example: "abby@example.com"
user_hrefstring(uri)required

URL to the created user resource.

Example: "https://api.signable.co.uk/v1/users/838931"
company_addedstring(date-time)required

Timestamp when the sub-account was created.

Example: "2025-07-21T08:16:51+0000"
Response
application/json
{ "http": 200, "message": "Example Inc has been added as a company", "href": "https://api.signable.co.uk/v1/companies/214821", "company_id": "214821", "company_name": "Example Inc", "company_email": "abby@example.com", "api_key": "9c66b129752046***********", "user_id": "838931", "user_name": "Abby Signs", "user_email": "abby@example.com", "user_href": "https://api.signable.co.uk/v1/users/838931", "company_added": "2025-07-21T08:16:51+0000" }

Request

Returns details about a specific sub-account associated with the Partner account.

This endpoint is only available to Signable Partners.

Security
basicAuth
Path
company_idstringrequired

Unique identifier of the sub-account.

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

Responses

Details of the requested sub-account.

Bodyapplication/json
httpintegerrequired

HTTP status code of the response.

Example: 200
company_idstringrequired

Unique identifier for the sub-account.

Example: "196735"
company_namestringrequired

The display name of the sub-account.

Example: "ExampleSubAccount_1"
company_emailstring(email)required

The registered email address associated with the sub-account.

Example: "abby+1@signable.co.uk"
company_api_keystringrequired

The API key used to authenticate as this sub-account.

Example: "9c66b129752046***********"
company_createdstring(date-time)required

The date and time when the sub-account was created.

Example: "2024-09-03T09:03:12+0000"
company_usageArray of objects(CompanyUsage)required

Monthly usage summary for the sub-account.

company_usage[].​monthstring

The calendar month this usage relates to.

Example: "July"
company_usage[].​yearstring

The year this usage relates to.

Example: "2025"
company_usage[].​sentstring

The number of documents sent during the specified month.

Example: "1"
Response
application/json
{ "http": 200, "company_id": 196735, "company_name": "ExampleSubAccount_1", "company_email": "abby+1@signable.co.uk", "company_api_key": "9c66b129752046***********", "company_created": "2024-09-03T09:03:12+0000", "company_usage": [ { … } ] }

Request

Updates details of a specific sub-account associated with the authenticated Partner account.

This endpoint is only available to Signable Partners.

Security
basicAuth
Path
company_idstringrequired

Unique identifier of the sub-account to update.

Example: 214821
Bodyapplication/jsonrequired
Any of:

Payload to update a sub-account. At least one property must be provided.

company_namestringrequired

New name of the sub-account.

Example: "Apple Tree Ltd"
company_emailstring(email)

New email address of the sub-account.

Example: "abby@appletree.com"
curl -i -X PUT \
  -u <username>:<password> \
  https://developers.signable.app/_mock/openapi/companies/214821 \
  -H 'Content-Type: application/json' \
  -d '{
    "company_name": "Apple Tree Ltd",
    "company_email": "abby@appletree.com"
  }'

Responses

Sub-account updated successfully.

Bodyapplication/json
httpintegerrequired

HTTP status code indicating the result of the request.

Example: 200
messagestringrequired

Confirmation message indicating the update was successful.

Example: "Apple Tree Ltd has been updated."
hrefstring(uri)required

URL to the updated sub-account resource.

Example: "https://api.signable.co.uk/v1/company/214821"
company_idintegerrequired

Unique identifier of the updated sub-account.

Example: 214821
company_namestringrequired

Updated name of the sub-account.

Example: "Apple Tree Ltd"
company_emailstring(email)required

Updated email address of the sub-account.

Example: "abby@appletree.com"
company_updatedstring(date-time)required

Timestamp of when the sub-account was last updated.

Example: "2025-07-21T08:30:27+0000"
Response
application/json
{ "http": 200, "message": "Apple Tree Ltd has been updated.", "href": "https://api.signable.co.uk/v1/company/214821", "company_id": 214821, "company_name": "Apple Tree Ltd", "company_email": "abby@appletree.com", "company_updated": "2025-07-21T08:30:27+0000" }

Request

Permanently deletes a sub-account (company) from the Partner account.

This operation is irreversible and can only be performed by Signable Partners.

Security
basicAuth
Path
company_idstringrequired

Unique identifier of the sub-account to delete.

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

Responses

Sub-account deleted successfully.

Bodyapplication/json
httpintegerrequired

HTTP status code indicating the result of the request.

Example: 200
messagestringrequired

Confirmation message indicating that the sub-account has been deleted.

Example: "Apple Tree Ltd has been removed."
company_idstringrequired

Identifier of the deleted sub-account.

Example: "214821"
company_namestringrequired

Name of the deleted sub-account.

Example: "Apple Tree Ltd"
company_emailstring(email)required

Email address of the deleted sub-account.

Example: "abby@appletree.com"
Response
application/json
{ "http": 200, "message": "Apple Tree Ltd has been removed.", "company_id": 214821, "company_name": "Apple Tree Ltd", "company_email": "abby@appletree.com" }

Request

Retrieves usage data for all sub-accounts under a Partner account, including current and previous period comparisons.

This endpoint is only available to Signable Partners.

Security
basicAuth
Query
offsetinteger

The index of the first envelope to retrieve.

Default 0
Example: offset=0
limitinteger[ 1 .. 50 ]

The maximum number of envelopes to return. If more than 50 is requested, 10 will be returned instead.

Default 10
curl -i -X GET \
  -u <username>:<password> \
  'https://developers.signable.app/_mock/openapi/usage?offset=0&limit=10'

Responses

Usage data successfully returned.

Bodyapplication/json
httpintegerrequired

HTTP status code of the response.

Example: 200
offsetintegerrequired

Number of sub-accounts skipped before the returned result set.

Example: 0
limitintegerrequired

Maximum number of sub-accounts returned in the response.

Example: 10
total_companiesstringrequired

Total number of sub-accounts available.

Example: "2"
current_start_datestring(date-time)required

Start of the current reporting period.

Example: "2024-12-01T00:00:00+0000"
current_end_datestring(date-time)required

End of the current reporting period.

Example: "2025-01-01T00:00:00+0000"
previous_start_datestring(date-time)required

Start of the previous reporting period.

Example: "2024-11-01T00:00:00+0000"
previous_end_datestring(date-time)required

End of the previous reporting period.

Example: "2024-12-01T00:00:00+0000"
companiesArray of objects(PartnerUsageSummary)required

List of usage stats per sub-account.

companies[].​company_idstringrequired

Unique identifier of the sub-account.

Example: "196735"
companies[].​company_namestringrequired

Name of the sub-account.

Example: "ExampleSubAccount_1"
companies[].​current_usagestringrequired

Number of documents sent in the current reporting period.

Example: "1"
companies[].​previous_usagestringrequired

Number of documents sent in the previous reporting period.

Example: "6"
companies[].​company_createdstring(date-time)required

Timestamp when the sub-account was created.

Example: "2024-09-03T09:03:12+0000"
Response
application/json
{ "http": 200, "offset": 0, "limit": 10, "total_companies": "2", "current_start_date": "2025-07-01T00:00:00+0000", "current_end_date": "2025-08-01T00:00:00+0000", "previous_start_date": "2025-06-01T00:00:00+0000", "previous_end_date": "2025-07-01T00:00:00+0000", "companies": [ { … }, { … } ] }

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