Create multiple records in a single batch operation
Each table has unique schema, which means that the request body should be an array of objects with the schema relevant to the table being used. The example below is assuming that the table has a column labeled “name”.
Required API Scope: Workspace Content: Create
POST
/
workspace
/
{workspace_id}
/
table
/
{table_id}
/
content
/
bulk
Create multiple records in a single batch operation
curl --request POST \
--url https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"name": "test name"
}
],
"allow_id_field": false
}
'import requests
url = "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk"
payload = {
"items": [{ "name": "test name" }],
"allow_id_field": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({items: [{name: 'test name'}], allow_id_field: false})
};
fetch('https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk', 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/{table_id}/content/bulk",
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([
'items' => [
[
'name' => 'test name'
]
],
'allow_id_field' => false
]),
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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk"
payload := strings.NewReader("{\n \"items\": [\n {\n \"name\": \"test name\"\n }\n ],\n \"allow_id_field\": false\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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"name\": \"test name\"\n }\n ],\n \"allow_id_field\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk")
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 \"items\": [\n {\n \"name\": \"test name\"\n }\n ],\n \"allow_id_field\": false\n}"
response = http.request(request)
puts response.read_body[
123
]Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Response
Success!
Was this page helpful?
Update multiple records in a single batch operation
Previous
Delete all records matching specified search criteria
Next
⌘I
Create multiple records in a single batch operation
curl --request POST \
--url https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"items": [
{
"name": "test name"
}
],
"allow_id_field": false
}
'import requests
url = "https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk"
payload = {
"items": [{ "name": "test name" }],
"allow_id_field": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({items: [{name: 'test name'}], allow_id_field: false})
};
fetch('https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk', 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/{table_id}/content/bulk",
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([
'items' => [
[
'name' => 'test name'
]
],
'allow_id_field' => false
]),
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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk"
payload := strings.NewReader("{\n \"items\": [\n {\n \"name\": \"test name\"\n }\n ],\n \"allow_id_field\": false\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://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"items\": [\n {\n \"name\": \"test name\"\n }\n ],\n \"allow_id_field\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-xano-instance.xano.io/api:meta/workspace/{workspace_id}/table/{table_id}/content/bulk")
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 \"items\": [\n {\n \"name\": \"test name\"\n }\n ],\n \"allow_id_field\": false\n}"
response = http.request(request)
puts response.read_body[
123
]