Get Signing Link
curl --request POST \
--url https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"signer_email": "[email protected]"
}
'import requests
url = "https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link"
payload = { "signer_email": "[email protected]" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({signer_email: '[email protected]'})
};
fetch('https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'signer_email' => '[email protected]'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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"
)
func main() {
url := "https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link"
payload := strings.NewReader("{\n \"signer_email\": \"[email protected]\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"signer_email\": \"[email protected]\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signer_email\": \"[email protected]\"\n}"
response = http.request(request)
puts response.read_body{
"view_url": "https://sign.luminpdf.com/auth?mode=view-contract&token=8647b08b...",
"signer_email": "[email protected]",
"status": "NEED_TO_SIGN"
}{
"error_code": "<string>",
"error_message": "<string>"
}Signature requests
Get Signing Link
Returns a signing link for an existing signature request for embedding in your applications.
POST
/
signature_request
/
{signature_request_id}
/
signing-link
Get Signing Link
curl --request POST \
--url https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"signer_email": "[email protected]"
}
'import requests
url = "https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link"
payload = { "signer_email": "[email protected]" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({signer_email: '[email protected]'})
};
fetch('https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'signer_email' => '[email protected]'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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"
)
func main() {
url := "https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link"
payload := strings.NewReader("{\n \"signer_email\": \"[email protected]\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"signer_email\": \"[email protected]\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.luminpdf.com/v1/signature_request/{signature_request_id}/signing-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signer_email\": \"[email protected]\"\n}"
response = http.request(request)
puts response.read_body{
"view_url": "https://sign.luminpdf.com/auth?mode=view-contract&token=8647b08b...",
"signer_email": "[email protected]",
"status": "NEED_TO_SIGN"
}{
"error_code": "<string>",
"error_message": "<string>"
}Required scopes (OAuth 2.0)
Required scopes (OAuth 2.0)
This endpoint requires the following scope:
sign:requestsAuthorizations
ApiKeyBearerAuth
Provide your API key in the X-API-Key header, e.g., X-API-Key: YOUR_API_KEY.
Path Parameters
ID of the signature request.
Body
application/json
Email address of the signer whose signing link should be generated.
Response
Signing link generated successfully.
The signing URL that the signer can use to view and sign the document.
Email address of the signer.
Current signing status of the signer.
Available options:
NEED_TO_SIGN, APPROVED, WAITING_FOR_OTHERS, REJECTED, FAILED, WAITING_FOR_PROCESSING ⌘I