curl --request GET \
--url https://api.tomorro.com/v2/smart-fields \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tomorro.com/v2/smart-fields"
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/smart-fields', 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/smart-fields",
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/smart-fields"
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/smart-fields")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tomorro.com/v2/smart-fields")
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{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Contract Value",
"type": "number"
}
],
"pagination": {
"limit": 20,
"next_cursor": "eyJpZCI6IjEyMyJ9",
"prev_cursor": "eyJpZCI6IjEwMCJ9",
"has_next": true,
"has_previous": false
},
"links": {
"self": "/smart-fields?limit=20",
"next": "/smart-fields?limit=20&after=eyJpZCI6IjEyMyJ9",
"prev": "/smart-fields?limit=20&before=eyJpZCI6IjEwMCJ9"
}
}List smart fields
Returns a paginated list of smart fields (attribute definitions) in your organization. Supports cursor-based pagination, sorting, and filtering.
curl --request GET \
--url https://api.tomorro.com/v2/smart-fields \
--header 'x-api-key: <api-key>'import requests
url = "https://api.tomorro.com/v2/smart-fields"
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/smart-fields', 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/smart-fields",
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/smart-fields"
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/smart-fields")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tomorro.com/v2/smart-fields")
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{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Contract Value",
"type": "number"
}
],
"pagination": {
"limit": 20,
"next_cursor": "eyJpZCI6IjEyMyJ9",
"prev_cursor": "eyJpZCI6IjEwMCJ9",
"has_next": true,
"has_previous": false
},
"links": {
"self": "/smart-fields?limit=20",
"next": "/smart-fields?limit=20&after=eyJpZCI6IjEyMyJ9",
"prev": "/smart-fields?limit=20&before=eyJpZCI6IjEwMCJ9"
}
}Authorizations
API key for authentication. Get your key at https://app.tomorro.com/settings/integrations?integration=api-key
Query Parameters
Number of items per page (1-50)
1 <= x <= 5020
Cursor for forward pagination. Use the next_cursor value from a previous response.
"eyJpZCI6IjEyMyJ9"
Cursor for backward pagination. Use the prev_cursor value from a previous response.
"eyJpZCI6IjEwMCJ9"
Filter by object type. Formats: object=contract (equality), object=in:contract,external_party (in list)
"contract"
Language code for the smart field name. Falls back to the default name when no translation exists.
fr, gb, us, es, de, it, nl, ru, pt, br, jp, gr, pl, si, id, zh-cn, zh-tw, hi, vi, uk, th, bg, hr, dk, ee, fi, hu, ie, lv, lt, ro, sk, se, cz, no, uz, tj, at, is, rs "gb"
Response
List of smart fields with pagination info
An array of SmartField objects.
Show child attributes
Show child attributes
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Contract Value",
"type": "number"
}
]
Pagination metadata including cursors and navigation flags.
Show child attributes
Show child attributes
{
"limit": 20,
"next_cursor": "eyJpZCI6IjEyMyJ9",
"prev_cursor": "eyJpZCI6IjEwMCJ9",
"has_next": true,
"has_previous": false
}
HATEOAS navigation links for pagination.
Show child attributes
Show child attributes
{
"self": "/smart-fields?limit=20",
"next": "/smart-fields?limit=20&after=eyJpZCI6IjEyMyJ9",
"prev": "/smart-fields?limit=20&before=eyJpZCI6IjEwMCJ9"
}