curl --request PATCH \
--url 'https://api.vida.dev/api/v2/contact/{contactId}?token=' \
--header 'Content-Type: application/json' \
--data '
{
"address": {
"zip": "71101"
},
"customFields": {
"vendorLeadCode": "lead-123"
},
"notes": null
}
'import requests
url = "https://api.vida.dev/api/v2/contact/{contactId}?token="
payload = {
"address": { "zip": "71101" },
"customFields": { "vendorLeadCode": "lead-123" },
"notes": None
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
address: {zip: '71101'},
customFields: {vendorLeadCode: 'lead-123'},
notes: null
})
};
fetch('https://api.vida.dev/api/v2/contact/{contactId}?token=', 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.vida.dev/api/v2/contact/{contactId}?token=",
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([
'address' => [
'zip' => '71101'
],
'customFields' => [
'vendorLeadCode' => 'lead-123'
],
'notes' => null
]),
CURLOPT_HTTPHEADER => [
"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.vida.dev/api/v2/contact/{contactId}?token="
payload := strings.NewReader("{\n \"address\": {\n \"zip\": \"71101\"\n },\n \"customFields\": {\n \"vendorLeadCode\": \"lead-123\"\n },\n \"notes\": null\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.vida.dev/api/v2/contact/{contactId}?token=")
.header("Content-Type", "application/json")
.body("{\n \"address\": {\n \"zip\": \"71101\"\n },\n \"customFields\": {\n \"vendorLeadCode\": \"lead-123\"\n },\n \"notes\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/contact/{contactId}?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": {\n \"zip\": \"71101\"\n },\n \"customFields\": {\n \"vendorLeadCode\": \"lead-123\"\n },\n \"notes\": null\n}"
response = http.request(request)
puts response.read_bodyPartially update a Contact
Recursively merges allowed Contact fields. Explicit null removes a field; arrays and scalars replace. The final customFields object allows at most 20 top-level keys and 8192 UTF-8 bytes. Send Contact fields directly in the request body. See Contact fields.
curl --request PATCH \
--url 'https://api.vida.dev/api/v2/contact/{contactId}?token=' \
--header 'Content-Type: application/json' \
--data '
{
"address": {
"zip": "71101"
},
"customFields": {
"vendorLeadCode": "lead-123"
},
"notes": null
}
'import requests
url = "https://api.vida.dev/api/v2/contact/{contactId}?token="
payload = {
"address": { "zip": "71101" },
"customFields": { "vendorLeadCode": "lead-123" },
"notes": None
}
headers = {"Content-Type": "application/json"}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
address: {zip: '71101'},
customFields: {vendorLeadCode: 'lead-123'},
notes: null
})
};
fetch('https://api.vida.dev/api/v2/contact/{contactId}?token=', 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.vida.dev/api/v2/contact/{contactId}?token=",
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([
'address' => [
'zip' => '71101'
],
'customFields' => [
'vendorLeadCode' => 'lead-123'
],
'notes' => null
]),
CURLOPT_HTTPHEADER => [
"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.vida.dev/api/v2/contact/{contactId}?token="
payload := strings.NewReader("{\n \"address\": {\n \"zip\": \"71101\"\n },\n \"customFields\": {\n \"vendorLeadCode\": \"lead-123\"\n },\n \"notes\": null\n}")
req, _ := http.NewRequest("PATCH", url, payload)
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.vida.dev/api/v2/contact/{contactId}?token=")
.header("Content-Type", "application/json")
.body("{\n \"address\": {\n \"zip\": \"71101\"\n },\n \"customFields\": {\n \"vendorLeadCode\": \"lead-123\"\n },\n \"notes\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/contact/{contactId}?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": {\n \"zip\": \"71101\"\n },\n \"customFields\": {\n \"vendorLeadCode\": \"lead-123\"\n },\n \"notes\": null\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Vida API Token
Path Parameters
Body
Writable organization Contact fields. See Contact fields for every field and nested property. PATCH recursively merges objects, replaces arrays/scalars and removes fields set to null. POST creates or shallowly updates top-level fields; use PATCH to preserve nested siblings.
"Example Person"
"lead@example.com"
"+15551234567"
Organization Contact display data only; does not change outbound caller ID.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Custom JSON data, at most 20 top-level keys and 8192 UTF-8 JSON bytes, including existing values after merge.
{
"vendorLeadCode": "lead-123",
"source": "website"
}
Show child attributes
Show child attributes
Show child attributes
Show child attributes