Skip to main content
POST
/
create-datastore
Create Datastore
curl --request POST \
  --url https://api.agentbase.sh/create-datastore \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "type": "<string>",
  "metadata": {}
}
'
import requests

url = "https://api.agentbase.sh/create-datastore"

payload = {
"name": "<string>",
"type": "<string>",
"metadata": {}
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', type: '<string>', metadata: {}})
};

fetch('https://api.agentbase.sh/create-datastore', 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.agentbase.sh/create-datastore",
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([
'name' => '<string>',
'type' => '<string>',
'metadata' => [

]
]),
CURLOPT_HTTPHEADER => [
"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://api.agentbase.sh/create-datastore"

payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"metadata\": {}\n}")

req, _ := http.NewRequest("POST", url, payload)

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://api.agentbase.sh/create-datastore")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"metadata\": {}\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.agentbase.sh/create-datastore")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"type\": \"<string>\",\n \"metadata\": {}\n}"

response = http.request(request)
puts response.read_body
{
  "datastore_id": "<string>",
  "name": "<string>",
  "type": "<string>",
  "created_at": "<string>"
}

Body Parameters

name
string
required
The name of the datastore. This helps you identify and organize your data.
type
string
required
The type of datastore to create. Supported values: - database - For structured database content - documents - For document files
metadata
object
The metadata for the datastore. This is only required for database type datastores. Set the connection string for the database.
{
  "metadata": {
    "connectionString": "postgresql://username:password@host:port/database"
  }
}

Response

Returns the created datastore information including the datastore ID.
{
  "datastore_id": "ds_1234567890abcdef",
  "name": "My Documents",
  "type": "documents",
  "created_at": "2025-10-01T12:00:00Z"
}

Response Fields

datastore_id
string
The unique identifier for the created datastore. Use this ID when indexing documents.
name
string
The name of the datastore
type
string
The type of datastore (database or documents)
created_at
string
Timestamp of when the datastore was created