Update a record (append multiselect values)
curl --request PATCH \
--url https://api.attio.com/v2/objects/{object}/records/{record_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"values": {
"41252299-f8c7-4b5e-99c9-4ff8321d2f96": "Text value",
"multiselect_attribute": [
"Select option 1",
"Select option 2"
]
}
}
}
'import requests
url = "https://api.attio.com/v2/objects/{object}/records/{record_id}"
payload = { "data": { "values": {
"41252299-f8c7-4b5e-99c9-4ff8321d2f96": "Text value",
"multiselect_attribute": ["Select option 1", "Select option 2"]
} } }
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({
data: {
values: {
'41252299-f8c7-4b5e-99c9-4ff8321d2f96': 'Text value',
multiselect_attribute: ['Select option 1', 'Select option 2']
}
}
})
};
fetch('https://api.attio.com/v2/objects/{object}/records/{record_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.attio.com/v2/objects/{object}/records/{record_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([
'data' => [
'values' => [
'41252299-f8c7-4b5e-99c9-4ff8321d2f96' => 'Text value',
'multiselect_attribute' => [
'Select option 1',
'Select option 2'
]
]
]
]),
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.attio.com/v2/objects/{object}/records/{record_id}"
payload := strings.NewReader("{\n \"data\": {\n \"values\": {\n \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\": \"Text value\",\n \"multiselect_attribute\": [\n \"Select option 1\",\n \"Select option 2\"\n ]\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.attio.com/v2/objects/{object}/records/{record_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"values\": {\n \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\": \"Text value\",\n \"multiselect_attribute\": [\n \"Select option 1\",\n \"Select option 2\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attio.com/v2/objects/{object}/records/{record_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 \"data\": {\n \"values\": {\n \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\": \"Text value\",\n \"multiselect_attribute\": [\n \"Select option 1\",\n \"Select option 2\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": {
"workspace_id": "14beef7a-99f7-4534-a87e-70b564330a4c",
"object_id": "97052eb9-e65e-443f-a297-f2d9a4a7f795",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b"
},
"created_at": "2022-11-21T13:22:49.061281000Z",
"web_url": "https://app.attio.com/salarya/person/bf071e1f-6035-429d-b874-d83ea64ea13b",
"values": {}
}
}{
"status_code": 400,
"type": "invalid_request_error",
"code": "missing_value",
"message": "Required value for attribute with ID \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\" was not provided."
}{
"status_code": 404,
"type": "invalid_request_error",
"code": "not_found",
"message": "Object with slug/ID \"people\" not found."
}Records
Update a record (append multiselect values)
Use this endpoint to update people, companies, and other records by record_id. If the update payload includes multiselect attributes, the values supplied will be created and prepended to the list of values that already exist (if any). Use the PUT endpoint to overwrite or remove multiselect attribute values.
Required scopes: record_permission:read-write, object_configuration:read.
PATCH
/
v2
/
objects
/
{object}
/
records
/
{record_id}
Update a record (append multiselect values)
curl --request PATCH \
--url https://api.attio.com/v2/objects/{object}/records/{record_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"values": {
"41252299-f8c7-4b5e-99c9-4ff8321d2f96": "Text value",
"multiselect_attribute": [
"Select option 1",
"Select option 2"
]
}
}
}
'import requests
url = "https://api.attio.com/v2/objects/{object}/records/{record_id}"
payload = { "data": { "values": {
"41252299-f8c7-4b5e-99c9-4ff8321d2f96": "Text value",
"multiselect_attribute": ["Select option 1", "Select option 2"]
} } }
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({
data: {
values: {
'41252299-f8c7-4b5e-99c9-4ff8321d2f96': 'Text value',
multiselect_attribute: ['Select option 1', 'Select option 2']
}
}
})
};
fetch('https://api.attio.com/v2/objects/{object}/records/{record_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.attio.com/v2/objects/{object}/records/{record_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([
'data' => [
'values' => [
'41252299-f8c7-4b5e-99c9-4ff8321d2f96' => 'Text value',
'multiselect_attribute' => [
'Select option 1',
'Select option 2'
]
]
]
]),
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.attio.com/v2/objects/{object}/records/{record_id}"
payload := strings.NewReader("{\n \"data\": {\n \"values\": {\n \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\": \"Text value\",\n \"multiselect_attribute\": [\n \"Select option 1\",\n \"Select option 2\"\n ]\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.attio.com/v2/objects/{object}/records/{record_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"values\": {\n \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\": \"Text value\",\n \"multiselect_attribute\": [\n \"Select option 1\",\n \"Select option 2\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.attio.com/v2/objects/{object}/records/{record_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 \"data\": {\n \"values\": {\n \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\": \"Text value\",\n \"multiselect_attribute\": [\n \"Select option 1\",\n \"Select option 2\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": {
"workspace_id": "14beef7a-99f7-4534-a87e-70b564330a4c",
"object_id": "97052eb9-e65e-443f-a297-f2d9a4a7f795",
"record_id": "bf071e1f-6035-429d-b874-d83ea64ea13b"
},
"created_at": "2022-11-21T13:22:49.061281000Z",
"web_url": "https://app.attio.com/salarya/person/bf071e1f-6035-429d-b874-d83ea64ea13b",
"values": {}
}
}{
"status_code": 400,
"type": "invalid_request_error",
"code": "missing_value",
"message": "Required value for attribute with ID \"41252299-f8c7-4b5e-99c9-4ff8321d2f96\" was not provided."
}{
"status_code": 404,
"type": "invalid_request_error",
"code": "not_found",
"message": "Object with slug/ID \"people\" not found."
}Authorizations
This API uses OAuth 2.0 with the authorization code grant flow.
Path Parameters
A UUID or slug of the object the record belongs to.
Example:
"people"
A UUID of the record to update.
Example:
"891dcbfc-9141-415d-9b2a-2238a6cc012d"
Body
application/json
Show child attributes
Show child attributes
Response
Success
Success
Show child attributes
Show child attributes
Was this page helpful?
⌘I