Set app logo
curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/metadata/update-logo \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"logo_url": "https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/metadata/update-logo"
payload = { "logo_url": "https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
logo_url: 'https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png'
})
};
fetch('https://app.base44.com/api/apps/{app_id}/metadata/update-logo', 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}/metadata/update-logo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'logo_url' => 'https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png'
]),
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}/metadata/update-logo"
payload := strings.NewReader("{\n \"logo_url\": \"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.base44.com/api/apps/{app_id}/metadata/update-logo")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"logo_url\": \"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/metadata/update-logo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"logo_url\": \"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png\"\n}"
response = http.request(request)
puts response.read_body{
"id": "6820f3a4e7b91d003c45a1f2",
"logo_url": "https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Apps
Set app logo
This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.
Sets the app’s logo to the image at logo_url.
The URL is stored as you send it. It isn’t fetched or checked, so use a link that stays reachable, such as the public link from Upload app file. The builder shows the new logo right away, and the published app shows it after you next deploy the app. Link previews use the logo when the app has no social image.
This endpoint accepts a personal API key belonging to a user with editor access to the app. A read-only key is refused, and workspace API keys are not accepted.
The response includes fields beyond the ones documented here. Don’t rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.
POST
/
api
/
apps
/
{app_id}
/
metadata
/
update-logo
Set app logo
curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/metadata/update-logo \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"logo_url": "https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/metadata/update-logo"
payload = { "logo_url": "https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
logo_url: 'https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png'
})
};
fetch('https://app.base44.com/api/apps/{app_id}/metadata/update-logo', 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}/metadata/update-logo",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'logo_url' => 'https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png'
]),
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}/metadata/update-logo"
payload := strings.NewReader("{\n \"logo_url\": \"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.base44.com/api/apps/{app_id}/metadata/update-logo")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"logo_url\": \"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/metadata/update-logo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"logo_url\": \"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png\"\n}"
response = http.request(request)
puts response.read_body{
"id": "6820f3a4e7b91d003c45a1f2",
"logo_url": "https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the app to set the logo on.
Body
application/json
URL of the image to use as the app's logo.
Example:
"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png"
Was this page helpful?