curl --request POST \
--url https://sandbox.axle.insure/validation/templates \
--header 'Content-Type: application/json' \
--header 'x-client-id: <x-client-id>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"displayName": "Example Template",
"rules": [
{
"rule": "policy-active"
},
{
"rule": "collision-coverage-meets-requirements",
"input": {
"deductible": {
"source": "maxDeductible",
"default": 500
}
}
}
],
"metadata": {
"locationId": "123"
}
}
'import requests
url = "https://sandbox.axle.insure/validation/templates"
payload = {
"displayName": "Example Template",
"rules": [
{ "rule": "policy-active" },
{
"rule": "collision-coverage-meets-requirements",
"input": { "deductible": {
"source": "maxDeductible",
"default": 500
} }
}
],
"metadata": { "locationId": "123" }
}
headers = {
"x-client-id": "<x-client-id>",
"x-client-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<x-client-id>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
displayName: 'Example Template',
rules: [
{rule: 'policy-active'},
{
rule: 'collision-coverage-meets-requirements',
input: {deductible: {source: 'maxDeductible', default: 500}}
}
],
metadata: {locationId: '123'}
})
};
fetch('https://sandbox.axle.insure/validation/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://sandbox.axle.insure/validation/templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'displayName' => 'Example Template',
'rules' => [
[
'rule' => 'policy-active'
],
[
'rule' => 'collision-coverage-meets-requirements',
'input' => [
'deductible' => [
'source' => 'maxDeductible',
'default' => 500
]
]
]
],
'metadata' => [
'locationId' => '123'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-client-id: <x-client-id>",
"x-client-secret: <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://sandbox.axle.insure/validation/templates"
payload := strings.NewReader("{\n \"displayName\": \"Example Template\",\n \"rules\": [\n {\n \"rule\": \"policy-active\"\n },\n {\n \"rule\": \"collision-coverage-meets-requirements\",\n \"input\": {\n \"deductible\": {\n \"source\": \"maxDeductible\",\n \"default\": 500\n }\n }\n }\n ],\n \"metadata\": {\n \"locationId\": \"123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<x-client-id>")
req.Header.Add("x-client-secret", "<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.post("https://sandbox.axle.insure/validation/templates")
.header("x-client-id", "<x-client-id>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"displayName\": \"Example Template\",\n \"rules\": [\n {\n \"rule\": \"policy-active\"\n },\n {\n \"rule\": \"collision-coverage-meets-requirements\",\n \"input\": {\n \"deductible\": {\n \"source\": \"maxDeductible\",\n \"default\": 500\n }\n }\n }\n ],\n \"metadata\": {\n \"locationId\": \"123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.axle.insure/validation/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<x-client-id>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"displayName\": \"Example Template\",\n \"rules\": [\n {\n \"rule\": \"policy-active\"\n },\n {\n \"rule\": \"collision-coverage-meets-requirements\",\n \"input\": {\n \"deductible\": {\n \"source\": \"maxDeductible\",\n \"default\": 500\n }\n }\n }\n ],\n \"metadata\": {\n \"locationId\": \"123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "<string>"
}
}{
"success": false,
"message": "Input validation failed due to one or more missing or invalid parameters. Review the request and try again."
}{
"message": "Too Many Requests"
}Create Template
Create a new template for your client.
Refer to the Policy Validation with Templates guide for more details.
⚠️ This endpoint will generate template only for provided clientId, and if provided, for destinationId. If you are a platform client
and want to create a template for all of your clients, refer to create platform templates API endpoint
curl --request POST \
--url https://sandbox.axle.insure/validation/templates \
--header 'Content-Type: application/json' \
--header 'x-client-id: <x-client-id>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"displayName": "Example Template",
"rules": [
{
"rule": "policy-active"
},
{
"rule": "collision-coverage-meets-requirements",
"input": {
"deductible": {
"source": "maxDeductible",
"default": 500
}
}
}
],
"metadata": {
"locationId": "123"
}
}
'import requests
url = "https://sandbox.axle.insure/validation/templates"
payload = {
"displayName": "Example Template",
"rules": [
{ "rule": "policy-active" },
{
"rule": "collision-coverage-meets-requirements",
"input": { "deductible": {
"source": "maxDeductible",
"default": 500
} }
}
],
"metadata": { "locationId": "123" }
}
headers = {
"x-client-id": "<x-client-id>",
"x-client-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-id': '<x-client-id>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
displayName: 'Example Template',
rules: [
{rule: 'policy-active'},
{
rule: 'collision-coverage-meets-requirements',
input: {deductible: {source: 'maxDeductible', default: 500}}
}
],
metadata: {locationId: '123'}
})
};
fetch('https://sandbox.axle.insure/validation/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://sandbox.axle.insure/validation/templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'displayName' => 'Example Template',
'rules' => [
[
'rule' => 'policy-active'
],
[
'rule' => 'collision-coverage-meets-requirements',
'input' => [
'deductible' => [
'source' => 'maxDeductible',
'default' => 500
]
]
]
],
'metadata' => [
'locationId' => '123'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-client-id: <x-client-id>",
"x-client-secret: <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://sandbox.axle.insure/validation/templates"
payload := strings.NewReader("{\n \"displayName\": \"Example Template\",\n \"rules\": [\n {\n \"rule\": \"policy-active\"\n },\n {\n \"rule\": \"collision-coverage-meets-requirements\",\n \"input\": {\n \"deductible\": {\n \"source\": \"maxDeductible\",\n \"default\": 500\n }\n }\n }\n ],\n \"metadata\": {\n \"locationId\": \"123\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-id", "<x-client-id>")
req.Header.Add("x-client-secret", "<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.post("https://sandbox.axle.insure/validation/templates")
.header("x-client-id", "<x-client-id>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"displayName\": \"Example Template\",\n \"rules\": [\n {\n \"rule\": \"policy-active\"\n },\n {\n \"rule\": \"collision-coverage-meets-requirements\",\n \"input\": {\n \"deductible\": {\n \"source\": \"maxDeductible\",\n \"default\": 500\n }\n }\n }\n ],\n \"metadata\": {\n \"locationId\": \"123\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.axle.insure/validation/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<x-client-id>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"displayName\": \"Example Template\",\n \"rules\": [\n {\n \"rule\": \"policy-active\"\n },\n {\n \"rule\": \"collision-coverage-meets-requirements\",\n \"input\": {\n \"deductible\": {\n \"source\": \"maxDeductible\",\n \"default\": 500\n }\n }\n }\n ],\n \"metadata\": {\n \"locationId\": \"123\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": "<string>"
}
}{
"success": false,
"message": "Input validation failed due to one or more missing or invalid parameters. Review the request and try again."
}{
"message": "Too Many Requests"
}Authorizations
Your secret API key. This will be shared with you during onboarding and should be considered sensitive - it’s a password after all! Your secret will be matched with your client ID to authenticate your requests.
Headers
Your client ID. This will be shared with you during onboarding.
The client ID of the destination client. This is optional and only used by platform clients. See the Axle for Platforms guide for more information.
Body
User friendly name of the template.
A list of Rules to perform on the policy object.
- Rule With No Input
- Rule With Input
Show child attributes
Show child attributes
Optional object to store custom information about the template. If provided, this value is returned in Get Template and Get Templates responses.
Was this page helpful?