### Get Template
Source: https://developers.signable.app/openapi/templates
Retrieves metadata and configuration for a single template.
```APIDOC
## GET /templates/{template_fingerprint}
### Description
Retrieves metadata and configuration for a single template.
### Method
GET
### Endpoint
/templates/{template_fingerprint}
### Parameters
#### Path Parameters
- **template_fingerprint** (string) - Required - The unique identifier of the template to retrieve.
### Request Example
```json
{
"example": ""
}
```
### Response
#### Success Response (200)
- **fingerprint** (string) - The unique identifier for the template.
- **name** (string) - The name of the template.
- **config** (object) - The template configuration details.
#### Response Example
```json
{
"fingerprint": "tpl_abc123",
"name": "Standard Contract",
"config": {
"fields": [
{
"name": "signature_field_1",
"type": "signature"
}
]
}
}
```
```
--------------------------------
### GET /v1/settings
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves all account-wide preferences for signatures, emails, and signing behavior.
```APIDOC
## Get company settings
### Description
Retrieves all account-wide preferences for signatures, emails, and signing behavior.
### Method
GET
### Endpoint
`/v1/settings`
### Response
#### Success Response (200)
- **http** (integer) - The HTTP status code.
- **company_id** (string) - The company ID.
- **company_name** (string) - The company name.
- **setting_signature_more_info** (boolean) - Whether to request more signature information.
- **setting_signature_format_default** (string) - The default signature format (e.g., "typed", "drawn").
- **setting_signature_format_accepted** (string) - Accepted signature formats, comma-separated (e.g., "typed,drawn,upload").
- **setting_email_pdf_attach** (boolean) - Whether to attach a PDF of the document to emails.
- **setting_email_pdf_attach_sender** (boolean) - Whether to attach a PDF to the sender's email.
- **setting_email_envelope_open** (boolean) - Whether to send an email when an envelope is opened.
- **setting_email_main_email** (boolean) - Whether to send main emails.
- **setting_email_return_address_user** (boolean) - Whether to use the user's return address.
- **setting_signing_consumer_regulations_act** (boolean) - Whether to comply with consumer regulations act.
- **setting_signing_questions** (boolean) - Whether to show signing questions.
- **setting_pdf_audit_trail_hide** (boolean) - Whether to hide the PDF audit trail.
- **setting_all_at_once_default** (boolean) - Default setting for "all at once" signing.
- **setting_signing_tooltips** (boolean) - Whether to show signing tooltips.
#### Response Example
```json
{
"http": 200,
"company_id": "32275",
"company_name": "Acme Corp",
"setting_signature_more_info": true,
"setting_signature_format_default": "typed",
"setting_signature_format_accepted": "typed,drawn,upload",
"setting_email_pdf_attach": true,
"setting_email_pdf_attach_sender": true,
"setting_email_envelope_open": true,
"setting_email_main_email": true,
"setting_email_return_address_user": false,
"setting_signing_consumer_regulations_act": false,
"setting_signing_questions": true,
"setting_pdf_audit_trail_hide": false,
"setting_all_at_once_default": true,
"setting_signing_tooltips": true
}
```
```
--------------------------------
### List Envelopes with Filtering using cURL
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Illustrates how to retrieve a paginated list of envelopes using cURL with GET requests. Examples show filtering by status (e.g., 'sent'), searching by title ('q' parameter), and controlling the number of results with 'limit' and 'offset'. Authentication is handled via HTTP Basic Auth.
```bash
# List all sent envelopes
curl -X GET "https://api.signable.co.uk/v1/envelopes?status=sent&limit=25&offset=0" \
-u "your-api-key:x"
# Search envelopes by title
curl -X GET "https://api.signable.co.uk/v1/envelopes?q=Employment&limit=10" \
-u "your-api-key:x"
```
--------------------------------
### Get Branding Settings
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves the current company branding configuration, including the logo URL and primary color. Requires an API key for authentication.
```bash
curl -X GET https://api.signable.co.uk/v1/branding \
-u "your-api-key:x"
```
--------------------------------
### GET /v1/webhooks
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves all registered webhooks with their configuration and status. Supports pagination via limit and offset query parameters.
```APIDOC
## List webhooks
### Description
Retrieves all registered webhooks with their configuration and status.
### Method
GET
### Endpoint
`/v1/webhooks`
### Parameters
#### Query Parameters
- **limit** (integer) - Optional - The maximum number of webhooks to return.
- **offset** (integer) - Optional - The number of webhooks to skip before returning results.
### Response
#### Success Response (200)
[Details of the response structure for listing webhooks would go here, typically an array of webhook objects.]
#### Response Example
```json
{
"http": 200,
"webhooks": [
{
"webhook_id": "152691",
"webhook_url": "https://api.company.com/webhooks/signable",
"webhook_type": "signed-envelope-complete",
"webhook_created": "2025-06-23T17:15:01+0000"
}
// ... more webhooks
]
}
```
```
--------------------------------
### GET /v1/branding
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves the current company branding configuration, including logo and primary color.
```APIDOC
## Get branding settings
### Description
Retrieves current company branding configuration including logo and primary color.
### Method
GET
### Endpoint
`/v1/branding`
### Response
#### Success Response (200)
- **http** (integer) - The HTTP status code.
- **branding_logo** (string) - The URL of the company logo.
- **branding_colour** (string) - The primary branding color in hex format.
#### Response Example
```json
{
"http": 200,
"branding_logo": "https://assets.signable.co.uk/company-logo/213690-1751360856.png",
"branding_colour": "#558CAA"
}
```
```
--------------------------------
### Get Company Settings
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves all account-wide preferences for signatures, emails, and signing behavior. This includes settings related to audit trails, default formats, and notifications.
```bash
curl -X GET https://api.signable.co.uk/v1/settings \
-u "your-api-key:x"
```
--------------------------------
### Get Partner Sub-account Details
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Fetches detailed information for a specific sub-account using its company ID. This endpoint is intended for Partners and requires their API key for authentication.
```bash
# Get sub-account
curl -X GET https://api.signable.co.uk/v1/companies/214821 \
-u "partner-api-key:x"
```
--------------------------------
### Create a Partner Sub-account
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Creates a new sub-account under a Partner account. This endpoint requires a partner API key and accepts company and initial user details in JSON format.
```bash
# Create sub-account
curl -X POST https://api.signable.co.uk/v1/companies \
-u "partner-api-key:x" \
-H "Content-Type: application/json" \
-d '{
"company_name": "Client Corp Ltd",
"user_name": "Sarah Johnson",
"user_email": "sarah@clientcorp.com"
}'
```
--------------------------------
### List Templates
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves a list of all reusable document templates available in the account, including details like merge fields and widget URLs. Supports pagination through limit and offset parameters. Requires API key for authentication.
```bash
# Get all templates with pagination
curl -X GET "https://api.signable.co.uk/v1/templates?limit=10&offset=0" \
-u "your-api-key:x"
# Response 200 OK
{
"http": 200,
"offset": 0,
"limit": 10,
"total_templates": "1",
"templates": [
{
"template_id": "53690003",
"template_fingerprint": "b786a173554cc06371248caf0b250704",
"template_title": "NDA Agreement",
"template_page_total": "1",
"template_in_progress": "3",
"template_parties_total": "1",
"template_widget_url": "https://sign.signable.app/#/widget/VG7Tsd3y6X",
"template_widget_embed": "",
"template_pdf_url": "https://docs.signable.co.uk/original/b786a173554cc06371248caf0b250704.pdf",
"template_uploaded": "2025-07-01T08:40:38+0000",
"template_parties": [
{
"party_id": "20459705",
"party_name": "Signer",
"party_merge_fields": [
{
"field_id": "450927743",
"field_merge": "Company Name",
"field_type": "text"
}
]
}
]
}
]
}
```
--------------------------------
### Get a Contact
Source: https://developers.signable.app/openapi/contacts
Retrieves details of a single contact by their ID.
```APIDOC
## GET /contacts/{contact_id}
### Description
Retrieves details of a single contact by their ID.
### Method
GET
### Endpoint
/contacts/{contact_id}
### Parameters
#### Path Parameters
- **contact_id** (string) - Required - The unique identifier of the contact.
### Request Example
```
GET /contacts/123e4567-e89b-12d3-a456-426614174000
```
### Response
#### Success Response (200)
- **id** (string) - The unique identifier of the contact.
- **name** (string) - The name of the contact.
- **email** (string) - The email address of the contact.
#### Response Example
```json
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "John Doe",
"email": "john.doe@example.com"
}
```
```
--------------------------------
### Settings API
Source: https://developers.signable.app/openapi/.md
Endpoints for configuring account-wide preferences and defaults.
```APIDOC
## GET /settings
### Description
Your Signable account settings control how documents are delivered, signed, and managed across your team. This section of the API lets you retrieve and update your company's signing preferences, email notification rules, signature formats, and more—giving you full control over how your documents behave. Settings can be accessed via the API or in the Signable web app under Company Settings > Preferences.
### Method
GET
### Endpoint
/settings
### Parameters
(No parameters)
### Request Example
(No request body for GET)
### Response
#### Success Response (200)
- (Details of company settings)
#### Response Example
```json
{
"default_document_delivery": "email",
"signature_format": "drawn",
"email_notifications": {
"document_completed": true
}
}
```
## PUT /settings
### Description
Update your company's signing preferences, email notification rules, signature formats, and more.
### Method
PUT
### Endpoint
/settings
### Parameters
#### Request Body
- **default_document_delivery** (string) - Optional - The default method for document delivery.
- **signature_format** (string) - Optional - The default signature format.
- **email_notifications** (object) - Optional - Object containing email notification preferences.
- **document_completed** (boolean) - Optional - Whether to send notifications when a document is completed.
### Request Example
```json
{
"signature_format": "typed",
"email_notifications": {
"document_completed": false
}
}
```
### Response
#### Success Response (200)
- (Updated company settings)
#### Response Example
```json
{
"default_document_delivery": "email",
"signature_format": "typed",
"email_notifications": {
"document_completed": false
}
}
```
```
--------------------------------
### List Webhooks
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves all registered webhooks with their configuration and status. Supports pagination using `limit` and `offset` query parameters.
```bash
curl -X GET "https://api.signable.co.uk/v1/webhooks?limit=10&offset=0" \
-u "your-api-key:x"
```
--------------------------------
### GET /branding/emails
Source: https://developers.signable.app/openapi/branding
Lists all available branding email types.
```APIDOC
## GET /branding/emails
### Description
Lists all available branding email types.
### Method
GET
### Endpoint
/branding/emails
### Parameters
#### Query Parameters
None
#### Request Body
None
### Request Example
None
### Response
#### Success Response (200)
- **email_types** (array) - A list of available branding email types.
#### Response Example
```json
{
"email_types": [
"welcome",
"invitation",
"reminder"
]
}
```
```
--------------------------------
### POST /v1/companies
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Creates a new sub-account under a Partner account with an initial user (Partners only).
```APIDOC
## Create a Partner sub-account
Creates a new sub-account under a Partner account with an initial user (Partners only).
### Method
POST
### Endpoint
/v1/companies
### Parameters
#### Request Body
- **company_name** (string) - Required - The name of the new sub-account company.
- **user_name** (string) - Required - The name of the initial user for the sub-account.
- **user_email** (string) - Required - The email address of the initial user.
### Request Example
```bash
# Create sub-account
curl -X POST https://api.signable.co.uk/v1/companies \
-u "partner-api-key:x" \
-H "Content-Type: application/json" \
-d '{
"company_name": "Client Corp Ltd",
"user_name": "Sarah Johnson",
"user_email": "sarah@clientcorp.com"
}'
```
### Response
#### Success Response (200)
- **http** (integer) - The HTTP status code.
- **message** (string) - A confirmation message indicating the company has been added.
- **href** (string) - A URL pointing to the newly created company resource.
- **company_id** (string) - The unique identifier for the new sub-account.
- **company_name** (string) - The name of the new sub-account.
- **company_email** (string) - The email associated with the new sub-account.
- **api_key** (string) - The API key for the new sub-account.
- **user_id** (string) - The unique identifier for the initial user.
- **user_name** (string) - The name of the initial user.
- **user_email** (string) - The email address of the initial user.
- **user_href** (string) - A URL pointing to the newly created user resource.
- **company_added** (string) - The timestamp when the company was added.
#### Response Example
```json
{
"http": 200,
"message": "Client Corp Ltd has been added as a company",
"href": "https://api.signable.co.uk/v1/companies/214821",
"company_id": "214821",
"company_name": "Client Corp Ltd",
"company_email": "sarah@clientcorp.com",
"api_key": "9c66b129752046***********",
"user_id": "838931",
"user_name": "Sarah Johnson",
"user_email": "sarah@clientcorp.com",
"user_href": "https://api.signable.co.uk/v1/users/838931",
"company_added": "2025-07-21T08:16:51+0000"
}
```
```
--------------------------------
### Get Envelope Details with History using cURL
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Demonstrates how to fetch detailed information for a specific envelope using its unique fingerprint. This GET request retrieves comprehensive data including parties, documents, signatures, and the audit trail. Authentication is performed using HTTP Basic Auth.
```bash
# Get detailed envelope data
curl -X GET https://api.signable.co.uk/v1/envelopes/584ea8b41b0d4c17a96b967433b211e6 \
-u "your-api-key:x"
```
--------------------------------
### GET /contacts/{contact_id}
Source: https://developers.signable.app/openapi/contacts/getcontact
Retrieves details of a single contact by their unique ID.
```APIDOC
## GET /contacts/{contact_id}
### Description
Retrieves details of a single contact by their unique ID.
### Method
GET
### Endpoint
/contacts/{contact_id}
### Parameters
#### Path Parameters
- **contact_id** (integer) - Required - The unique ID of the contact
Example: 17224150
### Response
#### Success Response (200)
- **http** (integer) - Example: 200
- **contact_id** (integer) - Example: 17224150
- **contact_name** (string) - Example: "Hanz Zimmer"
- **contact_email** (string) - Example: "hanz.zimmer@music.com"
- **contact_outstanding_documents** (string) - Example: "0"
- **contact_created** (string) - Example: "2025-07-07T09:57:39+0000"
#### Response Example
```json
{
"http": 200,
"contact_id": 17224150,
"contact_name": "Hanz Zimmer",
"contact_email": "hanz.zimmer@music.com",
"contact_outstanding_documents": "0",
"contact_created": "2025-07-07T09:57:39+0000"
}
```
```
--------------------------------
### GET /v1/webhooks/{webhook_id}
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves configuration for a specific webhook.
```APIDOC
## Get webhook details
Retrieves configuration for a specific webhook.
### Method
GET
### Endpoint
/v1/webhooks/{webhook_id}
### Parameters
#### Path Parameters
- **webhook_id** (string) - Required - The unique identifier of the webhook to retrieve.
### Request Example
```bash
# Get single webhook
curl -X GET https://api.signable.co.uk/v1/webhooks/152691 \
-u "your-api-key:x"
```
### Response
#### Success Response (200)
- **http** (integer) - The HTTP status code.
- **webhook_id** (string) - The unique identifier for the webhook.
- **webhook_url** (string) - The URL where webhook notifications will be sent.
- **webhook_type** (string) - The type of event that triggers the webhook.
- **webhook_suspended** (boolean) - Indicates if the webhook is currently suspended.
- **webhook_created** (string) - The timestamp when the webhook was created.
#### Response Example
```json
{
"http": 200,
"webhook_id": "152691",
"webhook_url": "https://api.company.com/webhooks/signable",
"webhook_type": "signed-envelope-complete",
"webhook_suspended": false,
"webhook_created": "2025-06-23T17:15:01+0000"
}
```
```
--------------------------------
### List Partner Sub-accounts
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves a list of all sub-accounts associated with a Partner account. Supports pagination using `limit` and `offset` query parameters. Requires a partner API key.
```bash
# List sub-accounts
curl -X GET "https://api.signable.co.uk/v1/companies?limit=25&offset=0" \
-u "partner-api-key:x"
```
--------------------------------
### Partners API
Source: https://developers.signable.app/openapi/index
Manage partner integrations and sub-accounts.
```APIDOC
## GET /companies
### Description
Returns a paginated list of sub-accounts associated with the Partner account.
This endpoint is only available to Signable Partners.
### Method
GET
### Endpoint
/companies
### Parameters
#### Query Parameters
- **page** (integer) - Optional - The page number to retrieve.
- **per_page** (integer) - Optional - The number of items to return per page.
### Request Example
```
GET /companies?page=1&per_page=10
```
### Response
#### Success Response (200)
- **sub_accounts** (array) - A list of sub-account objects.
- **id** (integer) - The unique identifier for the sub-account.
- **name** (string) - The name of the sub-account.
#### Response Example
```json
{
"sub_accounts": [
{
"id": 123,
"name": "Example Company"
}
]
}
```
```
```APIDOC
## POST /companies
### Description
Creates a new sub-account under the Partner account.
This endpoint is only available to Signable Partners.
### Method
POST
### Endpoint
/companies
### Parameters
#### Request Body
- **name** (string) - Required - The name of the new sub-account.
### Request Example
```json
{
"name": "New Sub-Account"
}
```
### Response
#### Success Response (201)
- **id** (integer) - The unique identifier for the newly created sub-account.
- **name** (string) - The name of the new sub-account.
#### Response Example
```json
{
"id": 456,
"name": "New Sub-Account"
}
```
```
```APIDOC
## GET /companies/{company_id}
### Description
Returns details about a specific sub-account associated with the Partner account.
This endpoint is only available to Signable Partners.
### Method
GET
### Endpoint
/companies/{company_id}
### Parameters
#### Path Parameters
- **company_id** (integer) - Required - The ID of the sub-account to retrieve.
### Request Example
```
GET /companies/123
```
### Response
#### Success Response (200)
- **id** (integer) - The unique identifier for the sub-account.
- **name** (string) - The name of the sub-account.
#### Response Example
```json
{
"id": 123,
"name": "Example Company"
}
```
```
```APIDOC
## PUT /companies/{company_id}
### Description
Updates details of a specific sub-account associated with the authenticated Partner account.
This endpoint is only available to Signable Partners.
### Method
PUT
### Endpoint
/companies/{company_id}
### Parameters
#### Path Parameters
- **company_id** (integer) - Required - The ID of the sub-account to update.
#### Request Body
- **name** (string) - Optional - The new name for the sub-account.
### Request Example
```json
{
"name": "Updated Company Name"
}
```
### Response
#### Success Response (200)
- **id** (integer) - The unique identifier for the sub-account.
- **name** (string) - The updated name of the sub-account.
#### Response Example
```json
{
"id": 123,
"name": "Updated Company Name"
}
```
```
```APIDOC
## DELETE /companies/{company_id}
### Description
Permanently deletes a sub-account (company) from the Partner account.
This operation is irreversible and can only be performed by Signable Partners.
### Method
DELETE
### Endpoint
/companies/{company_id}
### Parameters
#### Path Parameters
- **company_id** (integer) - Required - The ID of the sub-account to delete.
### Request Example
```
DELETE /companies/123
```
### Response
#### Success Response (204)
No content.
```
```APIDOC
## GET /usage
### Description
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.
### Method
GET
### Endpoint
/usage
### Parameters
#### Query Parameters
- **period** (string) - Optional - Specifies the period for usage data (e.g., 'current', 'previous').
### Request Example
```
GET /usage?period=current
```
### Response
#### Success Response (200)
- **usage_data** (array) - An array of usage data objects for each sub-account.
- **company_id** (integer) - The ID of the sub-account.
- **current_period_usage** (integer) - Usage in the current period.
- **previous_period_usage** (integer) - Usage in the previous period.
#### Response Example
```json
{
"usage_data": [
{
"company_id": 123,
"current_period_usage": 50,
"previous_period_usage": 45
}
]
}
```
```
--------------------------------
### GET /v1/companies/{company_id}
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Retrieves specific sub-account information (Partners only).
```APIDOC
## Get Partner sub-account details
Retrieves specific sub-account information (Partners only).
### Method
GET
### Endpoint
/v1/companies/{company_id}
### Parameters
#### Path Parameters
- **company_id** (string) - Required - The unique identifier of the sub-account to retrieve.
### Request Example
```bash
# Get sub-account
curl -X GET https://api.signable.co.uk/v1/companies/214821 \
-u "partner-api-key:x"
```
### Response
#### Success Response (200)
- **http** (integer) - The HTTP status code.
- **company_id** (string) - The unique identifier for the sub-account.
- **company_name** (string) - The name of the sub-account.
- **company_email** (string) - The email associated with the sub-account.
- **company_created** (string) - The timestamp when the sub-account was created.
- **company_plan** (string) - The subscription plan for the sub-account.
- **company_users** (integer) - The number of users in the sub-account.
- **company_api_key** (string) - The API key for the sub-account.
#### Response Example
```json
{
"http": 200,
"company_id": "214821",
"company_name": "Client Corp Ltd",
"company_email": "sarah@clientcorp.com",
"company_created": "2025-07-21T08:16:51+0000",
"company_plan": "basic",
"company_users": 1,
"company_api_key": "9c66b129752046***********"
}
```
```
--------------------------------
### Get Envelope Details
Source: https://developers.signable.app/openapi/envelopes/getenvelope
Fetches the complete details of a specified envelope using its unique identifier.
```APIDOC
## GET /envelopes/{envelope_fingerprint}
### Description
Returns the full details of a specific envelope, including document data, party information, field data, and envelope history.
### Method
GET
### Endpoint
/envelopes/{envelope_fingerprint}
### Parameters
#### Path Parameters
- **envelope_fingerprint** (string) - Required - Unique identifier of the envelope.
### Request Example
```json
{
"example": "Not applicable for GET request"
}
```
### Response
#### Success Response (200)
- **envelope_details** (object) - Contains all details of the envelope.
#### Response Example
```json
{
"envelope_details": {
"id": "env_12345abcde",
"status": "sent",
"documents": [
{
"name": "Contract.pdf",
"file_type": "pdf"
}
],
"parties": [
{
"role": "signer",
"email": "signer@example.com"
}
],
"fields": [
{
"name": "Signature",
"value": ""
}
],
"history": [
{
"event": "envelope_sent",
"timestamp": "2023-10-27T10:00:00Z"
}
]
}
}
```
```
--------------------------------
### List Templates
Source: https://developers.signable.app/openapi/templates
Retrieves a paginated list of all templates available in your account.
```APIDOC
## GET /templates
### Description
Retrieves a paginated list of all templates available in your account.
### Method
GET
### Endpoint
/templates
### Parameters
#### Query Parameters
- **page** (integer) - Optional - The page number to retrieve.
- **limit** (integer) - Optional - The number of items to return per page.
### Request Example
```json
{
"example": ""
}
```
### Response
#### Success Response (200)
- **templates** (array) - A list of template objects.
- **fingerprint** (string) - The unique identifier for the template.
- **name** (string) - The name of the template.
- **pagination** (object) - Pagination details.
- **total_items** (integer) - The total number of items available.
- **current_page** (integer) - The current page number.
- **total_pages** (integer) - The total number of pages.
- **next_page** (string/null) - URL for the next page, or null if on the last page.
- **prev_page** (string/null) - URL for the previous page, or null if on the first page.
#### Response Example
```json
{
"templates": [
{
"fingerprint": "tpl_abc123",
"name": "Standard Contract"
}
],
"pagination": {
"total_items": 10,
"current_page": 1,
"total_pages": 1,
"next_page": null,
"prev_page": null
}
}
```
```
--------------------------------
### GET /templates/{template_fingerprint}
Source: https://developers.signable.app/openapi/templates/gettemplate
Retrieves metadata and configuration for a single template using its unique fingerprint.
```APIDOC
## GET /templates/{template_fingerprint}
### Description
Retrieves metadata and configuration for a single template.
### Method
GET
### Endpoint
/templates/{template_fingerprint}
### Parameters
#### Path Parameters
- **template_fingerprint** (string) - Required - The unique fingerprint of the template.
Example: "b786a173554cc06371248caf0b250704"
### Response
#### Success Response (200)
- **http** (integer) - Example: 200
- **template_id** (string) - Internal identifier. Example: "53690003"
- **template_fingerprint** (string) - The unique ID used to identify this template. Example: "b786a173554cc06371248caf0b250704"
- **template_title** (string) - The name of the template. Example: "Sample Contract"
- **template_page_total** (string) - The total number of pages in the template. Example: "1"
- **template_in_progress** (string) - The number of envelopes currently in progress that use this template. Example: "3"
- **template_parties_total** (string) - The number of signing parties included in the template. Example: "1"
- **template_widget_url** (string) - The direct URL to the hosted signing widget for this template. Example: "https://sign.signable.app/#/widget/VG7Tsd3y6X"
- **template_widget_embed** (string) - A script snippet for embedding the signing widget into a webpage. Example: ""
- **template_pdf_url** (string) - A direct link to download the original uploaded PDF used in the template. Example: "https://docs.signable.co.uk/original/b786a173554cc06371248caf0b250704.pdf"
- **template_thumbnails** (array) - An array of URLs to thumbnail images for each page of the template.
- **template_pages** (array) - An array of URLs to full-size images of each page in the template.
- **template_uploaded** (string) - The date and time the template was uploaded (in ISO 8601 format). Example: "2025-07-01T08:40:38+0000"
- **template_parties** (array) - A list of the parties assigned to the template, including the merge fields linked to each party.
- **party_id** (string) - Example: "20459705"
- **party_name** (string) - Example: "Party"
- **party_merge_fields** (array) - Template fields that can optionally be pre-filled with text by the sender to personalise the document before sending.
- **field_id** (string) - Internal field identifier. Example: "450927743"
- **field_merge** (string) - A short label for the merge field, shown to the sender during the "Add fields & preview" step when preparing an envelope for sending. Example: "Name of Sender"
- **field_type** (string) - This will always be "text", due to merge functionality only being available for text field type. Example: "text"
#### Response Example
```json
{
"http": 200,
"template_id": "53690003",
"template_fingerprint": "b786a173554cc06371248caf0b250704",
"template_title": "Sample Contract",
"template_page_total": "1",
"template_in_progress": "3",
"template_parties_total": "1",
"template_widget_url": "https://sign.signable.app/#/widget/VG7Tsd3y6X",
"template_widget_embed": "",
"template_pdf_url": "https://docs.signable.co.uk/original/b786a173554cc06371248caf0b250704.pdf",
"template_thumbnails": [],
"template_pages": [],
"template_uploaded": "2025-07-01T08:40:38+0000",
"template_parties": [
{
"party_id": "20459705",
"party_name": "Party",
"party_merge_fields": [
{
"field_id": "450927743",
"field_merge": "Name of Sender",
"field_type": "text"
}
]
}
]
}
```
```
--------------------------------
### Settings API
Source: https://developers.signable.app/openapi/index
Endpoints for retrieving and updating company-wide settings and preferences.
```APIDOC
## GET /settings
### Description
Your Signable account settings control how documents are delivered, signed, and managed across your team. This section of the API lets you retrieve and update your company's signing preferences, email notification rules, signature formats, and more—giving you full control over how your documents behave. Settings can be accessed via the API or in the Signable web app under Company Settings > Preferences.
### Method
GET
### Endpoint
`/settings`
### Parameters
(No parameters)
### Response
#### Success Response (200)
- **signing_preferences** (object) - Object containing signing preferences.
- **notification_rules** (object) - Object containing email notification rules.
### Request Example
```
(No request body for GET)
```
### Response Example
```json
{
"signing_preferences": {
"signature_format": " "
},
"notification_rules": {
"send_reminders": true
}
}
```
```
```APIDOC
## PUT /settings
### Description
Update your account's branding settings. This includes the logo and the primary colour used on emails and signing pages.
### Method
PUT
### Endpoint
`/settings`
### Parameters
#### Request Body
- **signing_preferences** (object) - Optional - Object containing signing preferences to update.
- **notification_rules** (object) - Optional - Object containing email notification rules to update.
### Request Example
```json
{
"signing_preferences": {
"signature_format": " typed "
}
}
```
### Response
#### Success Response (200)
- **signing_preferences** (object) - The updated signing preferences.
- **notification_rules** (object) - The updated notification rules.
### Response Example
```json
{
"signing_preferences": {
"signature_format": " typed "
},
"notification_rules": {
"send_reminders": true
}
}
```
```
--------------------------------
### Get Sub-account
Source: https://developers.signable.app/openapi/partners
Returns details about a specific sub-account associated with the Partner account. This endpoint is only available to Signable Partners.
```APIDOC
## GET /companies/{company_id}
### Description
Returns details about a specific sub-account associated with the Partner account.
### Method
GET
### Endpoint
/companies/{company_id}
### Parameters
#### Path Parameters
- **company_id** (integer) - Required - The unique identifier of the sub-account to retrieve.
### Request Example
```json
{
"example": ""
}
```
### Response
#### Success Response (200)
- **id** (integer) - The unique identifier for the sub-account.
- **name** (string) - The name of the sub-account.
#### Response Example
```json
{
"example": "{\"id\": 123, \"name\": \"Example Company\"}"
}
```
```
--------------------------------
### Create User
Source: https://developers.signable.app/openapi/users
Adds a new user to your account. You must provide the user’s name, email address, and their role ID.
```APIDOC
## POST /user
### Description
Adds a new user to your account. You must provide the user’s name, email address, and their role ID.
### Method
POST
### Endpoint
/user
### Parameters
#### Request Body
- **name** (string) - Required - The name of the new user.
- **email** (string) - Required - The email address of the new user.
- **role_id** (integer) - Required - The ID of the role to assign to the new user.
### Request Example
```json
{
"name": "Bob Johnson",
"email": "bob.johnson@example.com",
"role_id": 2
}
```
### Response
#### Success Response (201)
- **user_id** (string) - The unique identifier for the newly created user.
- **name** (string) - The name of the user.
- **email** (string) - The email address of the user.
- **role** (object) - The role assigned to the user.
- **id** (integer) - The ID of the role.
- **name** (string) - The name of the role.
- **created_at** (string) - The timestamp when the user was created.
#### Response Example
```json
{
"user_id": "usr_456",
"name": "Bob Johnson",
"email": "bob.johnson@example.com",
"role": {
"id": 2,
"name": "Editor"
},
"created_at": "2023-10-27T10:00:00Z"
}
```
```
--------------------------------
### GET /contacts
Source: https://developers.signable.app/openapi/contacts/listcontacts
Retrieves a paginated list of all contacts. Use offset and limit query parameters to control pagination.
```APIDOC
## GET /contacts
### Description
Retrieves a paginated list of all contacts. Use offset and limit query parameters to control pagination.
### Method
GET
### Endpoint
/contacts
### Parameters
#### Query Parameters
- **offset** (integer) - Optional - The index of the first envelope to retrieve.
- **limit** (integer) - Optional - The maximum number of envelopes to return. If more than a certain limit is requested, a default limit will be returned instead.
### Response
#### Success Response (200)
- **http** (integer) - Example: 200
- **offset** (integer)
- **limit** (integer) - Example: 50
- **total_contacts** (string) - Example: "3"
- **contacts** (array)
- **contacts.contact_id** (string) - Example: "17224073"
- **contacts.contact_name** (string) - Example: "Buffy The Vampire Slayer"
- **contacts.contact_email** (string) - Example: "buffy@sunnydale.com"
- **contacts.contact_outstanding_documents** (string) - Example: "0"
- **contacts.contact_created** (string) - Example: "2025-07-07T09:54:08+0000"
#### Response Example
```json
{
"http": 200,
"offset": 0,
"limit": 50,
"total_contacts": "3",
"contacts": [
{
"contact_id": "17224073",
"contact_name": "Buffy The Vampire Slayer",
"contact_email": "buffy@sunnydale.com",
"contact_outstanding_documents": "0",
"contact_created": "2025-07-07T09:54:08+0000"
}
]
}
```
```
--------------------------------
### Send Envelope for Signature using cURL
Source: https://context7.com/context7/developers_signable_app_openapi/llms.txt
Shows how to send a POST request using cURL to create and queue an envelope for electronic signature. This example includes details for parties, documents (using base64 encoded content), a redirect URL, and metadata. The API key is used for authentication.
```bash
# Send envelope with document file upload
curl -X POST https://api.signable.co.uk/v1/envelopes \
-u "your-api-key:x" \
-H "Content-Type: application/json" \
-d '{
"envelope_title": "Employment Contract - John Smith",
"envelope_parties": [
{
"party_title": "John Smith",
"party_email": "john.smith@example.com",
"party_role": "signer"
},
{
"party_title": "HR Department",
"party_email": "hr@company.com",
"party_role": "copy"
}
],
"envelope_documents": [
{
"document_title": "Employment Agreement",
"document_file": "base64_encoded_pdf_content_here"
}
],
"envelope_redirect_url": "https://company.com/onboarding/complete",
"envelope_meta": {
"employee_id": "EMP-12345",
"department": "Engineering"
}
}'
```
--------------------------------
### Templates API
Source: https://developers.signable.app/openapi/index
Create and reuse predefined document templates.
```APIDOC
## GET /templates
### Description
Retrieves a paginated list of all templates available in your account.
### Method
GET
### Endpoint
/templates
### Parameters
#### Query Parameters
- **page** (integer) - Optional - The page number to retrieve.
- **per_page** (integer) - Optional - The number of items to return per page.
### Request Example
```
GET /templates?page=1&per_page=20
```
### Response
#### Success Response (200)
- **templates** (array) - A list of template objects.
- **id** (string) - The unique identifier for the template.
- **name** (string) - The name of the template.
#### Response Example
```json
{
"templates": [
{
"id": "tmpl_xyz789",
"name": "Standard Agreement"
}
]
}
```
```