curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates \
--header 'Authorization: Bearer <token>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-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://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440401",
"name": "Quote ready",
"version": 2,
"requiresPacket": false,
"attachPacketDefault": false
},
{
"id": "550e8400-e29b-41d4-a716-446655440402",
"name": "Quote packet",
"version": 1,
"requiresPacket": true,
"attachPacketDefault": true
}
]
}List Policy Sendable Email Templates
Lists the email templates the caller can send from this record: the
latest version of each template of the record’s type. Without
fromPacket, only templates that need no packet; with fromPacket=true,
every template, for sending from one of the record’s packets. These are
the templates the app’s Send email dialog offers.
Answers 404 while email is not turned on for the company.
The policy’s twin of the record route under /entities: policies live
under the policy API.
Required permission: email.send and policy.view.
curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates \
--header 'Authorization: Bearer <token>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-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://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/sendable-email-templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440401",
"name": "Quote ready",
"version": 2,
"requiresPacket": false,
"attachPacketDefault": false
},
{
"id": "550e8400-e29b-41d4-a716-446655440402",
"name": "Quote packet",
"version": 1,
"requiresPacket": true,
"attachPacketDefault": true
}
]
}Authorizations
User-principal OAuth 2.0 Bearer authentication. Send a user-scoped Auth0 access token (audience = the app API audience) as Authorization: Bearer <jwt>. The request resolves to the user's identity and is authorized by their Role on the {companyId} in the path — the same role-based permissions the web app enforces. This is the path the MCP connector uses to act on a user's behalf; endpoints that accept it list both BearerAuth and ApiKeyAuth.
