curl --request GET \
--url https://api.tomorro.com/v2/contracts/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tomorro.com/v2/contracts/{id}"
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}', 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}",
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}"
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}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tomorro.com/v2/contracts/{id}")
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{
"id": "ctr_550e8400-e29b-41d4-a716-446655440000",
"name": "Service Agreement - Acme Corp",
"status": "draft",
"counterparty": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Acme Corporation"
},
"contractType": {
"id": "550e8400-e29b-41d4-a716-446655440002",
"name": "Service Agreement"
},
"templateId": "550e8400-e29b-41d4-a716-446655440003",
"author": {
"id": "550e8400-e29b-41d4-a716-446655440004",
"email": "john.doe@example.com"
},
"fields": [
{
"attributeDefinitionId": "123e4567-e89b-12d3-a456-426614174000",
"name": "Department",
"value": "John Doe"
}
],
"signatories": [
{
"id": "sig_550e8400-e29b-41d4-a716-446655440005",
"name": "John Doe",
"email": "john.doe@example.com",
"type": "member"
}
],
"integration": {
"type": "salesforce",
"externalId": "sf-123456",
"externalEntity": "Opportunity",
"externalUrl": "https://my-crm.example.com/opportunities/sf-123456"
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-02-20T14:45:00.000Z",
"contractMembers": [
{
"id": "550e8400-e29b-41d4-a716-446655440004",
"email": "john.doe@example.com"
}
]
}Get contract
Get a contract
curl --request GET \
--url https://api.tomorro.com/v2/contracts/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tomorro.com/v2/contracts/{id}"
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}', 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}",
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}"
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}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tomorro.com/v2/contracts/{id}")
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{
"id": "ctr_550e8400-e29b-41d4-a716-446655440000",
"name": "Service Agreement - Acme Corp",
"status": "draft",
"counterparty": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Acme Corporation"
},
"contractType": {
"id": "550e8400-e29b-41d4-a716-446655440002",
"name": "Service Agreement"
},
"templateId": "550e8400-e29b-41d4-a716-446655440003",
"author": {
"id": "550e8400-e29b-41d4-a716-446655440004",
"email": "john.doe@example.com"
},
"fields": [
{
"attributeDefinitionId": "123e4567-e89b-12d3-a456-426614174000",
"name": "Department",
"value": "John Doe"
}
],
"signatories": [
{
"id": "sig_550e8400-e29b-41d4-a716-446655440005",
"name": "John Doe",
"email": "john.doe@example.com",
"type": "member"
}
],
"integration": {
"type": "salesforce",
"externalId": "sf-123456",
"externalEntity": "Opportunity",
"externalUrl": "https://my-crm.example.com/opportunities/sf-123456"
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-02-20T14:45:00.000Z",
"contractMembers": [
{
"id": "550e8400-e29b-41d4-a716-446655440004",
"email": "john.doe@example.com"
}
]
}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
Contract
Unique identifier for the contract.
"ctr_550e8400-e29b-41d4-a716-446655440000"
The name or title of the contract.
"Service Agreement - Acme Corp"
The current status of the contract.
draft: The contract is being created or edited.negotiating: The contract is being reviewed with counterparties.signing: The contract is in the signature process.signed: All parties have signed the contract.canceled: The contract has been canceled.
"draft"
The counterparty associated with this contract.
Show child attributes
Show child attributes
{
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Acme Corporation"
}
The type of the contract, it is composed of many templates.
Show child attributes
Show child attributes
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"name": "Service Agreement"
}
The template used to create this contract.
"550e8400-e29b-41d4-a716-446655440003"
The member who created this contract.
Show child attributes
Show child attributes
{
"id": "550e8400-e29b-41d4-a716-446655440004",
"email": "john.doe@example.com"
}
The fields associated with this contract.
Show child attributes
Show child attributes
[
{
"attributeDefinitionId": "123e4567-e89b-12d3-a456-426614174000",
"name": "Department",
"value": "John Doe"
}
]
The signatories associated with this contract.
Show child attributes
Show child attributes
[
{
"id": "sig_550e8400-e29b-41d4-a716-446655440005",
"name": "John Doe",
"email": "john.doe@example.com",
"type": "member"
}
]
The third-party system this contract is linked to, when it was created via an integration (currently Salesforce or HubSpot). The shape mirrors the integration payload accepted on POST /contracts, so you can use this to look up the originating record in your CRM. null when the contract has no external link or was created from the Tomorro web app.
Show child attributes
Show child attributes
{
"type": "salesforce",
"externalId": "sf-123456",
"externalEntity": "Opportunity",
"externalUrl": "https://my-crm.example.com/opportunities/sf-123456"
}
Time at which the contract was created. Formatted as an ISO 8601 date-time string.
"2024-01-15T10:30:00.000Z"
Time at which the contract was last updated. Formatted as an ISO 8601 date-time string.
"2024-02-20T14:45:00.000Z"
The list of participants with this contract.
Show child attributes
Show child attributes
[
{
"id": "550e8400-e29b-41d4-a716-446655440004",
"email": "john.doe@example.com"
}
]