cURL
curl --request POST \
--url https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retry \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retry';
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/retry',
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/retry", 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/retry",
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/retry"
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/retry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/space/{spaceId}/data-db/retry")
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 dbretry
Retry pending PostgreSQL data database migrations for a BYODB space
Required token scopes: space|update
POST
/
space
/
{spaceId}
/
data-db
/
retry
cURL
curl --request POST \
--url https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retry \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/space/%7BspaceId%7D/data-db/retry';
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/retry',
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/retry", 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/retry",
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/retry"
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/retry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/space/{spaceId}/data-db/retry")
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>"
}
]
}
}Autorizaciones
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Parámetros de ruta
Respuesta
200 - application/json
Returns the refreshed data database binding summary.
Opciones disponibles:
default, byodb Opciones disponibles:
ready, validating, initializing, migrating, error, disabled Opciones disponibles:
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
Última modificación el 15 de septiembre de 2026
¿Esta página le ayudó?

