Start Widget
curl --request POST \
--url https://sandbox.axle.insure/widgets \
--header 'Content-Type: application/json' \
--header 'x-client-id: <x-client-id>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"validation": {
"enabled": true,
"data": {
"validationResult": "val_abcdef123456"
}
}
}
'import requests
url = "https://sandbox.axle.insure/widgets"
payload = { "validation": {
"enabled": True,
"data": { "validationResult": "val_abcdef123456" }
} }
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({validation: {enabled: true, data: {validationResult: 'val_abcdef123456'}}})
};
fetch('https://sandbox.axle.insure/widgets', 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/widgets",
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([
'validation' => [
'enabled' => true,
'data' => [
'validationResult' => 'val_abcdef123456'
]
]
]),
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/widgets"
payload := strings.NewReader("{\n \"validation\": {\n \"enabled\": true,\n \"data\": {\n \"validationResult\": \"val_abcdef123456\"\n }\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/widgets")
.header("x-client-id", "<x-client-id>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"validation\": {\n \"enabled\": true,\n \"data\": {\n \"validationResult\": \"val_abcdef123456\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.axle.insure/widgets")
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 \"validation\": {\n \"enabled\": true,\n \"data\": {\n \"validationResult\": \"val_abcdef123456\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"widgetToken": "ey...",
"widgetUri": "https://widget.sandbox.axle.insure/?token=ey..."
}
}{
"success": false,
"message": "Input validation failed due to one or more missing or invalid parameters. Review the request and try again."
}{
"message": "Client does not have access to validation result val_abcdef123456."
}{
"message": "Too Many Requests"
}Widgets
Start Widget
Generate a widget session. Returns a widgetToken and widgetUri to display Axle’s embeddable widget experience to the user. Currently, validation is the only supported widget type.
POST
/
widgets
Start Widget
curl --request POST \
--url https://sandbox.axle.insure/widgets \
--header 'Content-Type: application/json' \
--header 'x-client-id: <x-client-id>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"validation": {
"enabled": true,
"data": {
"validationResult": "val_abcdef123456"
}
}
}
'import requests
url = "https://sandbox.axle.insure/widgets"
payload = { "validation": {
"enabled": True,
"data": { "validationResult": "val_abcdef123456" }
} }
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({validation: {enabled: true, data: {validationResult: 'val_abcdef123456'}}})
};
fetch('https://sandbox.axle.insure/widgets', 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/widgets",
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([
'validation' => [
'enabled' => true,
'data' => [
'validationResult' => 'val_abcdef123456'
]
]
]),
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/widgets"
payload := strings.NewReader("{\n \"validation\": {\n \"enabled\": true,\n \"data\": {\n \"validationResult\": \"val_abcdef123456\"\n }\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/widgets")
.header("x-client-id", "<x-client-id>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"validation\": {\n \"enabled\": true,\n \"data\": {\n \"validationResult\": \"val_abcdef123456\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.axle.insure/widgets")
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 \"validation\": {\n \"enabled\": true,\n \"data\": {\n \"validationResult\": \"val_abcdef123456\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"widgetToken": "ey...",
"widgetUri": "https://widget.sandbox.axle.insure/?token=ey..."
}
}{
"success": false,
"message": "Input validation failed due to one or more missing or invalid parameters. Review the request and try again."
}{
"message": "Client does not have access to validation result val_abcdef123456."
}{
"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
application/json
Configuration for a validation widget session.
Show child attributes
Show child attributes
Was this page helpful?
⌘I