curl --request POST \
--url https://api.getoneprofile.ai/tables/{table_id}/restore/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/tables/{table_id}/restore/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/tables/{table_id}/restore/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getoneprofile.ai/tables/{table_id}/restore/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.getoneprofile.ai/tables/{table_id}/restore/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getoneprofile.ai/tables/{table_id}/restore/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/tables/{table_id}/restore/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"auto_run": true,
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"keep_existing_results": true,
"name": "<string>",
"row_count": 123,
"updated_at": "2023-11-07T05:31:56Z",
"ai_made": false,
"archived_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"folder_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"folder_path": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
],
"former_tags": [
"<string>"
],
"is_favorite": false,
"last_viewed_at": "2023-11-07T05:31:56Z",
"owner_display_name": "<string>",
"owner_user_id": "<string>",
"shared_as_template": false
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Restore a trashed table
Bring a trashed table back, with every column, row and cell it held, into the folder it was in (the top level when that folder is in Trash too).
Fails if a live table has taken its name in the meantime. One of the two has to be renamed first, and this endpoint will not guess which.
curl --request POST \
--url https://api.getoneprofile.ai/tables/{table_id}/restore/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/tables/{table_id}/restore/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/tables/{table_id}/restore/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getoneprofile.ai/tables/{table_id}/restore/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.getoneprofile.ai/tables/{table_id}/restore/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getoneprofile.ai/tables/{table_id}/restore/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/tables/{table_id}/restore/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"auto_run": true,
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"keep_existing_results": true,
"name": "<string>",
"row_count": 123,
"updated_at": "2023-11-07T05:31:56Z",
"ai_made": false,
"archived_at": "2023-11-07T05:31:56Z",
"deleted_at": "2023-11-07T05:31:56Z",
"folder_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"folder_path": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
],
"former_tags": [
"<string>"
],
"is_favorite": false,
"last_viewed_at": "2023-11-07T05:31:56Z",
"owner_display_name": "<string>",
"owner_user_id": "<string>",
"shared_as_template": false
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Path Parameters
Response
Successful Response
A table definition with its authoritative row counter.
Whether data changes request recompute runs by themselves. Column-definition changes always recompute.
Whether a manual run-all only fills the errored, empty and stale cells rather than recomputing every cell in scope.
Exact row count, maintained atomically by row mutations.
Whether the AI Assistant created this table through a granted action. The owner is still the person who approved it.
When somebody archived it; null for a table on the list. An archived table is left out of All, its folder, Favorites and Recent, and still found by search and opened as before.
When the table was moved to trash; null for a live table.
The folder it sits in; null for the top level.
The folders on the way to it, from the top level down; empty at the top level. What the list says under a search result and the table's own breadcrumb shows.
Show child attributes
Show child attributes
The tags it carried when folders replaced tags, when it carried more than one and so waits for somebody to file it. Empty once it is filed.
Whether the CALLING USER starred this table. Per-user, so a teammate may see a different value. Always false for API-key callers, which have no user to have preferences.
When the calling user last opened this table; null means never.
The owner's name, resolved for display. Null when there is no owner or the account has no name to show.
Who created the table. Null for tables older than this field and for anything a background job created. NOT an access control: every member of the organisation can open and edit every table.
Whether this table's shape is readable by anyone with the link, with no sign-in. Never its rows.
Was this page helpful?