Update a household
Update a household’s name, tier, became_client_at, or custom field values. Client-only fields (tier, became_client_at) are silently ignored when updating a Prospect. Custom fields are supported for both Clients and Prospects and use existing Household field_key values.
curl --request PATCH \
--url https://api.slant.app/v1/households/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"household_name": "The Updated Household",
"tier": "C-tier",
"became_client_at": "2024-06-01T00:00:00Z",
"custom_fields": {
"alma_mater": "BYU",
"interests": [
"Golf",
"Travel"
],
"is_retired": false
}
}
'import requests
url = "https://api.slant.app/v1/households/{id}"
payload = {
"household_name": "The Updated Household",
"tier": "C-tier",
"became_client_at": "2024-06-01T00:00:00Z",
"custom_fields": {
"alma_mater": "BYU",
"interests": ["Golf", "Travel"],
"is_retired": False
}
}
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({
household_name: 'The Updated Household',
tier: 'C-tier',
became_client_at: '2024-06-01T00:00:00Z',
custom_fields: {alma_mater: 'BYU', interests: ['Golf', 'Travel'], is_retired: false}
})
};
fetch('https://api.slant.app/v1/households/{id}', 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.slant.app/v1/households/{id}",
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([
'household_name' => 'The Updated Household',
'tier' => 'C-tier',
'became_client_at' => '2024-06-01T00:00:00Z',
'custom_fields' => [
'alma_mater' => 'BYU',
'interests' => [
'Golf',
'Travel'
],
'is_retired' => false
]
]),
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.slant.app/v1/households/{id}"
payload := strings.NewReader("{\n \"household_name\": \"The Updated Household\",\n \"tier\": \"C-tier\",\n \"became_client_at\": \"2024-06-01T00:00:00Z\",\n \"custom_fields\": {\n \"alma_mater\": \"BYU\",\n \"interests\": [\n \"Golf\",\n \"Travel\"\n ],\n \"is_retired\": false\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.slant.app/v1/households/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"household_name\": \"The Updated Household\",\n \"tier\": \"C-tier\",\n \"became_client_at\": \"2024-06-01T00:00:00Z\",\n \"custom_fields\": {\n \"alma_mater\": \"BYU\",\n \"interests\": [\n \"Golf\",\n \"Travel\"\n ],\n \"is_retired\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slant.app/v1/households/{id}")
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 \"household_name\": \"The Updated Household\",\n \"tier\": \"C-tier\",\n \"became_client_at\": \"2024-06-01T00:00:00Z\",\n \"custom_fields\": {\n \"alma_mater\": \"BYU\",\n \"interests\": [\n \"Golf\",\n \"Travel\"\n ],\n \"is_retired\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "abc123xyz",
"type": "Client",
"name": "The Smith Family",
"book_id": "book123xyz",
"people": [
{
"id": "abc123xyz",
"book_id": "book123xyz",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"first_name": "John",
"last_name": "Doe",
"household_id": "xyz789abc",
"contact_id": "cnt456def",
"role_type": "client",
"middle_name": "Robert",
"salutation": "Mr.",
"suffix": "Jr.",
"maiden_name": "Smith",
"gender": "male",
"designations": "CPA, CFP",
"household_role": "head_of_household",
"preferred_name": "Johnny",
"date_of_birth": "1985-06-15",
"date_of_death": "2026-01-15",
"job_title": "Software Engineer",
"ssn": "***-**-6789",
"drivers_license_number": "******7890",
"email_addresses": [
{
"email": "john.doe@example.com",
"email_type": "personal",
"is_primary": true
}
],
"phone_numbers": [
{
"phone_number": "+15555551234",
"phone_type": "mobile",
"is_primary": true,
"extension": "1234"
}
],
"addresses": [
{
"address_type": "home",
"is_primary": true,
"line1": "123 Main St",
"line2": "Apt 4B",
"city": "New York",
"state": "NY",
"zip": "10001",
"country_code": "US"
}
],
"employments": [
{
"business_name": "Acme Corp",
"id": "emp123xyz",
"person_id": "abc123xyz",
"business_id": "<string>",
"role": "Software Engineer",
"start_date": "2023-01-15",
"end_date": "2024-12-31",
"actively_employed": true
}
],
"custom_fields": {
"preferred_contact_method": "Email",
"risk_tolerance": "Moderate"
}
}
],
"tier": "Platinum",
"became_client_at": "2024-01-01T00:00:00Z",
"profile_picture_url": "https://api.example.com/v1/households/abc123xyz/avatar",
"custom_fields": {
"pageport_lead_source": "Landing Page",
"industry": "Technology"
}
}Authorizations
OAuth 2.0 Bearer Token from Clerk authentication
Path Parameters
The household ID
Body
Name of the household
"The Updated Household"
Client tier label (Clients only)
"C-tier"
When the household became a client (Clients only)
"2024-06-01T00:00:00Z"
Custom field values keyed by existing Household field_key. Omitted keys are preserved. Null, blank strings, and empty arrays clear individual values; false is preserved. Unknown field keys are rejected.
{
"alma_mater": "BYU",
"interests": ["Golf", "Travel"],
"is_retired": false
}
Response
successful
The ID of the household
"abc123xyz"
The type of household
Client, Prospect "Client"
The name of the household
"The Smith Family"
The ID of the book this household belongs to
"book123xyz"
The people in this household
Show child attributes
Show child attributes
The tier label for this household (null for Prospects)
"Platinum"
When this household became a client (null for Prospects)
"2024-01-01T00:00:00Z"
URL to the household profile picture
"https://api.example.com/v1/households/abc123xyz/avatar"
Custom field values as key-value pairs
{
"pageport_lead_source": "Landing Page",
"industry": "Technology"
}
curl --request PATCH \
--url https://api.slant.app/v1/households/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"household_name": "The Updated Household",
"tier": "C-tier",
"became_client_at": "2024-06-01T00:00:00Z",
"custom_fields": {
"alma_mater": "BYU",
"interests": [
"Golf",
"Travel"
],
"is_retired": false
}
}
'import requests
url = "https://api.slant.app/v1/households/{id}"
payload = {
"household_name": "The Updated Household",
"tier": "C-tier",
"became_client_at": "2024-06-01T00:00:00Z",
"custom_fields": {
"alma_mater": "BYU",
"interests": ["Golf", "Travel"],
"is_retired": False
}
}
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({
household_name: 'The Updated Household',
tier: 'C-tier',
became_client_at: '2024-06-01T00:00:00Z',
custom_fields: {alma_mater: 'BYU', interests: ['Golf', 'Travel'], is_retired: false}
})
};
fetch('https://api.slant.app/v1/households/{id}', 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.slant.app/v1/households/{id}",
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([
'household_name' => 'The Updated Household',
'tier' => 'C-tier',
'became_client_at' => '2024-06-01T00:00:00Z',
'custom_fields' => [
'alma_mater' => 'BYU',
'interests' => [
'Golf',
'Travel'
],
'is_retired' => false
]
]),
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.slant.app/v1/households/{id}"
payload := strings.NewReader("{\n \"household_name\": \"The Updated Household\",\n \"tier\": \"C-tier\",\n \"became_client_at\": \"2024-06-01T00:00:00Z\",\n \"custom_fields\": {\n \"alma_mater\": \"BYU\",\n \"interests\": [\n \"Golf\",\n \"Travel\"\n ],\n \"is_retired\": false\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.slant.app/v1/households/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"household_name\": \"The Updated Household\",\n \"tier\": \"C-tier\",\n \"became_client_at\": \"2024-06-01T00:00:00Z\",\n \"custom_fields\": {\n \"alma_mater\": \"BYU\",\n \"interests\": [\n \"Golf\",\n \"Travel\"\n ],\n \"is_retired\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slant.app/v1/households/{id}")
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 \"household_name\": \"The Updated Household\",\n \"tier\": \"C-tier\",\n \"became_client_at\": \"2024-06-01T00:00:00Z\",\n \"custom_fields\": {\n \"alma_mater\": \"BYU\",\n \"interests\": [\n \"Golf\",\n \"Travel\"\n ],\n \"is_retired\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "abc123xyz",
"type": "Client",
"name": "The Smith Family",
"book_id": "book123xyz",
"people": [
{
"id": "abc123xyz",
"book_id": "book123xyz",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"first_name": "John",
"last_name": "Doe",
"household_id": "xyz789abc",
"contact_id": "cnt456def",
"role_type": "client",
"middle_name": "Robert",
"salutation": "Mr.",
"suffix": "Jr.",
"maiden_name": "Smith",
"gender": "male",
"designations": "CPA, CFP",
"household_role": "head_of_household",
"preferred_name": "Johnny",
"date_of_birth": "1985-06-15",
"date_of_death": "2026-01-15",
"job_title": "Software Engineer",
"ssn": "***-**-6789",
"drivers_license_number": "******7890",
"email_addresses": [
{
"email": "john.doe@example.com",
"email_type": "personal",
"is_primary": true
}
],
"phone_numbers": [
{
"phone_number": "+15555551234",
"phone_type": "mobile",
"is_primary": true,
"extension": "1234"
}
],
"addresses": [
{
"address_type": "home",
"is_primary": true,
"line1": "123 Main St",
"line2": "Apt 4B",
"city": "New York",
"state": "NY",
"zip": "10001",
"country_code": "US"
}
],
"employments": [
{
"business_name": "Acme Corp",
"id": "emp123xyz",
"person_id": "abc123xyz",
"business_id": "<string>",
"role": "Software Engineer",
"start_date": "2023-01-15",
"end_date": "2024-12-31",
"actively_employed": true
}
],
"custom_fields": {
"preferred_contact_method": "Email",
"risk_tolerance": "Moderate"
}
}
],
"tier": "Platinum",
"became_client_at": "2024-01-01T00:00:00Z",
"profile_picture_url": "https://api.example.com/v1/households/abc123xyz/avatar",
"custom_fields": {
"pageport_lead_source": "Landing Page",
"industry": "Technology"
}
}