curl --request GET \
--url https://api.tomorro.com/v2/contracts/{id}/approvers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tomorro.com/v2/contracts/{id}/approvers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.tomorro.com/v2/contracts/{id}/approvers', 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.tomorro.com/v2/contracts/{id}/approvers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.tomorro.com/v2/contracts/{id}/approvers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tomorro.com/v2/contracts/{id}/approvers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tomorro.com/v2/contracts/{id}/approvers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"additionalApprovers": [
{
"memberId": "550e8400-e29b-41d4-a716-446655440000",
"email": "manager@acme.com",
"firstname": "Morgan",
"lastname": "Lee"
}
],
"customApproversAllowed": true
}List contract approvers
Returns the approvers added on the contract, as in the “Approvers” section of the contract in the app. They apply to the next send of the contract, for review or for signature, and the list is emptied once that approval starts. customApproversAllowed is false when approvers cannot be added: the contract is in signing, signed or canceled, or its contract type applies its own approval workflow before review. See How contract approvers work.
curl --request GET \
--url https://api.tomorro.com/v2/contracts/{id}/approvers \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tomorro.com/v2/contracts/{id}/approvers"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.tomorro.com/v2/contracts/{id}/approvers', 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.tomorro.com/v2/contracts/{id}/approvers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.tomorro.com/v2/contracts/{id}/approvers"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tomorro.com/v2/contracts/{id}/approvers")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tomorro.com/v2/contracts/{id}/approvers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"additionalApprovers": [
{
"memberId": "550e8400-e29b-41d4-a716-446655440000",
"email": "manager@acme.com",
"firstname": "Morgan",
"lastname": "Lee"
}
],
"customApproversAllowed": true
}Authorizations
API key for authentication. Get your key at https://app.tomorro.com/settings/integrations?integration=api-key
Path Parameters
The unique identifier (UUID) of the contract
"550e8400-e29b-41d4-a716-446655440000"
Response
Approvers of the contract
Custom additional approvers configured on the contract preferences.
Show child attributes
Show child attributes
[ { "memberId": "550e8400-e29b-41d4-a716-446655440000", "email": "manager@acme.com", "firstname": "Morgan", "lastname": "Lee" } ]
True when no type-level BEFORE_SEND_FOR_REVIEW workflow applies, so custom approvers can be added (same gate as the product UI).
true