curl --request GET \
--url https://app.base44.com/api/fonts \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/fonts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/fonts', 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/fonts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/fonts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/fonts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/fonts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"created_by": "dana@acme.com",
"created_date": "2026-09-02T11:24:05.311000",
"display_family_name": "Acme",
"family_name": "Acme Sans",
"id": "68d4b2e1f0a9c8001b3e5f27",
"public_url": "https://media.base44.com/files/public/workspaces/67e0b12c4d8a3f005b21c9e4/fonts/3f9a1c2e_68d4b2e1f0a9c8001b3e5f27.woff2",
"style": "normal",
"weight": 400
}
],
"total": 1
}List workspace fonts
Returns the workspace’s fonts, newest first. The list isn’t paginated. A workspace has at most 256 fonts.
Workspace fonts are font files the workspace uploaded, which every app in the workspace can use. Each font is one weight and style of a family, so a family with a regular and a bold weight is two fonts.
Fonts belong to the workspace your credential is for. With a personal access token, that’s the token’s workspace, and there’s no parameter to choose another one.
This is limited to 120 requests per minute, shared with Get workspace font. Some workspaces have a different limit.
curl --request GET \
--url https://app.base44.com/api/fonts \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/fonts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/fonts', 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/fonts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/fonts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/fonts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/fonts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"created_by": "dana@acme.com",
"created_date": "2026-09-02T11:24:05.311000",
"display_family_name": "Acme",
"family_name": "Acme Sans",
"id": "68d4b2e1f0a9c8001b3e5f27",
"public_url": "https://media.base44.com/files/public/workspaces/67e0b12c4d8a3f005b21c9e4/fonts/3f9a1c2e_68d4b2e1f0a9c8001b3e5f27.woff2",
"style": "normal",
"weight": 400
}
],
"total": 1
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Query Parameters
Keep only the fonts in this family, matched exactly but ignoring case. A name longer than 100 characters matches nothing.
Response
The workspace's fonts.
The workspace's fonts, newest first.
Show child attributes
Show child attributes
[
{
"created_by": "dana@acme.com",
"created_date": "2026-09-02T11:24:05.311000",
"display_family_name": "Acme",
"family_name": "Acme Sans",
"id": "68d4b2e1f0a9c8001b3e5f27",
"public_url": "https://media.base44.com/files/public/workspaces/67e0b12c4d8a3f005b21c9e4/fonts/3f9a1c2e_68d4b2e1f0a9c8001b3e5f27.woff2",
"style": "normal",
"weight": 400
}
]
Number of fonts in items.
1
Was this page helpful?