Templates
curl --request GET \
--url https://api.example.com/v1/abstract-templatesimport requests
url = "https://api.example.com/v1/abstract-templates"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/abstract-templates', 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.example.com/v1/abstract-templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v1/abstract-templates"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v1/abstract-templates")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/abstract-templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"templates": [
{}
],
"templates[].custom_fields": [
{}
]
}Abstracts API
Templates
GET /v1/abstract-templates
GET
/
v1
/
abstract-templates
Templates
curl --request GET \
--url https://api.example.com/v1/abstract-templatesimport requests
url = "https://api.example.com/v1/abstract-templates"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/v1/abstract-templates', 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.example.com/v1/abstract-templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/v1/abstract-templates"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/v1/abstract-templates")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/abstract-templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"templates": [
{}
],
"templates[].custom_fields": [
{}
]
}Every abstract is created under a template. The template determines which
custom fields the abstract accepts. Call this endpoint to discover your
templates and their field schema before creating abstracts.
Response
array
Your workspace’s abstract templates. Each has an
id (use this as
template_id when creating an abstract), a name, a default flag, and a
custom_fields array.array
The custom fields this template accepts. Each has a
key (use this in the
custom_fields object when creating an abstract), label, type, and
options (for select-type fields). A required flag is included for
forward-compatibility; abstract custom fields are not currently enforced as
required by the API.Example
curl https://api.titletrackr.com/v1/abstract-templates \
-H "Authorization: Bearer ttr_live_xxx" \
-H "Accept: application/json"
{
"templates": [
{
"id": 7,
"name": "Residential Abstract",
"default": true,
"custom_fields": [
{
"key": "file_number",
"label": "File Number",
"type": "text",
"required": true,
"options": null
},
{
"key": "search_type",
"label": "Search Type",
"type": "dropdown",
"required": false,
"options": ["Current Owner", "Two Owner", "Full Search"]
}
]
}
]
}
Field types
| Type | Value format |
|---|---|
text, paragraph | String |
date | YYYY-MM-DD string |
dropdown | One of the options strings |
multiselect | Array of options strings |
company, people | The entity’s numeric id |
If you don’t pass a
template_id when creating an abstract, your workspace’s
default template is used.
