{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"366a20d5-acfa-4720-a196-c7170ec8001d","name":"SignAPI for developers","description":"# **Overview**\n\nSignAPI is a RESTful API that allows you to securely sign documents with simple or advanced electronic signature:\n\n*   **Simple signature**\n    *   Sign as an *individual* using an electronic certificate valid for one-time use.\n    *   Sign as a *corporate entity* using an electronic server-seal certificate (i.e. centralized signature).\n    *   Options:\n        *   Visible signature\n        *   OTP (SMS or email)\n*   **Advanced signature**\n    *   Sign as an *individual,* whose identity is verified by an eIDAS compliant Trust Service Provider (TSP), using a certificate valid for one-time use.\n    *   Requirements:\n        *   Proof folder\n        *   OTP (SMS only)\n    *   Options:\n        *   Visible signature\n\nSignAPI also enables long-term electronic archiving, with probative value, of electronically signed documents using an eIDAS qualified service provider, certified NF461.\n\n[**Please click here for a complete overview of the signature process represented as a sequence diagram.**](https://support.certeurope.fr/wp-content/uploads/2022/02/schema-technique-signapi.png)\n\n# Getting started\n\nBelow is a summary of the basic signature workflows. The order and use of the calls to the API may vary depending on your needs.\n\n## **Workflow 1:**\n\n#### **Simple signature workflow for individuals**\n\n1.  **Create order** ***`createEphemeralOrder`***  \n    Provides the information required for the signer's certificate.\n2.  **Add documents** ***`createEphemeralSignatureRequestLegacy`***  \n    Provides the documents sent for signature as well as the information required to create the visible signature.\n3.  **Request signature** ***`signEphemeralSignatureRequest`***  \n    Launches the signature process based on the previous requests.\n4.  **Get signature request status** ***`getSignatureRequestStatus`***  \n    Returns the current status of the signature request and provides the signed documents if the status is \"SIGNED\".\n    \n\n## **Workflow 2:**\n\n#### **Simple & advanced signature workflow for individuals with OTP**\n\n1.  **Create order** ***`createTriggerEphemeralOrder`***  \n    Provides the information required for the signer's certificate. If using an advanced signature workflow, the order must include the proof folder for the certificate holder.\n2.  **Add documents** ***`createTriggredEphemeralSignatureRequestLegacy`***  \n    Provides the documents sent for signature as well as the information required to create the visible signature.\n3.  **Send signature request with OTP** ***`validateTriggredEphemeralSignatureRequest`***  \n    Displays the documents for signature and requests the signer's consent before sending a one-time password via SMS.\n4.  **Sign documents** ***`signTriggredEphemeralSignatureRequest`***  \n    Launches the signature process based on the previous requests.\n5.  **Get signature request status** ***`getSignatureRequestStatus`***  \n    Returns the current status of the signature request and provides the signed documents if the status is \"SIGNED\".\n    \n\n## **Workflow** 3:\n\n#### Centralized signature workflow for corporate entities\n\n1.  **Add documents** ***`createCentralizedSignatureRequest`***  \n    Provides the documents sent for signature as well as the information required to create the visible signature.\n2.  **Sign documents** ***`signCentralizedSignatureRequest`*** **or** ***`signCentralizedSignatureRequests`***  \n    Launches the signature process based on the previous requests (single document or multiple documents).\n3.  **Get signature request status** ***`getSignatureRequestStatus`***  \n    Returns the current status of the signature request and provides the signed documents if the status is \"SIGNED\".\n    \n\n## Requesting production access\n\n1.  Sign a contract with CertEurope's Terms & Conditions (T&Cs) and the T&Cs of the electronic archival provider if applicable.\n2.  Once processed, you will receive the following information to access the production environment:  \n    • Server authentication certificate  \n    • Server URL  \n    • Archiving identification number \\[Optional\\]\n    \n\n## Authentication\n\nAccess to SignAPI is secured via client authentication.\n\n*   During the integration phase, the registration authority provides you with a unique authentication certificate as detailed in the contractual agreement. The authentication certificate is integrated into an HSM hosted by Certeurope.\n*   Your trust service provider (TSP) provides you with the URL to connect to SignAPI.\n*   Validation of the identity of the signer is guaranteed by your Information System (IS) and saved by your IS in a proof folder.\n    \n\n## Rate limit\n\nThere is no limit to the number of requests a user can send.\n\n**Please note:** SignAPI supports PDF files in PADES format submitted individually or in batch (with or without a customer user interface)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"10089064","team":752467,"collectionId":"366a20d5-acfa-4720-a196-c7170ec8001d","publishedId":"UVkjux2Y","public":true,"publicUrl":"https://documenter-api.postman.tech/view/10089064/UVkjux2Y","privateUrl":"https://go.postman.co/documentation/10089064-366a20d5-acfa-4720-a196-c7170ec8001d","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"266daf"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2022-02-18T13:46:56.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"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/e6faffe1fbd8f9c68e9aab8ae20b1cea4d9022c26eff3ff60b36d9f71e9193e2","favicon":"https://res.cloudinary.com/postman/image/upload/v1645436386/team/scns0j8dgglb1d5mvvde.ico"},"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/UVkjux2Y"}