Skip to main content
POST
/
action
/
update_customer
Update customer
curl --request POST \
  --url https://api.livechatinc.com/v3.6/agent/action/update_customer \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "b7eff798-f8df-4364-8059-649c35c9ed0c",
  "name": "Thomas Anderson",
  "email": "t.anderson@example.com",
  "avatar": "https://example.com/avatars/1.png",
  "session_fields": [
    {
      "custom_key": "custom_value"
    },
    {
      "another_custom_key": "another_custom_value"
    }
  ]
}
'
import requests

url = "https://api.livechatinc.com/v3.6/agent/action/update_customer"

payload = {
"id": "b7eff798-f8df-4364-8059-649c35c9ed0c",
"name": "Thomas Anderson",
"email": "t.anderson@example.com",
"avatar": "https://example.com/avatars/1.png",
"session_fields": [{ "custom_key": "custom_value" }, { "another_custom_key": "another_custom_value" }]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: 'b7eff798-f8df-4364-8059-649c35c9ed0c',
name: 'Thomas Anderson',
email: 't.anderson@example.com',
avatar: 'https://example.com/avatars/1.png',
session_fields: [{custom_key: 'custom_value'}, {another_custom_key: 'another_custom_value'}]
})
};

fetch('https://api.livechatinc.com/v3.6/agent/action/update_customer', 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.livechatinc.com/v3.6/agent/action/update_customer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 'b7eff798-f8df-4364-8059-649c35c9ed0c',
'name' => 'Thomas Anderson',
'email' => 't.anderson@example.com',
'avatar' => 'https://example.com/avatars/1.png',
'session_fields' => [
[
'custom_key' => 'custom_value'
],
[
'another_custom_key' => 'another_custom_value'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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.livechatinc.com/v3.6/agent/action/update_customer"

payload := strings.NewReader("{\n \"id\": \"b7eff798-f8df-4364-8059-649c35c9ed0c\",\n \"name\": \"Thomas Anderson\",\n \"email\": \"t.anderson@example.com\",\n \"avatar\": \"https://example.com/avatars/1.png\",\n \"session_fields\": [\n {\n \"custom_key\": \"custom_value\"\n },\n {\n \"another_custom_key\": \"another_custom_value\"\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Basic <encoded-value>")
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.post("https://api.livechatinc.com/v3.6/agent/action/update_customer")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"b7eff798-f8df-4364-8059-649c35c9ed0c\",\n \"name\": \"Thomas Anderson\",\n \"email\": \"t.anderson@example.com\",\n \"avatar\": \"https://example.com/avatars/1.png\",\n \"session_fields\": [\n {\n \"custom_key\": \"custom_value\"\n },\n {\n \"another_custom_key\": \"another_custom_value\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.livechatinc.com/v3.6/agent/action/update_customer")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"b7eff798-f8df-4364-8059-649c35c9ed0c\",\n \"name\": \"Thomas Anderson\",\n \"email\": \"t.anderson@example.com\",\n \"avatar\": \"https://example.com/avatars/1.png\",\n \"session_fields\": [\n {\n \"custom_key\": \"custom_value\"\n },\n {\n \"another_custom_key\": \"another_custom_value\"\n }\n ]\n}"

response = http.request(request)
puts response.read_body
Required scopes: customers:rw

Authorizations

Authorization
string
header
required

Use your account ID as the username and your personal access token (PAT) as the password, or pass a Base64-encoded value directly in the Authorization header. For more information, see the personal access tokens guide.

Body

application/json
id
string
required

The customer ID. The UUID v4 format is required.

name
string

The customer's name.

email
string

The customer's email.

avatar
string

The URL of the customer's avatar.

phone_number
string

The customer's phone number in E.164 format.

session_fields
object[]

An array of custom object-enclosed key-value pairs. Respects the order of items.

omnichannel
object

The customer's omnichannel data.

address
object

The customer's address.

Response

200

Customer updated.