cURL
curl --request POST \
--url https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retest \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retest';
const options = {method: 'POST', 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: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/space/%7BspaceId%7D/data-db/retest',
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("POST", "/api/space/%7BspaceId%7D/data-db/retest", 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/space/{spaceId}/data-db/retest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/space/{spaceId}/data-db/retest"
req, _ := http.NewRequest("POST", 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.post("https://app.teable.ai/api/space/{spaceId}/data-db/retest")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/space/{spaceId}/data-db/retest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"mode": "default",
"state": "ready",
"provider": "postgres",
"displayHost": "<string>",
"displayDatabase": "<string>",
"internalSchema": "<string>",
"schemaVersion": "<string>",
"lastValidatedAt": "<string>",
"lastError": "<string>",
"capabilities": {
"createSchema": true,
"createTable": true,
"createFunction": true,
"createTrigger": true,
"createRole": true,
"grantPrivileges": true,
"inspectActivity": true
},
"health": {
"state": "healthy",
"reason": "<string>",
"changedAt": "<string>",
"lastCheckAt": "<string>"
},
"migration": {
"jobId": "<string>",
"state": "pending",
"targetInternalSchema": "<string>",
"switchOnCompletion": true,
"lastError": "<string>"
},
"relatedSpaces": {
"primarySpaceId": "<string>",
"hasCrossSpaceLinks": true,
"spaces": [
{
"spaceId": "<string>",
"name": "<string>",
"isPrimary": true,
"baseIds": [
"<string>"
],
"tableIds": [
"<string>"
],
"dataDbMode": "default",
"dataDbState": "ready",
"dataDbConnectionId": "<string>",
"dataDbUrlFingerprint": "<string>",
"dataDbDatabaseFingerprint": "<string>",
"dataDbDisplayHost": "<string>",
"dataDbDisplayDatabase": "<string>",
"dataDbInternalSchema": "<string>"
}
],
"links": [
{
"fromSpaceId": "<string>",
"fromTableId": "<string>",
"fromFieldId": "<string>",
"toSpaceId": "<string>",
"toTableId": "<string>"
}
]
}
}space
Post space data dbretest
Retest the PostgreSQL data database connection for a BYODB space
Required token scopes: space|update
POST
/
space
/
{spaceId}
/
data-db
/
retest
cURL
curl --request POST \
--url https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retest \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retest';
const options = {method: 'POST', 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: 'POST',
hostname: 'app.teable.ai',
port: null,
path: '/api/space/%7BspaceId%7D/data-db/retest',
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("POST", "/api/space/%7BspaceId%7D/data-db/retest", 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/space/{spaceId}/data-db/retest",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/space/{spaceId}/data-db/retest"
req, _ := http.NewRequest("POST", 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.post("https://app.teable.ai/api/space/{spaceId}/data-db/retest")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/space/{spaceId}/data-db/retest")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"mode": "default",
"state": "ready",
"provider": "postgres",
"displayHost": "<string>",
"displayDatabase": "<string>",
"internalSchema": "<string>",
"schemaVersion": "<string>",
"lastValidatedAt": "<string>",
"lastError": "<string>",
"capabilities": {
"createSchema": true,
"createTable": true,
"createFunction": true,
"createTrigger": true,
"createRole": true,
"grantPrivileges": true,
"inspectActivity": true
},
"health": {
"state": "healthy",
"reason": "<string>",
"changedAt": "<string>",
"lastCheckAt": "<string>"
},
"migration": {
"jobId": "<string>",
"state": "pending",
"targetInternalSchema": "<string>",
"switchOnCompletion": true,
"lastError": "<string>"
},
"relatedSpaces": {
"primarySpaceId": "<string>",
"hasCrossSpaceLinks": true,
"spaces": [
{
"spaceId": "<string>",
"name": "<string>",
"isPrimary": true,
"baseIds": [
"<string>"
],
"tableIds": [
"<string>"
],
"dataDbMode": "default",
"dataDbState": "ready",
"dataDbConnectionId": "<string>",
"dataDbUrlFingerprint": "<string>",
"dataDbDatabaseFingerprint": "<string>",
"dataDbDisplayHost": "<string>",
"dataDbDisplayDatabase": "<string>",
"dataDbInternalSchema": "<string>"
}
],
"links": [
{
"fromSpaceId": "<string>",
"fromTableId": "<string>",
"fromFieldId": "<string>",
"toSpaceId": "<string>",
"toTableId": "<string>"
}
]
}
}Autorizzazioni
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Parametri del percorso
Risposta
200 - application/json
Returns the refreshed data database binding summary.
Opzioni disponibili:
default, byodb Opzioni disponibili:
ready, validating, initializing, migrating, error, disabled Opzioni disponibili:
postgres Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Ultima modifica il 15 settembre 2026
Questa pagina è stata utile?

