curl --request PUT \
--url https://app.base44.com/api/apps/{app_id}/chat/queue/reorder \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"item_ids": [
"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f",
"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a"
]
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/chat/queue/reorder"
payload = { "item_ids": ["3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f", "9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a"] }
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({
item_ids: ['3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f', '9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a']
})
};
fetch('https://app.base44.com/api/apps/{app_id}/chat/queue/reorder', 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.base44.com/api/apps/{app_id}/chat/queue/reorder",
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([
'item_ids' => [
'3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f',
'9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a'
]
]),
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.base44.com/api/apps/{app_id}/chat/queue/reorder"
payload := strings.NewReader("{\n \"item_ids\": [\n \"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f\",\n \"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a\"\n ]\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://app.base44.com/api/apps/{app_id}/chat/queue/reorder")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"item_ids\": [\n \"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f\",\n \"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/chat/queue/reorder")
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 \"item_ids\": [\n \"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f\",\n \"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"branch_id": "68f1a2b3c4d5e6f708192a3b",
"content": "Add a contact form to the home page",
"created_at": "2026-10-05T14:30:00.123456+00:00",
"id": "3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f"
}
],
"is_paused": false
}Reorder message queue
Changes the order queued messages run in. Pass the IDs in the new order.
A message that joined the queue after you read it, and so isn’t in your list, keeps its place after the ones you list.
This is limited to 60 requests per minute per app for each workspace’s personal API keys, so every key in a workspace shares one allowance. Every endpoint that changes the queue shares it. Some workspaces have a different limit.
curl --request PUT \
--url https://app.base44.com/api/apps/{app_id}/chat/queue/reorder \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"item_ids": [
"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f",
"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a"
]
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/chat/queue/reorder"
payload = { "item_ids": ["3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f", "9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a"] }
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({
item_ids: ['3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f', '9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a']
})
};
fetch('https://app.base44.com/api/apps/{app_id}/chat/queue/reorder', 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.base44.com/api/apps/{app_id}/chat/queue/reorder",
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([
'item_ids' => [
'3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f',
'9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a'
]
]),
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.base44.com/api/apps/{app_id}/chat/queue/reorder"
payload := strings.NewReader("{\n \"item_ids\": [\n \"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f\",\n \"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a\"\n ]\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://app.base44.com/api/apps/{app_id}/chat/queue/reorder")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"item_ids\": [\n \"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f\",\n \"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/chat/queue/reorder")
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 \"item_ids\": [\n \"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f\",\n \"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"branch_id": "68f1a2b3c4d5e6f708192a3b",
"content": "Add a contact form to the home page",
"created_at": "2026-10-05T14:30:00.123456+00:00",
"id": "3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f"
}
],
"is_paused": false
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the app whose message queue this request acts on.
Body
IDs of queued messages in the order you want them to run. IDs not in the queue are ignored, and queued messages you leave out keep their order after the ones you list. Each ID can appear once.
[
"3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f",
"9a1c4e2b-6d3f-4b8a-a7e1-2f5c8d0b3e4a"
]
Response
The queue in its new order.
The messages waiting to run, in the order they run.
The queued messages, next to run first. Holds at most 7.
Show child attributes
Show child attributes
[
{
"branch_id": "68f1a2b3c4d5e6f708192a3b",
"content": "Add a contact form to the home page",
"created_at": "2026-10-05T14:30:00.123456+00:00",
"id": "3b9d2f6e-8c41-4a7e-9f05-1d2c3b4a5e6f"
}
]
Whether the queue is paused. While it is, queued messages don't run.
false
Was this page helpful?