Skip to main content
POST
/
sign
/
envelopes
Create Envelope
curl --request POST \
  --url https://api.gonitro.dev/sign/envelopes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "notification": {
    "subject": "<string>",
    "body": "<string>"
  }
}
'
import requests

url = "https://api.gonitro.dev/sign/envelopes"

payload = {
"name": "<string>",
"notification": {
"subject": "<string>",
"body": "<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({
name: '<string>',
notification: {subject: '<string>', body: JSON.stringify('<string>')}
})
};

fetch('https://api.gonitro.dev/sign/envelopes', 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.gonitro.dev/sign/envelopes",
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([
'name' => '<string>',
'notification' => [
'subject' => '<string>',
'body' => '<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://api.gonitro.dev/sign/envelopes"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"notification\": {\n \"subject\": \"<string>\",\n \"body\": \"<string>\"\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://api.gonitro.dev/sign/envelopes")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"notification\": {\n \"subject\": \"<string>\",\n \"body\": \"<string>\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.gonitro.dev/sign/envelopes")

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 \"name\": \"<string>\",\n \"notification\": {\n \"subject\": \"<string>\",\n \"body\": \"<string>\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "ID": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "createdAt": "2023-11-07T05:31:56Z",
  "lastModifiedAt": "2023-11-07T05:31:56Z",
  "name": "<string>",
  "notification": {
    "subject": "<string>",
    "body": "<string>"
  }
}
{
"type": "https://developers.gonitro.com/docs/build-nitro/errors#400-bad-request",
"title": "Bad Request",
"status": 400,
"detail": "Request validation failed",
"instance": "/sign/envelopes",
"validation_errors": {
"name": "must not be blank"
}
}
{
"type": "https://developers.gonitro.com/docs/build-nitro/errors#401-unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Missing or invalid Authorization header",
"instance": "/sign/envelopes"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required

The Envelope's name. It doesn't have to be unique.

Minimum string length: 1
notification
object
required

The notification object defines the email sent to participants when an envelope is delivered for signing. It contains a subject and a body as nested parameters, and both fields support dynamic variables.

Dynamic Variables You can personalize notification emails by referencing dynamic variables in the subject or body. Available variables: envelope_name: The name of the envelope being signed. sender_name_or_email: The sender’s name, or their email address if the name is not available.

Syntax: To reference the variables, wrap them with $() in your message. Example: $(envelope_name)

notification object example:

{
"notification": {
"subject": "$(sender_name_or_email) is requesting your signature",
"body": "Hi,\nPlease sign the $(envelope_name)\nThank you,\n$(sender_name_or_email)"
}
}
mode
enum<string>
required

The Signing Mode in an enum that defines the signing order. It has two possible values:

  • sequential: Participants receive notifications one at a time, in the order they were added to the envelope. Each new notification is triggered once the previous participant has completed their signing.
  • parallel: All participants are notified at the same time and can sign the documents in the envelope independently, without waiting for others.
Available options:
sequential,
parallel

Response

When an envelope is created you will get a unique ID for it. You can add assets to the envelope later by referencing its unique ID using other endpoints in this API.

ID
string<uuid>

A unique UUIDv4 string that identifies the envelope in the Nitro system.

createdAt
string<date-time>

UTC timestamp indicating when the envelope was created.

lastModifiedAt
string<date-time>

UTC timestamp indicating the last time the envelope was updated. Matches createdAt at the time of creation.

name
string

The name of the envelope.

status
enum<string>

The internal status of the envelope. Defaults to drafted on creation.

Available options:
drafted,
sent,
processing,
sealed,
rejected,
cancelled,
deleted
mode
enum<string>

Signing mode for the envelope.

Available options:
sequential,
parallel
notification
object

Notification settings for the envelope.