{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"767d689a-d778-49f7-a798-ec290ba66d16","name":"Signable API","description":"_**We've moved! Most of this page's information still applies but for the most up to date version,  \nclick**_ [<i><b>here</b></i>](https://developers.signable.app/).\n\nThe Signable API allows you to integrate Signable directly into your website or internal systems. It's REST based which means that it's easy to use and consume. We have designed it to be very powerful which means you can integrate nearly every bit of Signable into your own systems.\n\n# Features\n\nWith the Signable API you can:\n\n- Create and send an Envelope\n    \n- Manage Envelopes\n    \n- Manage Templates\n    \n- Create and manage Webhooks\n    \n- Manage Company Settings, Users, and Branding\n    \n- Create and manage Sub-Accounts (Partners Only)\n    \n\n# Signable Concepts\n\n## Terminology\n\n### Document\n\nAn uploaded PDF, Word or Excel file or a Template.\n\n### Envelope\n\nA collection of Documents to be signed. An envelope can contain as many Documents as you need. An Envelope can consist of a mixture of Templates and uploaded documents.  \nTo combine uploaded documents and Templates in one Envelope you must use the Signable web-app, this is currently not possible when using the Signable API.  \nIt is only possible to send one Template at the time via the API.\n\n### Template\n\nA document template, created from an uploaded PDF, Word or Excel file. Templates can contain fields, which can be assigned to predetermined Party Roles.\n\n### (Template) Widget\n\nTemplates can be shared as widgets, if they only contain one (1) Party Role. Widgets can either be shared via a URL, or embedded onto a webpage.\n\nWhen signed, a new Envelope will be created. There is no limit to the number of times a Widget can be signed. Each time a widget is signed this will use one Envelope from your allowance. Once a Widget has been signed, signatures need to be verified by email before they are valid.\n\nThe widget URL can be appended with the `envelope_meta` parameter, to set a base64-encoded JSON value. For example `https://sign.signable.app/#/widget/aadfwRcaqN?envelope_meta={some-base64-encoded-JSON-string}`. This value will be passed back in `verify-envelope-widget` and `signed-envelope-widget` webhook payloads, in the `envelope_meta` property.\n\n[Learn more about Widgets.](https://signable.help/can-i-get-a-document-signed-on-my-website/)\n\n### Party\n\nA recipient of an Envelope. In most cases, this will be a person who is signing an Envelope. Envelope Parties can also be set as ‘copy only’, in which case they will receive a copy of the envelope once all other parties have signed.\n\n### Party Role\n\nA role for a Party on a Template, which can be assigned to an Envelope Party. Envelope Parties can have roles from multiple Templates.\n\n### Contact\n\nConsists primarily of a name and email address. Contacts are created automatically when an envelope is sent, based on Parties.\n\n### Fingerprint\n\nA fingerprint is a unique identifier string of 32 characters. Envelopes, Templates and Documents all have their own types of fingerprint. In this documentation fingerprints are most commonly used to reference Envelopes and Templates.\n\n### ID\n\nA numerical identifier. Most commonly used to refer to Companies, Contacts and Users.\n\n### Field\n\nAn input on a document. Fields can be text, date, signatures, file uploads, dropdown or checkbox.\n\n### Tags\n\nCan be used to create a field in place on an uploaded document. It is not currently possible to create every field type using tags. [Learn more about tags.](https://signable.help/what-are-signable-tags-2/)\n\n### Merge Fields / Prefillable Fields\n\nA field in a Template that has been marked as Prefillable / A Merge Field. These fields can then be populated at point of sending. If a field is not populated on send, the party the field has been assigned to will be able to complete the field as normal. If the field has been prefilled, it is not possible for the signer to amend the field at point of signing. [Learn more about Prefillable fields.](https://signable.help/how-do-i-enter-details-on-my-document-before-i-send-it-2/)\n\n**Please note:** Although the preferred term is 'Prefillable Fields', for legacy reasons, this concept may also be referred to as 'Merge Fields'. Be aware terms may occasionally be used interchangeably, they are the same concept.\n\n### Partner\n\nAn account that can act as a parent for other Signable accounts. [If you are interested in becoming a Signable Partner, please contact our team.](https://www.signable.co.uk/signable-partnership/)\n\n### (Partner) Sub-Account\n\nA company account managed by a Signable Partner. These accounts have an API key by default when they are created.\n\n# API Authentication\n\nAuthentication to the Signable API is based on Basic HTTP Auth using your API key, as the username. To create an API key, please go to the [API Key section in your Signable account](https://signable.app/company-settings/developer).\n\n## Credentials\n\n| Parameter | Required/Optional | Description | Example |\n| --- | --- | --- | --- |\n| Basic HTTP Auth username | Required | Your API key needs to be passed in as the Basic HTTP Auth Username | `f0419735dbb7eb53cc7871ffbee5c645` |\n| Basic HTTP Auth password | Required | This can be anything as we don’t actually check this when you make a request. For ease of use we recommend ‘x’. | `x` |\n\n# Test vs Live API Keys\n\nThe Signable API can be run in two different modes, ‘test’ and ‘live’. Usually you would use the ‘test’ mode when you are developing your integration and want to be sure that whilst you're testing, you won’t impact your actual account.\n\n**The main difference is that test is a read-only version of the API.**\n\nGET calls will return the same information in both test and live.\n\nThis read-only version means that POST, PUT and DELETE requests don’t actually perform the required action however **they return the response as if they had done.** This means that you can test the response exactly as you would get it when in live mode without the fear that you are adding or deleting valuable information.\n\n**You can tell if the call was done in ‘test’ mode because there will be a ‘test’ variable sent in the response, which would be set to** **`true`**.\n\n#### Access to the ‘live’ mode\n\nEven though you can access the test version of the API without being on a valid monthly plan, your account must be upgraded to a plan that supports the API to create a ‘live’ key. [See all Signable plans](http://www.signable.co.uk/plans/).\n\n# HTTPS\n\nAll calls must be passed to us via HTTPS. All HTTP calls will be ignored.\n\nWe currently support TLS 1.2 and higher. [Learn more about TLS](https://developer.mozilla.org/en-US/docs/Glossary/TLS).\n\n# Rate Limiting\n\nYour requests will be rate limited to 5 requests per second per IP. This limit is in place to protect the API and other users from potential abusive behaviour.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"2304617","collectionId":"767d689a-d778-49f7-a798-ec290ba66d16","publishedId":"UVJYLKjV","public":true,"publicUrl":"https://documenter-api.postman.tech/view/2304617/UVJYLKjV","privateUrl":"https://go.postman.co/documentation/2304617-767d689a-d778-49f7-a798-ec290ba66d16","customColor":{"top-bar":"0098ce","right-sidebar":"375364","highlight":"0098ce"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"Explore Signable’s powerful REST API on Postman to automate document signing: create envelopes, manage branding &amp; webhooks. Built for developers, with comprehensive code examples and a quick-start guide."},{"name":"title","value":"Signable API | REST eSignature Integration – Postman Docs"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"0098ce","right-sidebar":"375364","highlight":"0098ce"}}]}},"version":"8.10.1","publishDate":"2025-06-18T09:42:32.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Signable API | REST eSignature Integration – Postman Docs","description":"Explore Signable’s powerful REST API on Postman to automate document signing: create envelopes, manage branding &amp; webhooks. Built for developers, with comprehensive code examples and a quick-start guide."},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/UVJYLKjV"}