cURL
curl --request GET \
--url 'https://app.teable.ai/api/template?skip=0&take=300' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/template?skip=0&take=300';
const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};
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?skip=0&take=300',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
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")
headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/api/template?skip=0&take=300", headers=headers)
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",
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.teable.ai/api/template"
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.teable.ai/api/template")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/template")
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": "<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
get template list
GET
/
template
cURL
curl --request GET \
--url 'https://app.teable.ai/api/template?skip=0&take=300' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/template?skip=0&take=300';
const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};
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?skip=0&take=300',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
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")
headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/api/template?skip=0&take=300", headers=headers)
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",
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.teable.ai/api/template"
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.teable.ai/api/template")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/template")
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": "<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>"
}
}
]Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
The templates count you want to skip
Example:
0
The templates count you want to take
Example:
300
Response
201 - application/json
Successfully get template list.
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 March 5, 2026
Was this page helpful?
⌘I

