Update a product profile
curl --request PATCH \
--url https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"targetMarket": {
"ref": "<string>"
},
"primaryCuts": [
{
"ref": "<string>"
}
]
}
'import requests
url = "https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile"
payload = {
"targetMarket": { "ref": "<string>" },
"primaryCuts": [{ "ref": "<string>" }]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({targetMarket: {ref: '<string>'}, primaryCuts: [{ref: '<string>'}]})
};
fetch('https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile', 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://api.effectiveai.app/api/v2/insurance/products/{productId}/profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'targetMarket' => [
'ref' => '<string>'
],
'primaryCuts' => [
[
'ref' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.effectiveai.app/api/v2/insurance/products/{productId}/profile"
payload := strings.NewReader("{\n \"targetMarket\": {\n \"ref\": \"<string>\"\n },\n \"primaryCuts\": [\n {\n \"ref\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"targetMarket\": {\n \"ref\": \"<string>\"\n },\n \"primaryCuts\": [\n {\n \"ref\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"targetMarket\": {\n \"ref\": \"<string>\"\n },\n \"primaryCuts\": [\n {\n \"ref\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"customerType": "PERSONAL",
"structure": "PACKAGE",
"targetMarket": {
"ref": "<string>"
},
"primaryCuts": [
{
"ref": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}Products
Update a product profile
Super Admin only. Store supplied fields atomically; omitted fields stay unchanged, null clears a scalar/target market, and primaryCuts replaces the complete ordered list (maximum 100). Target market is an existing option ref or custom text (maximum 1000 characters). Custom text does not create registry entries. References must resolve. Repeating the same patch has the same stored result; no events or external effects are emitted.
PATCH
/
insurance
/
products
/
{productId}
/
profile
Update a product profile
curl --request PATCH \
--url https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"targetMarket": {
"ref": "<string>"
},
"primaryCuts": [
{
"ref": "<string>"
}
]
}
'import requests
url = "https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile"
payload = {
"targetMarket": { "ref": "<string>" },
"primaryCuts": [{ "ref": "<string>" }]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({targetMarket: {ref: '<string>'}, primaryCuts: [{ref: '<string>'}]})
};
fetch('https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile', 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://api.effectiveai.app/api/v2/insurance/products/{productId}/profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'targetMarket' => [
'ref' => '<string>'
],
'primaryCuts' => [
[
'ref' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.effectiveai.app/api/v2/insurance/products/{productId}/profile"
payload := strings.NewReader("{\n \"targetMarket\": {\n \"ref\": \"<string>\"\n },\n \"primaryCuts\": [\n {\n \"ref\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.patch("https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"targetMarket\": {\n \"ref\": \"<string>\"\n },\n \"primaryCuts\": [\n {\n \"ref\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.effectiveai.app/api/v2/insurance/products/{productId}/profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"targetMarket\": {\n \"ref\": \"<string>\"\n },\n \"primaryCuts\": [\n {\n \"ref\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"customerType": "PERSONAL",
"structure": "PACKAGE",
"targetMarket": {
"ref": "<string>"
},
"primaryCuts": [
{
"ref": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}Authorizations
Effective API key. Send Authorization: Bearer sk-eai-...
Path Parameters
Managed product_ ID or bare checked code; case-insensitive with Crockford aliases.
Body
application/json
Response
The stored profile.
Available options:
PERSONAL, BUSINESS, null Available options:
PACKAGE, MONOLINE, null - Option 1
- Option 2
Show child attributes
Show child attributes
Maximum array length:
100Show child attributes
Show child attributes