curl --request POST \
--url https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"signing_steps": [
{
"recipients": [
{
"name": "<string>",
"email": "<string>",
"id": "<string>",
"uid": "<string>",
"verification": {
"value": "<string>"
}
}
]
}
]
}
'import requests
url = "https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps"
payload = { "signing_steps": [{ "recipients": [
{
"name": "<string>",
"email": "<string>",
"id": "<string>",
"uid": "<string>",
"verification": { "value": "<string>" }
}
] }] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
signing_steps: [
{
recipients: [
{
name: '<string>',
email: '<string>',
id: '<string>',
uid: '<string>',
verification: {value: '<string>'}
}
]
}
]
})
};
fetch('https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps', 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://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps",
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([
'signing_steps' => [
[
'recipients' => [
[
'name' => '<string>',
'email' => '<string>',
'id' => '<string>',
'uid' => '<string>',
'verification' => [
'value' => '<string>'
]
]
]
]
]
]),
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"
)
func main() {
url := "https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps"
payload := strings.NewReader("{\n \"signing_steps\": [\n {\n \"recipients\": [\n {\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"id\": \"<string>\",\n \"uid\": \"<string>\",\n \"verification\": {\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\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, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"signing_steps\": [\n {\n \"recipients\": [\n {\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"id\": \"<string>\",\n \"uid\": \"<string>\",\n \"verification\": {\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signing_steps\": [\n {\n \"recipients\": [\n {\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"id\": \"<string>\",\n \"uid\": \"<string>\",\n \"verification\": {\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"comment": "<string>",
"pages": 123,
"created_at": 123,
"updated_at": 123,
"expires_at": 123,
"num_recipients": 123,
"is_duplicable": true,
"signing_steps": [
{
"recipients": [
{
"name": "<string>",
"email": "<string>",
"id": "<string>",
"uid": "<string>",
"verification": {
"value": "<string>"
}
}
]
}
],
"documents": [
{
"id": "<string>",
"name": "<string>",
"filename": "<string>",
"page_count": 123,
"pages": [
{
"width": 123,
"height": 123
}
]
}
],
"notification": {
"subject": "<string>",
"message": "<string>",
"reminder_interval": 123
},
"attachments": {
"settings": {
"visible_to_recipients": true
},
"recipients": [
{
"recipient_id": "<string>",
"recipient_name": "<string>",
"placeholders": [
{
"recipient_id": "<string>",
"id": "<string>",
"name": "<string>",
"hint": "<string>",
"required": true,
"multiple": true,
"files": [
{
"id": "<string>",
"name": "<string>",
"size": 123,
"mimetype": "<string>"
}
]
}
]
}
]
}
}Add envelope signing steps
curl --request POST \
--url https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"signing_steps": [
{
"recipients": [
{
"name": "<string>",
"email": "<string>",
"id": "<string>",
"uid": "<string>",
"verification": {
"value": "<string>"
}
}
]
}
]
}
'import requests
url = "https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps"
payload = { "signing_steps": [{ "recipients": [
{
"name": "<string>",
"email": "<string>",
"id": "<string>",
"uid": "<string>",
"verification": { "value": "<string>" }
}
] }] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
signing_steps: [
{
recipients: [
{
name: '<string>',
email: '<string>',
id: '<string>',
uid: '<string>',
verification: {value: '<string>'}
}
]
}
]
})
};
fetch('https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps', 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://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps",
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([
'signing_steps' => [
[
'recipients' => [
[
'name' => '<string>',
'email' => '<string>',
'id' => '<string>',
'uid' => '<string>',
'verification' => [
'value' => '<string>'
]
]
]
]
]
]),
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"
)
func main() {
url := "https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps"
payload := strings.NewReader("{\n \"signing_steps\": [\n {\n \"recipients\": [\n {\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"id\": \"<string>\",\n \"uid\": \"<string>\",\n \"verification\": {\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\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, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"signing_steps\": [\n {\n \"recipients\": [\n {\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"id\": \"<string>\",\n \"uid\": \"<string>\",\n \"verification\": {\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://restapi.sign.plus/v2/envelope/{envelope_id}/signing_steps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"signing_steps\": [\n {\n \"recipients\": [\n {\n \"name\": \"<string>\",\n \"email\": \"<string>\",\n \"id\": \"<string>\",\n \"uid\": \"<string>\",\n \"verification\": {\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"comment": "<string>",
"pages": 123,
"created_at": 123,
"updated_at": 123,
"expires_at": 123,
"num_recipients": 123,
"is_duplicable": true,
"signing_steps": [
{
"recipients": [
{
"name": "<string>",
"email": "<string>",
"id": "<string>",
"uid": "<string>",
"verification": {
"value": "<string>"
}
}
]
}
],
"documents": [
{
"id": "<string>",
"name": "<string>",
"filename": "<string>",
"page_count": 123,
"pages": [
{
"width": 123,
"height": 123
}
]
}
],
"notification": {
"subject": "<string>",
"message": "<string>",
"reminder_interval": 123
},
"attachments": {
"settings": {
"visible_to_recipients": true
},
"recipients": [
{
"recipient_id": "<string>",
"recipient_name": "<string>",
"placeholders": [
{
"recipient_id": "<string>",
"id": "<string>",
"name": "<string>",
"hint": "<string>",
"required": true,
"multiple": true,
"files": [
{
"id": "<string>",
"name": "<string>",
"size": 123,
"mimetype": "<string>"
}
]
}
]
}
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
List of signing steps
Show child attributes
Show child attributes
Response
Signing steps added successfully
Unique identifier of the envelope
Name of the envelope
Comment for the envelope
Total number of pages in the envelope
Flow type of the envelope (REQUEST_SIGNATURE is a request for signature, SIGN_MYSELF is a self-signing flow)
REQUEST_SIGNATURE, SIGN_MYSELF Legal level of the envelope (SES is Simple Electronic Signature, QES_EIDAS is Qualified Electronic Signature, QES_ZERTES is Qualified Electronic Signature with Zertes)
SES, QES_EIDAS, QES_ZERTES Status of the envelope
DRAFT, IN_PROGRESS, COMPLETED, EXPIRED, DECLINED, VOIDED, PENDING Unix timestamp of the creation date
Unix timestamp of the last modification date
Unix timestamp of the expiration date
Number of recipients in the envelope
Whether the envelope can be duplicated
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Requested attachments for the envelope. See Set Attachment Requests guide for more details.
Show child attributes
Show child attributes