Create a new database table with optional schema definition
This endpoint can create a complete table in a single API request, as long as all values below are fully fleshed out. If you want to create the table in multiple steps, then just fill out the name field as shown in the example.
POST
/
workspace
/
{workspace_id}
/
table
Create a new database table with optional schema definition
curl --request POST \
--url https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: text/x-xanoscript' \
--data 'table book {
schema {
int id
text title
text description
}
index = [
{type: "primary", field: [{name: "id"}]}
]
}
'import requests
url = "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table"
payload = "table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "text/x-xanoscript"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'text/x-xanoscript'},
body: 'table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: "primary", field: [{name: "id"}]}\n ]\n}\n'
};
fetch('https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table', 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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: text/x-xanoscript"
],
]);
$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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table"
payload := strings.NewReader("table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "text/x-xanoscript")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "text/x-xanoscript")
.body("table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table")
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"] = 'text/x-xanoscript'
request.body = "table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n"
response = http.request(request)
puts response.read_body{
"id": 1,
"created_at": "2023-04-19 21:01:32+0000",
"updated_at": "2023-04-19 21:01:32+0000",
"name": "Test Database",
"description": "My test database description",
"docs": "Documentation",
"guid": "YE1fwVhQ-enRlc6Sb42Gqru58-0",
"auth": true,
"tag": [
"example tag"
],
"xanoscript": {
"status": "ok",
"value": "<string>",
"message": "<string>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Body
text/x-xanoscriptmultipart/form-dataapplication/json
The body is of type string.
Example:
"table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n"
Response
Success!
Show child attributes
Show child attributes
Was this page helpful?
Create a new database table with optional schema definition
curl --request POST \
--url https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: text/x-xanoscript' \
--data 'table book {
schema {
int id
text title
text description
}
index = [
{type: "primary", field: [{name: "id"}]}
]
}
'import requests
url = "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table"
payload = "table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "text/x-xanoscript"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'text/x-xanoscript'},
body: 'table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: "primary", field: [{name: "id"}]}\n ]\n}\n'
};
fetch('https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table', 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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: text/x-xanoscript"
],
]);
$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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table"
payload := strings.NewReader("table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "text/x-xanoscript")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "text/x-xanoscript")
.body("table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table")
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"] = 'text/x-xanoscript'
request.body = "table book {\n schema {\n int id\n text title\n text description\n }\n index = [\n {type: \"primary\", field: [{name: \"id\"}]}\n ]\n}\n"
response = http.request(request)
puts response.read_body{
"id": 1,
"created_at": "2023-04-19 21:01:32+0000",
"updated_at": "2023-04-19 21:01:32+0000",
"name": "Test Database",
"description": "My test database description",
"docs": "Documentation",
"guid": "YE1fwVhQ-enRlc6Sb42Gqru58-0",
"auth": true,
"tag": [
"example tag"
],
"xanoscript": {
"status": "ok",
"value": "<string>",
"message": "<string>"
}
}