Update template
Update template name, folder, submitters, preferences, or schema (field definitions).
Schema field areas: Each field’s areas[].page must be per-document (1-indexed within the
referenced document), not a global page offset across all documents. The API validates that
area.page is between 1 and the document’s page_count, returning a 422 error if out of bounds.
Auto-UUID assignment: Fields without a uuid will have one auto-assigned on save. Existing
UUIDs are preserved.
curl --request PUT \
--url https://spitshake.io/api/templates/{id} \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"name": "<string>",
"folder_name": "<string>",
"external_id": "<string>",
"preferences": {
"display_title": "Acme Legal Retainer",
"logo_url": "<string>",
"company_name": "<string>",
"favicon_url": "<string>",
"primary_button_color": "#2f5d8a",
"header_color": "#14213d",
"show_branding": true,
"brand_id": 7,
"custom_domain": "sign.example.com",
"signing_nav_style": "standard"
},
"submitters": [
{
"name": "<string>",
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"schema": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"submitter_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"required": true,
"readonly": true,
"key": "<string>",
"default_value": "<string>",
"placeholder": "<string>",
"pattern": "<string>",
"options": [
"<string>"
],
"formula": "<string>",
"areas": [
{
"x": 23.07,
"y": 20.35,
"w": 25,
"h": 5,
"page": 1,
"attachment_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"preferences": {}
}
]
}
'import requests
url = "https://spitshake.io/api/templates/{id}"
payload = {
"name": "<string>",
"folder_name": "<string>",
"external_id": "<string>",
"preferences": {
"display_title": "Acme Legal Retainer",
"logo_url": "<string>",
"company_name": "<string>",
"favicon_url": "<string>",
"primary_button_color": "#2f5d8a",
"header_color": "#14213d",
"show_branding": True,
"brand_id": 7,
"custom_domain": "sign.example.com",
"signing_nav_style": "standard"
},
"submitters": [
{
"name": "<string>",
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"schema": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"submitter_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"required": True,
"readonly": True,
"key": "<string>",
"default_value": "<string>",
"placeholder": "<string>",
"pattern": "<string>",
"options": ["<string>"],
"formula": "<string>",
"areas": [
{
"x": 23.07,
"y": 20.35,
"w": 25,
"h": 5,
"page": 1,
"attachment_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"preferences": {}
}
]
}
headers = {
"X-Auth-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Auth-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
folder_name: '<string>',
external_id: '<string>',
preferences: {
display_title: 'Acme Legal Retainer',
logo_url: '<string>',
company_name: '<string>',
favicon_url: '<string>',
primary_button_color: '#2f5d8a',
header_color: '#14213d',
show_branding: true,
brand_id: 7,
custom_domain: 'sign.example.com',
signing_nav_style: 'standard'
},
submitters: [{name: '<string>', uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a'}],
schema: [
{
uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
submitter_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
required: true,
readonly: true,
key: '<string>',
default_value: '<string>',
placeholder: '<string>',
pattern: '<string>',
options: ['<string>'],
formula: '<string>',
areas: [
{
x: 23.07,
y: 20.35,
w: 25,
h: 5,
page: 1,
attachment_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
}
],
preferences: {}
}
]
})
};
fetch('https://spitshake.io/api/templates/{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://spitshake.io/api/templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'folder_name' => '<string>',
'external_id' => '<string>',
'preferences' => [
'display_title' => 'Acme Legal Retainer',
'logo_url' => '<string>',
'company_name' => '<string>',
'favicon_url' => '<string>',
'primary_button_color' => '#2f5d8a',
'header_color' => '#14213d',
'show_branding' => true,
'brand_id' => 7,
'custom_domain' => 'sign.example.com',
'signing_nav_style' => 'standard'
],
'submitters' => [
[
'name' => '<string>',
'uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
],
'schema' => [
[
'uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'submitter_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'required' => true,
'readonly' => true,
'key' => '<string>',
'default_value' => '<string>',
'placeholder' => '<string>',
'pattern' => '<string>',
'options' => [
'<string>'
],
'formula' => '<string>',
'areas' => [
[
'x' => 23.07,
'y' => 20.35,
'w' => 25,
'h' => 5,
'page' => 1,
'attachment_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
],
'preferences' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Auth-Token: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://spitshake.io/api/templates/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"folder_name\": \"<string>\",\n \"external_id\": \"<string>\",\n \"preferences\": {\n \"display_title\": \"Acme Legal Retainer\",\n \"logo_url\": \"<string>\",\n \"company_name\": \"<string>\",\n \"favicon_url\": \"<string>\",\n \"primary_button_color\": \"#2f5d8a\",\n \"header_color\": \"#14213d\",\n \"show_branding\": true,\n \"brand_id\": 7,\n \"custom_domain\": \"sign.example.com\",\n \"signing_nav_style\": \"standard\"\n },\n \"submitters\": [\n {\n \"name\": \"<string>\",\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"schema\": [\n {\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"submitter_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"required\": true,\n \"readonly\": true,\n \"key\": \"<string>\",\n \"default_value\": \"<string>\",\n \"placeholder\": \"<string>\",\n \"pattern\": \"<string>\",\n \"options\": [\n \"<string>\"\n ],\n \"formula\": \"<string>\",\n \"areas\": [\n {\n \"x\": 23.07,\n \"y\": 20.35,\n \"w\": 25,\n \"h\": 5,\n \"page\": 1,\n \"attachment_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"preferences\": {}\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Auth-Token", "<api-key>")
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.put("https://spitshake.io/api/templates/{id}")
.header("X-Auth-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"folder_name\": \"<string>\",\n \"external_id\": \"<string>\",\n \"preferences\": {\n \"display_title\": \"Acme Legal Retainer\",\n \"logo_url\": \"<string>\",\n \"company_name\": \"<string>\",\n \"favicon_url\": \"<string>\",\n \"primary_button_color\": \"#2f5d8a\",\n \"header_color\": \"#14213d\",\n \"show_branding\": true,\n \"brand_id\": 7,\n \"custom_domain\": \"sign.example.com\",\n \"signing_nav_style\": \"standard\"\n },\n \"submitters\": [\n {\n \"name\": \"<string>\",\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"schema\": [\n {\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"submitter_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"required\": true,\n \"readonly\": true,\n \"key\": \"<string>\",\n \"default_value\": \"<string>\",\n \"placeholder\": \"<string>\",\n \"pattern\": \"<string>\",\n \"options\": [\n \"<string>\"\n ],\n \"formula\": \"<string>\",\n \"areas\": [\n {\n \"x\": 23.07,\n \"y\": 20.35,\n \"w\": 25,\n \"h\": 5,\n \"page\": 1,\n \"attachment_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"preferences\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://spitshake.io/api/templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-Auth-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"folder_name\": \"<string>\",\n \"external_id\": \"<string>\",\n \"preferences\": {\n \"display_title\": \"Acme Legal Retainer\",\n \"logo_url\": \"<string>\",\n \"company_name\": \"<string>\",\n \"favicon_url\": \"<string>\",\n \"primary_button_color\": \"#2f5d8a\",\n \"header_color\": \"#14213d\",\n \"show_branding\": true,\n \"brand_id\": 7,\n \"custom_domain\": \"sign.example.com\",\n \"signing_nav_style\": \"standard\"\n },\n \"submitters\": [\n {\n \"name\": \"<string>\",\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"schema\": [\n {\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"submitter_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"required\": true,\n \"readonly\": true,\n \"key\": \"<string>\",\n \"default_value\": \"<string>\",\n \"placeholder\": \"<string>\",\n \"pattern\": \"<string>\",\n \"options\": [\n \"<string>\"\n ],\n \"formula\": \"<string>\",\n \"areas\": [\n {\n \"x\": 23.07,\n \"y\": 20.35,\n \"w\": 25,\n \"h\": 5,\n \"page\": 1,\n \"attachment_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"preferences\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"external_id": "<string>",
"folder_name": "<string>",
"source": "upload",
"shared": true,
"download_url": "<string>",
"field_count": 123,
"submitter_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"thumbnail_url": "<string>"
}{
"code": "invalid_redirect_url",
"error": "Schema field areas have invalid page numbers",
"details": [
"Field 'Signature': area.page 35 is out of bounds for document (1..1). Use per-document page numbers, not global page offsets."
]
}Authorizations
API token generated at Settings > API
Path Parameters
Body
Template preferences. The branding and domain keys below apply to every submission from this template unless the submission overrides them; see the Preferences guide for every other key.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Updated template
Public template ID (e.g. tpl_AbC123...)
upload, docx, html, submission_api URL to download the full template PDF bundle
URL to the first-page thumbnail image
curl --request PUT \
--url https://spitshake.io/api/templates/{id} \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"name": "<string>",
"folder_name": "<string>",
"external_id": "<string>",
"preferences": {
"display_title": "Acme Legal Retainer",
"logo_url": "<string>",
"company_name": "<string>",
"favicon_url": "<string>",
"primary_button_color": "#2f5d8a",
"header_color": "#14213d",
"show_branding": true,
"brand_id": 7,
"custom_domain": "sign.example.com",
"signing_nav_style": "standard"
},
"submitters": [
{
"name": "<string>",
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"schema": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"submitter_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"required": true,
"readonly": true,
"key": "<string>",
"default_value": "<string>",
"placeholder": "<string>",
"pattern": "<string>",
"options": [
"<string>"
],
"formula": "<string>",
"areas": [
{
"x": 23.07,
"y": 20.35,
"w": 25,
"h": 5,
"page": 1,
"attachment_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"preferences": {}
}
]
}
'import requests
url = "https://spitshake.io/api/templates/{id}"
payload = {
"name": "<string>",
"folder_name": "<string>",
"external_id": "<string>",
"preferences": {
"display_title": "Acme Legal Retainer",
"logo_url": "<string>",
"company_name": "<string>",
"favicon_url": "<string>",
"primary_button_color": "#2f5d8a",
"header_color": "#14213d",
"show_branding": True,
"brand_id": 7,
"custom_domain": "sign.example.com",
"signing_nav_style": "standard"
},
"submitters": [
{
"name": "<string>",
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"schema": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"submitter_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"required": True,
"readonly": True,
"key": "<string>",
"default_value": "<string>",
"placeholder": "<string>",
"pattern": "<string>",
"options": ["<string>"],
"formula": "<string>",
"areas": [
{
"x": 23.07,
"y": 20.35,
"w": 25,
"h": 5,
"page": 1,
"attachment_uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"preferences": {}
}
]
}
headers = {
"X-Auth-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Auth-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
folder_name: '<string>',
external_id: '<string>',
preferences: {
display_title: 'Acme Legal Retainer',
logo_url: '<string>',
company_name: '<string>',
favicon_url: '<string>',
primary_button_color: '#2f5d8a',
header_color: '#14213d',
show_branding: true,
brand_id: 7,
custom_domain: 'sign.example.com',
signing_nav_style: 'standard'
},
submitters: [{name: '<string>', uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a'}],
schema: [
{
uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
submitter_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
required: true,
readonly: true,
key: '<string>',
default_value: '<string>',
placeholder: '<string>',
pattern: '<string>',
options: ['<string>'],
formula: '<string>',
areas: [
{
x: 23.07,
y: 20.35,
w: 25,
h: 5,
page: 1,
attachment_uuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
}
],
preferences: {}
}
]
})
};
fetch('https://spitshake.io/api/templates/{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://spitshake.io/api/templates/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'folder_name' => '<string>',
'external_id' => '<string>',
'preferences' => [
'display_title' => 'Acme Legal Retainer',
'logo_url' => '<string>',
'company_name' => '<string>',
'favicon_url' => '<string>',
'primary_button_color' => '#2f5d8a',
'header_color' => '#14213d',
'show_branding' => true,
'brand_id' => 7,
'custom_domain' => 'sign.example.com',
'signing_nav_style' => 'standard'
],
'submitters' => [
[
'name' => '<string>',
'uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
],
'schema' => [
[
'uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'submitter_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'required' => true,
'readonly' => true,
'key' => '<string>',
'default_value' => '<string>',
'placeholder' => '<string>',
'pattern' => '<string>',
'options' => [
'<string>'
],
'formula' => '<string>',
'areas' => [
[
'x' => 23.07,
'y' => 20.35,
'w' => 25,
'h' => 5,
'page' => 1,
'attachment_uuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
],
'preferences' => [
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Auth-Token: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://spitshake.io/api/templates/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"folder_name\": \"<string>\",\n \"external_id\": \"<string>\",\n \"preferences\": {\n \"display_title\": \"Acme Legal Retainer\",\n \"logo_url\": \"<string>\",\n \"company_name\": \"<string>\",\n \"favicon_url\": \"<string>\",\n \"primary_button_color\": \"#2f5d8a\",\n \"header_color\": \"#14213d\",\n \"show_branding\": true,\n \"brand_id\": 7,\n \"custom_domain\": \"sign.example.com\",\n \"signing_nav_style\": \"standard\"\n },\n \"submitters\": [\n {\n \"name\": \"<string>\",\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"schema\": [\n {\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"submitter_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"required\": true,\n \"readonly\": true,\n \"key\": \"<string>\",\n \"default_value\": \"<string>\",\n \"placeholder\": \"<string>\",\n \"pattern\": \"<string>\",\n \"options\": [\n \"<string>\"\n ],\n \"formula\": \"<string>\",\n \"areas\": [\n {\n \"x\": 23.07,\n \"y\": 20.35,\n \"w\": 25,\n \"h\": 5,\n \"page\": 1,\n \"attachment_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"preferences\": {}\n }\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Auth-Token", "<api-key>")
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.put("https://spitshake.io/api/templates/{id}")
.header("X-Auth-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"folder_name\": \"<string>\",\n \"external_id\": \"<string>\",\n \"preferences\": {\n \"display_title\": \"Acme Legal Retainer\",\n \"logo_url\": \"<string>\",\n \"company_name\": \"<string>\",\n \"favicon_url\": \"<string>\",\n \"primary_button_color\": \"#2f5d8a\",\n \"header_color\": \"#14213d\",\n \"show_branding\": true,\n \"brand_id\": 7,\n \"custom_domain\": \"sign.example.com\",\n \"signing_nav_style\": \"standard\"\n },\n \"submitters\": [\n {\n \"name\": \"<string>\",\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"schema\": [\n {\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"submitter_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"required\": true,\n \"readonly\": true,\n \"key\": \"<string>\",\n \"default_value\": \"<string>\",\n \"placeholder\": \"<string>\",\n \"pattern\": \"<string>\",\n \"options\": [\n \"<string>\"\n ],\n \"formula\": \"<string>\",\n \"areas\": [\n {\n \"x\": 23.07,\n \"y\": 20.35,\n \"w\": 25,\n \"h\": 5,\n \"page\": 1,\n \"attachment_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"preferences\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://spitshake.io/api/templates/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-Auth-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"folder_name\": \"<string>\",\n \"external_id\": \"<string>\",\n \"preferences\": {\n \"display_title\": \"Acme Legal Retainer\",\n \"logo_url\": \"<string>\",\n \"company_name\": \"<string>\",\n \"favicon_url\": \"<string>\",\n \"primary_button_color\": \"#2f5d8a\",\n \"header_color\": \"#14213d\",\n \"show_branding\": true,\n \"brand_id\": 7,\n \"custom_domain\": \"sign.example.com\",\n \"signing_nav_style\": \"standard\"\n },\n \"submitters\": [\n {\n \"name\": \"<string>\",\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"schema\": [\n {\n \"uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"submitter_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"required\": true,\n \"readonly\": true,\n \"key\": \"<string>\",\n \"default_value\": \"<string>\",\n \"placeholder\": \"<string>\",\n \"pattern\": \"<string>\",\n \"options\": [\n \"<string>\"\n ],\n \"formula\": \"<string>\",\n \"areas\": [\n {\n \"x\": 23.07,\n \"y\": 20.35,\n \"w\": 25,\n \"h\": 5,\n \"page\": 1,\n \"attachment_uuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n ],\n \"preferences\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"external_id": "<string>",
"folder_name": "<string>",
"source": "upload",
"shared": true,
"download_url": "<string>",
"field_count": 123,
"submitter_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"thumbnail_url": "<string>"
}{
"code": "invalid_redirect_url",
"error": "Schema field areas have invalid page numbers",
"details": [
"Field 'Signature': area.page 35 is out of bounds for document (1..1). Use per-document page numbers, not global page offsets."
]
}
