List Templates
curl --request GET \
--url https://api.hubapi.com/content/api/v2/templatesimport requests
url = "https://api.hubapi.com/content/api/v2/templates"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.hubapi.com/content/api/v2/templates', 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.hubapi.com/content/api/v2/templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.hubapi.com/content/api/v2/templates"
req, _ := http.NewRequest("GET", url, nil)
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.hubapi.com/content/api/v2/templates")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/content/api/v2/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"total_count": 1,
"objects": [
{
"category_id": 1,
"cdn_minified_url": "",
"cdn_url": "http://cdn2.hubspot.net/hub/62515/hub_generated/template_resource/1382477851647/custom/page/examples/simple-template.html",
"deleted_at": 0,
"folder": "examples",
"generated_from_layout_id": null,
"id": 359393980,
"is_available_for_new_content": true,
"is_from_layout": false,
"is_read_only": false,
"label": "Simple-template",
"linked_style_id": "",
"path": "custom/page/examples/simple-template.html",
"portal_id": 62515,
"source": "The template source goes here",
"template_type": "4",
"thumbnail_width": 154,
"type": "",
"updated": 1382477851000,
"updated_by": ""
}
],
"limit": 20,
"offset": 0
}List Templates
Get all templates. Supports paging and filtering.
GET
/
content
/
api
/
v2
/
templates
List Templates
curl --request GET \
--url https://api.hubapi.com/content/api/v2/templatesimport requests
url = "https://api.hubapi.com/content/api/v2/templates"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.hubapi.com/content/api/v2/templates', 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.hubapi.com/content/api/v2/templates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.hubapi.com/content/api/v2/templates"
req, _ := http.NewRequest("GET", url, nil)
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.hubapi.com/content/api/v2/templates")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/content/api/v2/templates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"total_count": 1,
"objects": [
{
"category_id": 1,
"cdn_minified_url": "",
"cdn_url": "http://cdn2.hubspot.net/hub/62515/hub_generated/template_resource/1382477851647/custom/page/examples/simple-template.html",
"deleted_at": 0,
"folder": "examples",
"generated_from_layout_id": null,
"id": 359393980,
"is_available_for_new_content": true,
"is_from_layout": false,
"is_read_only": false,
"label": "Simple-template",
"linked_style_id": "",
"path": "custom/page/examples/simple-template.html",
"portal_id": 62515,
"source": "The template source goes here",
"template_type": "4",
"thumbnail_width": 154,
"type": "",
"updated": 1382477851000,
"updated_by": ""
}
],
"limit": 20,
"offset": 0
}Scope requirements
Scope requirements
Query Parameters
The number of items to return. Defaults to 20.
The offset set to start returning rows from. Defaults to 0.
Filter by deleted_at timestamp (exact, gt, lt)
Filter by template ID (exact)
Filter by availability for new content (exact)
Filter by template label (exact)
Filter by template path (exact)
Last modified on September 9, 2026
Was this page helpful?