### 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" } ] } ``` ```