curl --request GET \
--url https://app.base44.com/api/fonts/{font_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/fonts/{font_id}"
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/{font_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/fonts/{font_id}",
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/{font_id}"
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/{font_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/fonts/{font_id}")
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{
"id": "68d4b2e1f0a9c8001b3e5f27",
"family_name": "Acme Sans",
"display_family_name": "Acme",
"variant_name": "Inline",
"weight": 400,
"style": "normal",
"public_url": "https://media.base44.com/files/public/workspaces/67e0b12c4d8a3f005b21c9e4/fonts/3f9a1c2e_68d4b2e1f0a9c8001b3e5f27.woff2",
"created_by": "dana@acme.com",
"created_date": "2026-09-02T11:24:05.311000"
}Get workspace font
Returns one of the workspace’s 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 List workspace fonts. Some workspaces have a different limit.
curl --request GET \
--url https://app.base44.com/api/fonts/{font_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/fonts/{font_id}"
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/{font_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/fonts/{font_id}",
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/{font_id}"
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/{font_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/fonts/{font_id}")
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{
"id": "68d4b2e1f0a9c8001b3e5f27",
"family_name": "Acme Sans",
"display_family_name": "Acme",
"variant_name": "Inline",
"weight": 400,
"style": "normal",
"public_url": "https://media.base44.com/files/public/workspaces/67e0b12c4d8a3f005b21c9e4/fonts/3f9a1c2e_68d4b2e1f0a9c8001b3e5f27.woff2",
"created_by": "dana@acme.com",
"created_date": "2026-09-02T11:24:05.311000"
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the font to get. Get it from id in List workspace fonts.
Response
The font.
One uploaded font: a single weight and style of a family.
ID of the font.
"68d4b2e1f0a9c8001b3e5f27"
Family name, read from the font file. Use it as the CSS font-family.
"Acme Sans"
The broader family the font file says it belongs to, which groups stylistic variants such as an inline cut, or null when the file doesn't say.
"Acme"
Name of the stylistic variant, or null when the file doesn't name one.
"Inline"
Weight from 1 to 1000, usually a multiple of 100.
400
Style of the font.
normal, italic "normal"
Public URL of the font as a WOFF2 file, for an @font-face src.
"https://media.base44.com/files/public/workspaces/67e0b12c4d8a3f005b21c9e4/fonts/3f9a1c2e_68d4b2e1f0a9c8001b3e5f27.woff2"
Email of the member who uploaded the font.
"dana@acme.com"
When the font was uploaded, as a UTC timestamp in ISO 8601 format.
"2026-09-02T11:24:05.311000"
Was this page helpful?