cURL
curl --request GET \
--url 'https://app.teable.ai/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE'const url = 'https://app.teable.ai/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'GET',
hostname: 'app.teable.ai',
port: null,
path: '/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
conn.request("GET", "/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/template/{templateId}",
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://app.teable.ai/api/template/{templateId}"
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://app.teable.ai/api/template/{templateId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/template/{templateId}")
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{
"id": "<string>",
"snapshot": {
"baseId": "<string>",
"snapshotTime": "2023-11-07T05:31:56Z",
"spaceId": "<string>",
"name": "<string>"
},
"cover": {
"token": "xxxxxxxxxxx",
"size": 1024,
"url": "/bucket/xxxxx",
"path": "/table/xxxxxx",
"mimetype": "video/mp4",
"name": "<string>",
"id": "<string>",
"presignedUrl": "<string>",
"width": 100,
"height": 100,
"thumbnailPath": {
"lg": "<string>",
"sm": "<string>"
}
},
"usageCount": 123,
"visitCount": 123,
"createdBy": {
"id": "<string>",
"name": "<string>",
"avatar": "<string>",
"email": "<string>"
},
"name": "<string>",
"categoryId": [
"<string>"
],
"isSystem": true,
"featured": true,
"isPublished": true,
"description": "<string>",
"baseId": "<string>",
"markdownDescription": "<string>",
"publishInfo": {
"nodes": [
"<string>"
],
"includeData": true,
"defaultActiveNodeId": "<string>",
"defaultUrl": "<string>"
}
}template
get template detail by templateId
get template detail by templateId
GET
/
template
/
{templateId}
cURL
curl --request GET \
--url 'https://app.teable.ai/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE'const url = 'https://app.teable.ai/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'GET',
hostname: 'app.teable.ai',
port: null,
path: '/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
conn.request("GET", "/api/template/%7BtemplateId%7D?featured=SOME_BOOLEAN_VALUE&categoryId=SOME_STRING_VALUE")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/template/{templateId}",
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://app.teable.ai/api/template/{templateId}"
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://app.teable.ai/api/template/{templateId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/template/{templateId}")
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{
"id": "<string>",
"snapshot": {
"baseId": "<string>",
"snapshotTime": "2023-11-07T05:31:56Z",
"spaceId": "<string>",
"name": "<string>"
},
"cover": {
"token": "xxxxxxxxxxx",
"size": 1024,
"url": "/bucket/xxxxx",
"path": "/table/xxxxxx",
"mimetype": "video/mp4",
"name": "<string>",
"id": "<string>",
"presignedUrl": "<string>",
"width": 100,
"height": 100,
"thumbnailPath": {
"lg": "<string>",
"sm": "<string>"
}
},
"usageCount": 123,
"visitCount": 123,
"createdBy": {
"id": "<string>",
"name": "<string>",
"avatar": "<string>",
"email": "<string>"
},
"name": "<string>",
"categoryId": [
"<string>"
],
"isSystem": true,
"featured": true,
"isPublished": true,
"description": "<string>",
"baseId": "<string>",
"markdownDescription": "<string>",
"publishInfo": {
"nodes": [
"<string>"
],
"includeData": true,
"defaultActiveNodeId": "<string>",
"defaultUrl": "<string>"
}
}Path Parameters
Response
201 - application/json
Successfully get template detail.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Last modified on September 15, 2026
Was this page helpful?

