curl --request PUT \
--url https://app.base44.com/api/apps/{app_id}/chat/queue/{item_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "Add a contact form with a phone number field to the home page"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/chat/queue/{item_id}"
payload = { "content": "Add a contact form with a phone number field to the home page" }
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({content: 'Add a contact form with a phone number field to the home page'})
};
fetch('https://app.base44.com/api/apps/{app_id}/chat/queue/{item_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.base44.com/api/apps/{app_id}/chat/queue/{item_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([
'content' => 'Add a contact form with a phone number field to the home page'
]),
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/{item_id}"
payload := strings.NewReader("{\n \"content\": \"Add a contact form with a phone number field to the home page\"\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/{item_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"Add a contact form with a phone number field to the home page\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/chat/queue/{item_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 \"content\": \"Add a contact form with a phone number field to the home page\"\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
}Edit queued message
Replaces the text of a queued message before it runs. Its place in the queue doesn’t change.
Only the person who queued a message can edit it, because it runs as them.
Once a message starts running it leaves the queue, so it can no longer be edited.
A collaborator in the editor can send a queued message into the turn that’s running. While that’s happening the message can’t be changed or removed.
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/{item_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "Add a contact form with a phone number field to the home page"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/chat/queue/{item_id}"
payload = { "content": "Add a contact form with a phone number field to the home page" }
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({content: 'Add a contact form with a phone number field to the home page'})
};
fetch('https://app.base44.com/api/apps/{app_id}/chat/queue/{item_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.base44.com/api/apps/{app_id}/chat/queue/{item_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([
'content' => 'Add a contact form with a phone number field to the home page'
]),
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/{item_id}"
payload := strings.NewReader("{\n \"content\": \"Add a contact form with a phone number field to the home page\"\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/{item_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"Add a contact form with a phone number field to the home page\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/chat/queue/{item_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 \"content\": \"Add a contact form with a phone number field to the home page\"\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>. Each operation lists the permission it needs: read_only or full_access. A full-access token can call every operation. A read-only token can call only the operations that list read_only; anything else returns 403 read_only_credential_route_not_allowed.
Path Parameters
ID of the queued message to edit. Get it from items[].id in Get message queue.
ID of the app whose message queue this request acts on.
Query Parameters
ID of the branch to work on, as returned by List branches. Omit it to work on the app's main branch.
Body
New text for the queued message. Up to 100,000 characters.
"Add a contact form with a phone number field to the home page"
Response
The queue with the edited message.
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?