curl --request PATCH \
--url https://api.getoneprofile.ai/inbox/threads/bulk/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"done": true,
"read": true,
"snoozed_until": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.getoneprofile.ai/inbox/threads/bulk/"
payload = {
"ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"done": True,
"read": True,
"snoozed_until": "2023-11-07T05:31:56Z"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
done: true,
read: true,
snoozed_until: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.getoneprofile.ai/inbox/threads/bulk/', 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.getoneprofile.ai/inbox/threads/bulk/",
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([
'ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'done' => true,
'read' => true,
'snoozed_until' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.getoneprofile.ai/inbox/threads/bulk/"
payload := strings.NewReader("{\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"done\": true,\n \"read\": true,\n \"snoozed_until\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.getoneprofile.ai/inbox/threads/bulk/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"done\": true,\n \"read\": true,\n \"snoozed_until\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/inbox/threads/bulk/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"done\": true,\n \"read\": true,\n \"snoozed_until\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"updated": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Mark many threads read, done or snoozed
The bulk form of changing one conversation’s read, done and reminder marks: the same fields for every conversation in ids, and a mark left out stays as it is. Ids that no longer exist are silently absent from the count, because a selection can go stale under the user between choosing and clicking. A null snoozed_until cancels the reminder on every selected thread. With dry_run it says how many would change and changes none.
curl --request PATCH \
--url https://api.getoneprofile.ai/inbox/threads/bulk/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"done": true,
"read": true,
"snoozed_until": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.getoneprofile.ai/inbox/threads/bulk/"
payload = {
"ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"done": True,
"read": True,
"snoozed_until": "2023-11-07T05:31:56Z"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
done: true,
read: true,
snoozed_until: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.getoneprofile.ai/inbox/threads/bulk/', 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.getoneprofile.ai/inbox/threads/bulk/",
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([
'ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'done' => true,
'read' => true,
'snoozed_until' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.getoneprofile.ai/inbox/threads/bulk/"
payload := strings.NewReader("{\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"done\": true,\n \"read\": true,\n \"snoozed_until\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.getoneprofile.ai/inbox/threads/bulk/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"done\": true,\n \"read\": true,\n \"snoozed_until\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/inbox/threads/bulk/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"done\": true,\n \"read\": true,\n \"snoozed_until\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"updated": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Query Parameters
Report how many would change, and change none.
Body
The same marks changed on every conversation of a selection.
The conversations to change.
1 - 200 elementsTrue marks it done now; false clears the mark.
True takes it out of the triage queue; false puts it back as unread.
When it returns to the working views. Null cancels any reminder it is under.
Response
Successful Response
How many of the conversations named were there to change.
Was this page helpful?