cURL
curl --request POST \
--url https://app.teable.ai/api/base/duplicate \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"fromBaseId":"string","spaceId":"string","withRecords":true,"name":"string","baseId":"string","nodes":["string"],"shareId":"string"}'const url = 'https://app.teable.ai/api/base/duplicate';
const options = {
method: 'POST',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"fromBaseId":"string","spaceId":"string","withRecords":true,"name":"string","baseId":"string","nodes":["string"],"shareId":"string"}'
};
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: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/base/duplicate',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
}
};
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.write(JSON.stringify({
fromBaseId: 'string',
spaceId: 'string',
withRecords: true,
name: 'string',
baseId: 'string',
nodes: ['string'],
shareId: 'string'
}));
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
payload = "{\"fromBaseId\":\"string\",\"spaceId\":\"string\",\"withRecords\":true,\"name\":\"string\",\"baseId\":\"string\",\"nodes\":[\"string\"],\"shareId\":\"string\"}"
headers = {
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/base/duplicate", payload, 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/base/duplicate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'fromBaseId' => '<string>',
'spaceId' => '<string>',
'withRecords' => true,
'name' => '<string>',
'baseId' => '<string>',
'nodes' => [
'<string>'
],
'shareId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.teable.ai/api/base/duplicate"
payload := strings.NewReader("{\n \"fromBaseId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"withRecords\": true,\n \"name\": \"<string>\",\n \"baseId\": \"<string>\",\n \"nodes\": [\n \"<string>\"\n ],\n \"shareId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.teable.ai/api/base/duplicate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fromBaseId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"withRecords\": true,\n \"name\": \"<string>\",\n \"baseId\": \"<string>\",\n \"nodes\": [\n \"<string>\"\n ],\n \"shareId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/base/duplicate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fromBaseId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"withRecords\": true,\n \"name\": \"<string>\",\n \"baseId\": \"<string>\",\n \"nodes\": [\n \"<string>\"\n ],\n \"shareId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"spaceId": "<string>"
}base
Post baseduplicate
duplicate a base
POST
/
base
/
duplicate
cURL
curl --request POST \
--url https://app.teable.ai/api/base/duplicate \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \
--header 'content-type: application/json' \
--data '{"fromBaseId":"string","spaceId":"string","withRecords":true,"name":"string","baseId":"string","nodes":["string"],"shareId":"string"}'const url = 'https://app.teable.ai/api/base/duplicate';
const options = {
method: 'POST',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
},
body: '{"fromBaseId":"string","spaceId":"string","withRecords":true,"name":"string","baseId":"string","nodes":["string"],"shareId":"string"}'
};
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: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/base/duplicate',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN',
'content-type': 'application/json'
}
};
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.write(JSON.stringify({
fromBaseId: 'string',
spaceId: 'string',
withRecords: true,
name: 'string',
baseId: 'string',
nodes: ['string'],
shareId: 'string'
}));
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
payload = "{\"fromBaseId\":\"string\",\"spaceId\":\"string\",\"withRecords\":true,\"name\":\"string\",\"baseId\":\"string\",\"nodes\":[\"string\"],\"shareId\":\"string\"}"
headers = {
'Authorization': "Bearer REPLACE_BEARER_TOKEN",
'content-type': "application/json"
}
conn.request("POST", "/api/base/duplicate", payload, 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/base/duplicate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'fromBaseId' => '<string>',
'spaceId' => '<string>',
'withRecords' => true,
'name' => '<string>',
'baseId' => '<string>',
'nodes' => [
'<string>'
],
'shareId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.teable.ai/api/base/duplicate"
payload := strings.NewReader("{\n \"fromBaseId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"withRecords\": true,\n \"name\": \"<string>\",\n \"baseId\": \"<string>\",\n \"nodes\": [\n \"<string>\"\n ],\n \"shareId\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.teable.ai/api/base/duplicate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fromBaseId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"withRecords\": true,\n \"name\": \"<string>\",\n \"baseId\": \"<string>\",\n \"nodes\": [\n \"<string>\"\n ],\n \"shareId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/base/duplicate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fromBaseId\": \"<string>\",\n \"spaceId\": \"<string>\",\n \"withRecords\": true,\n \"name\": \"<string>\",\n \"baseId\": \"<string>\",\n \"nodes\": [\n \"<string>\"\n ],\n \"shareId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"spaceId": "<string>"
}授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
路径参数
请求体
application/json
The base to duplicate
The space to duplicate the base to
Whether to duplicate the records
The name of the duplicated base
The node IDs to include in the duplication
The share ID when duplicating from a shared base. If provided, will use share permissions instead of base|update permission.
最后修改于 2026年3月5日
此页面对您有帮助吗?
⌘I

