Streamline your workflow by seamlessly integrating legally-binding eSignatures and secure faxing. Accelerate your development with robust, scalable solutions from Sign.Plus and Fax.Plus, enabling faster deployment, improved efficiency, and enhanced automation across your applications.
Send HIPAA-compliant faxes or send documents for QES signing, fully ESIGN Act, ZertES and eIDAS compliant, directly from your application.
Empower your applications with legally binding electronic signature capabilities, fully compliant with eIDAS and ZertES, using the Sign.Plus API. Easily integrate seamless document management, customizable signing workflows, and audit trails into your apps with RESTful endpoints and OAuth 2.0 authentication. Whether you’re automating contract approvals or streamlining agreements, Sign.Plus provides the tools developers need to build secure and scalable e-signature solutions.
Integrate reliable and secure fax functionality into your applications with the Fax.Plus API. Send and receive faxes globally, manage real-time notifications via webhooks, and automate fax workflows with T.38 error correction and direct connections to tier-1 faxing partners. Designed with developers in mind, the RESTful API, comprehensive SDKs, and flexible protocols make it easy to build scalable, robust faxing solutions.
Sign.Plus offers a developer-centric eSignature API designed for seamless integration with applications across multiple programming languages. Leverage RESTful endpoints and real-time webhook integrations to automate document workflows, create reusable templates, and manage audit trails efficiently. The detailed API documentation includes in-depth guidance, sample requests, and best practices to help developers build scalable, compliant, and reliable eSignature solutions.
1const options = {
2 method: 'POST',
3 headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
4 body: '{"name":"<string>","legality_level":"SES","expires_at":123,"comment":"<string>","sandbox":false}'
5};
6
7fetch('https://restapi.sign.plus/v2/envelope', options)
8 .then(response => response.json())
9 .then(response => console.log(response))
10 .catch(err => console.error(err));
import requests
url = "https://restapi.sign.plus/v2/envelope"
payload = {
"name": "<string>",
"legality_level": "SES",
"expires_at": 123,
"comment": "<string>",
"sandbox": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://restapi.sign.plus/v2/envelope",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n \"name\": \"<string>\",\n \"legality_level\": \"SES\",\n \"expires_at\": 123,\n \"comment\": \"<string>\",\n \"sandbox\": false\n}",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://restapi.sign.plus/v2/envelope"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"legality_level\": \"SES\",\n \"expires_at\": 123,\n \"comment\": \"<string>\",\n \"sandbox\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
Fax.Plus powerful yet easy to use programmable fax API works on various development platforms such as Javascript, Node.JS, Ruby, Python, and Java. Access the API, use either OAuth 2.0 flow or personal access tokens (PATs) as the initial authentication flow and start integrating the fax functionality into your application, software or system.
Explore API documentation to build efficient fax solutions using RESTful API, Webhook integrations, and much more.
1const axios = require('axios');
2const OutboxApiFp = require('@alohi/faxplus-api').OutboxApiFp;
3const Configuration = require('@alohi/faxplus-api').Configuration;
4
5const config = new Configuration({
6 accessToken: accessToken,
7 basePath: 'https://restapi.fax.plus/v3',
8 // Header required only when using the OAuth2 token scheme
9 baseOptions: {
10 headers: {
11 "x-fax-clientid": clientId,
12 }
13 }
14});
15
16async function sendFax() {
17 const reqParams = {
18 "userId": '13d8z73c',
19 "payloadOutbox": {
20 "comment": {
21 "tags": [
22 "tag1",
23 "tag2"
24 ],
25 "text": "text comment"
26 },
27 "files": [
28 "filetosend.pdf"
29 ],
30 "from": "+12345667",
31 "options": {
32 "enhancement": true,
33 "retry": {
34 "count": 2,
35 "delay": 15
36 }
37 },
38 "send_time": "2000-01-01 01:02:03 +0000",
39 "to": [
40 "+12345688",
41 "+12345699"
42 ],
43 "return_ids": true
44 }
45 }
46 const req = await OutboxApiFp(config).sendFax(reqParams);
47 const resp = await req(axios);
48}
49
50sendFax()
from faxplus import ApiClient, OutboxApi, OutboxComment, RetryOptions, OutboxOptions, OutboxCoverPage, PayloadOutbox
from faxplus.configuration import Configuration
outbox_comment = OutboxComment(tags=['tag1', 'tag2'],
text='text comment')
retry_options = RetryOptions(count=2, delay=15)
outbox_options = OutboxOptions(enhancement=True, retry=retry_options)
outbox_cover_page = OutboxCoverPage()
payload_outbox = PayloadOutbox(from='+12345667',
to=['+12345688', '+12345699'],
files=['filetosend.pdf'],
comment=outbox_comment,
options=outbox_options,
send_time='2000-01-01 01:02:03 +0000',
return_ids=True,
cover_page=outbox_cover_page)
conf = Configuration()
conf.access_token = access_token
# header_name and header_value required only when using the OAuth2 token scheme
api_client = ApiClient(header_name='x-fax-clientid', header_value=client_id, configuration=conf)
api = OutboxApi(api_client)
resp = api.send_fax(
user_id='13d8z73c',
body=payload_outbox
)
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}',
// The x-fax-clientid header is required only when using the OAuth2 token scheme
'x-fax-clientid' => '{client ID}',
);
$client = new GuzzleHttp\Client();
// Define array of request body.
$request_body = ...; // See request body example
try {
$response = $client->request('POST','https://restapi.fax.plus/v3/accounts/{user_id}/outbox', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
// The x-fax-clientid header is required only when using the OAuth2 token scheme
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
"x-fax-clientid": []string{"YOUR CLIENT_ID"}
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://restapi.fax.plus/v3/accounts/{user_id}/outbox", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
Request access to our sandbox environment and begin testing your integrations with Sign.Plus and Fax.Plus—no risk, just seamless development.