curl --request PUT \
--url https://api.notocat.com/v1/contacts/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"subscribed": true,
"custom_fields": {}
}
'import requests
url = "https://api.notocat.com/v1/contacts/{id}"
payload = {
"email": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"subscribed": True,
"custom_fields": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
name: '<string>',
first_name: '<string>',
last_name: '<string>',
subscribed: true,
custom_fields: {}
})
};
fetch('https://api.notocat.com/v1/contacts/{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.notocat.com/v1/contacts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'name' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'subscribed' => true,
'custom_fields' => [
]
]),
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.notocat.com/v1/contacts/{id}"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"subscribed\": true,\n \"custom_fields\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.notocat.com/v1/contacts/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"subscribed\": true,\n \"custom_fields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.notocat.com/v1/contacts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"subscribed\": true,\n \"custom_fields\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"workspace_id": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"subscribed": true,
"unsub_token": "<string>",
"custom_fields": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": 123,
"message": "<string>"
}Update a contact
Learn how to update a contact’s information using the Notocat API. This guide covers the PUT /contacts/ endpoint, allowing you to modify existing contact details efficiently and keep your newsletter subscriber data up-to-date.
curl --request PUT \
--url https://api.notocat.com/v1/contacts/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"subscribed": true,
"custom_fields": {}
}
'import requests
url = "https://api.notocat.com/v1/contacts/{id}"
payload = {
"email": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"subscribed": True,
"custom_fields": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
name: '<string>',
first_name: '<string>',
last_name: '<string>',
subscribed: true,
custom_fields: {}
})
};
fetch('https://api.notocat.com/v1/contacts/{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.notocat.com/v1/contacts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'name' => '<string>',
'first_name' => '<string>',
'last_name' => '<string>',
'subscribed' => true,
'custom_fields' => [
]
]),
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.notocat.com/v1/contacts/{id}"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"subscribed\": true,\n \"custom_fields\": {}\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.notocat.com/v1/contacts/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"subscribed\": true,\n \"custom_fields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.notocat.com/v1/contacts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"first_name\": \"<string>\",\n \"last_name\": \"<string>\",\n \"subscribed\": true,\n \"custom_fields\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"workspace_id": "<string>",
"name": "<string>",
"first_name": "<string>",
"last_name": "<string>",
"email": "<string>",
"subscribed": true,
"unsub_token": "<string>",
"custom_fields": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": 123,
"message": "<string>"
}con_D6zCfeVDaAAT-b9dl9SIE is the contact ID in the example below.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the contact to update
Body
The data to update the contact with
The email of the contact
The name of the contact
The first name of the contact
The last name of the contact
Subscription status of the contact
Custom fields for the contact. Can be a key: value object or an array of objects. If the value is a date, it must be in ISO format or YYYY-MM-DD to be picked up correctly.
- object
- object[]
Response
Contact updated
The contact ID
The workspace ID
The name of the contact
The first name of the contact
The last name of the contact
The email of the contact
Subscription status of the contact
Unsubscribe token for the contact
Custom fields of the contact
Creation timestamp of the contact
Last update timestamp of the contact
Was this page helpful?