Themes
Get one template, with its Liquid body
The only endpoint on this surface that serves template content, and
it serves exactly one. Together with the templates list this reaches
the same data as the v0 bulk response without any request being forced
to 5.5MB.
Scoped through the theme, so a template belonging to another company’s theme 404s.
GET
/
api
/
v202604
/
themes
/
{theme_id}
/
templates
/
{id}
Get one template, with its Liquid body
curl --request GET \
--url https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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://api.fluid.app/api/v202604/themes/{theme_id}/templates/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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{
"template": {
"id": 902114,
"name": "Home",
"themeable_type": "home_page",
"status": "active",
"default": true,
"global": false,
"source": "theme",
"application_theme_id": 48213,
"company_id": 1405,
"app_extension_id": null,
"extension_uri": null,
"droplet_name": null,
"country_ids": [],
"hide_navbar": false,
"use_active_application_theme": false,
"stylesheet": null,
"stylesheet_tag_injected": true,
"stylesheet_column_hidden": true,
"created_at": "2026-03-02T18:11:26Z",
"updated_at": "2026-09-14T15:02:11Z",
"content": "{% section 'hero-banner' %}\n{% section 'featured-products' %}\n{% section 'testimonials' %}",
"variables": {
"hero_heading": "Limitless Paper in a Paperless World"
},
"translations": {
"en": {
"hero_cta": "Shop copy paper"
}
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The theme the template belongs to.
The template's id.
Response
Success
A template including its Liquid content.
Show child attributes
Show child attributes
⌘I
Get one template, with its Liquid body
curl --request GET \
--url https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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://api.fluid.app/api/v202604/themes/{theme_id}/templates/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/themes/{theme_id}/templates/{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{
"template": {
"id": 902114,
"name": "Home",
"themeable_type": "home_page",
"status": "active",
"default": true,
"global": false,
"source": "theme",
"application_theme_id": 48213,
"company_id": 1405,
"app_extension_id": null,
"extension_uri": null,
"droplet_name": null,
"country_ids": [],
"hide_navbar": false,
"use_active_application_theme": false,
"stylesheet": null,
"stylesheet_tag_injected": true,
"stylesheet_column_hidden": true,
"created_at": "2026-03-02T18:11:26Z",
"updated_at": "2026-09-14T15:02:11Z",
"content": "{% section 'hero-banner' %}\n{% section 'featured-products' %}\n{% section 'testimonials' %}",
"variables": {
"hero_heading": "Limitless Paper in a Paperless World"
},
"translations": {
"en": {
"hero_cta": "Shop copy paper"
}
}
}
}