curl --request POST \
--url https://sandbox.axle.insure/platform/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/platform/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/platform/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/platform/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/platform/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/platform/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/platform/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": "Invalid credentials"
}{
"message": "Too Many Requests"
}Create Template
Create a new template for all of your destination clients.
Refer to the Policy Validation with Templates guide for more details.
⚠️ This endpoint will generate template and add them to all of your destination clients. If you want to create a template only for specific client, use Create Template endpoint.
curl --request POST \
--url https://sandbox.axle.insure/platform/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/platform/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/platform/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/platform/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/platform/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/platform/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/platform/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": "Invalid credentials"
}{
"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.
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?