Update Follow-up
curl --request PATCH \
--url https://app.replyify.ai/api/follow-ups/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"notes": "<string>",
"draft_message": "<string>",
"due_at": "<string>",
"action": "<string>"
}
'import requests
url = "https://app.replyify.ai/api/follow-ups/{id}"
payload = {
"notes": "<string>",
"draft_message": "<string>",
"due_at": "<string>",
"action": "<string>"
}
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({
notes: '<string>',
draft_message: '<string>',
due_at: '<string>',
action: '<string>'
})
};
fetch('https://app.replyify.ai/api/follow-ups/{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://app.replyify.ai/api/follow-ups/{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([
'notes' => '<string>',
'draft_message' => '<string>',
'due_at' => '<string>',
'action' => '<string>'
]),
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://app.replyify.ai/api/follow-ups/{id}"
payload := strings.NewReader("{\n \"notes\": \"<string>\",\n \"draft_message\": \"<string>\",\n \"due_at\": \"<string>\",\n \"action\": \"<string>\"\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://app.replyify.ai/api/follow-ups/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\",\n \"draft_message\": \"<string>\",\n \"due_at\": \"<string>\",\n \"action\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.replyify.ai/api/follow-ups/{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 \"notes\": \"<string>\",\n \"draft_message\": \"<string>\",\n \"due_at\": \"<string>\",\n \"action\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyFollow-ups
Update Follow-up
Update a scheduled follow-up
PATCH
/
api
/
follow-ups
/
{id}
Update Follow-up
curl --request PATCH \
--url https://app.replyify.ai/api/follow-ups/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"notes": "<string>",
"draft_message": "<string>",
"due_at": "<string>",
"action": "<string>"
}
'import requests
url = "https://app.replyify.ai/api/follow-ups/{id}"
payload = {
"notes": "<string>",
"draft_message": "<string>",
"due_at": "<string>",
"action": "<string>"
}
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({
notes: '<string>',
draft_message: '<string>',
due_at: '<string>',
action: '<string>'
})
};
fetch('https://app.replyify.ai/api/follow-ups/{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://app.replyify.ai/api/follow-ups/{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([
'notes' => '<string>',
'draft_message' => '<string>',
'due_at' => '<string>',
'action' => '<string>'
]),
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://app.replyify.ai/api/follow-ups/{id}"
payload := strings.NewReader("{\n \"notes\": \"<string>\",\n \"draft_message\": \"<string>\",\n \"due_at\": \"<string>\",\n \"action\": \"<string>\"\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://app.replyify.ai/api/follow-ups/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\",\n \"draft_message\": \"<string>\",\n \"due_at\": \"<string>\",\n \"action\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.replyify.ai/api/follow-ups/{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 \"notes\": \"<string>\",\n \"draft_message\": \"<string>\",\n \"due_at\": \"<string>\",\n \"action\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyOnly follow-ups with
scheduled status can be updated. Attempting to edit sent, failed, or cancelled follow-ups returns a 400 error.
Path Parameters
string
required
The follow-up ID to update
Body Parameters
string
Update internal notes (AI context)
string
Update or set the email draft
string
Update the scheduled send time. Must be in the future.
string
Update the follow-up type
Response
Returns the updated follow-up object.curl -X PATCH "https://app.replyify.ai/api/follow-ups/fu_abc123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"draft_message": "Hi John, wanted to follow up on our pricing discussion...",
"due_at": "2025-02-03T09:00:00Z"
}'
⌘I