Schemas
Generate schema
Use AI to generate a schema from sample data.
POST
/
v1
/
schemas
/
generate
const schema = await client.schemas.generate({
sample_data: "Product: iPhone 15 Pro, Price: $999, Storage: 128GB...",
name: "Smartphones",
});
console.log(schema.name); // "Smartphones"
console.log(schema.columns); // AI-generated columns
schema = client.schemas.generate(
sample_data="Product: iPhone 15 Pro, Price: $999, Storage: 128GB...",
name="Smartphones",
)
print(schema["name"]) # "Smartphones"
print(schema["columns"]) # AI-generated columns
curl -X POST "https://hub.banditshq.com/api/v1/schemas/generate" \
-H "Authorization: Bearer lasso_..." \
-H "Content-Type: application/json" \
-d '{
"sample_data": "Product: iPhone 15 Pro, Price: $999, Storage: 128GB, Color: Natural Titanium, Weight: 187g\nProduct: Galaxy S24 Ultra, Price: $1299, Storage: 256GB, Color: Titanium Gray, Weight: 232g",
"name": "Smartphones"
}'
{
"id": "schema_gen123",
"name": "Smartphones",
"description": null,
"is_default": false,
"columns": [
{ "key": "product_name", "label": "Product Name", "type": "text", "required": true },
{ "key": "price", "label": "Price", "type": "number" },
{ "key": "storage", "label": "Storage", "type": "text" },
{ "key": "color", "label": "Color", "type": "text" }
],
"created_at": "2025-03-01T10:00:00.000Z",
"updated_at": "2025-03-01T10:00:00.000Z"
}
Request body
string
required
A sample of the data you want to extract. Can be raw text, CSV rows, or any structured format. The AI analyzes this to determine appropriate columns and types. Truncated to 5,000 characters.
string
A name for the generated schema. If omitted, the AI generates one based on the data.
Response
Returns the newly created schema object with AI-generated column definitions (same shape as Get schema).const schema = await client.schemas.generate({
sample_data: "Product: iPhone 15 Pro, Price: $999, Storage: 128GB...",
name: "Smartphones",
});
console.log(schema.name); // "Smartphones"
console.log(schema.columns); // AI-generated columns
schema = client.schemas.generate(
sample_data="Product: iPhone 15 Pro, Price: $999, Storage: 128GB...",
name="Smartphones",
)
print(schema["name"]) # "Smartphones"
print(schema["columns"]) # AI-generated columns
curl -X POST "https://hub.banditshq.com/api/v1/schemas/generate" \
-H "Authorization: Bearer lasso_..." \
-H "Content-Type: application/json" \
-d '{
"sample_data": "Product: iPhone 15 Pro, Price: $999, Storage: 128GB, Color: Natural Titanium, Weight: 187g\nProduct: Galaxy S24 Ultra, Price: $1299, Storage: 256GB, Color: Titanium Gray, Weight: 232g",
"name": "Smartphones"
}'
{
"id": "schema_gen123",
"name": "Smartphones",
"description": null,
"is_default": false,
"columns": [
{ "key": "product_name", "label": "Product Name", "type": "text", "required": true },
{ "key": "price", "label": "Price", "type": "number" },
{ "key": "storage", "label": "Storage", "type": "text" },
{ "key": "color", "label": "Color", "type": "text" }
],
"created_at": "2025-03-01T10:00:00.000Z",
"updated_at": "2025-03-01T10:00:00.000Z"
}
The AI infers column types automatically. For example, it detects price fields as
number, URLs as url, and lists of values as tags or enum.⌘I
const schema = await client.schemas.generate({
sample_data: "Product: iPhone 15 Pro, Price: $999, Storage: 128GB...",
name: "Smartphones",
});
console.log(schema.name); // "Smartphones"
console.log(schema.columns); // AI-generated columns
schema = client.schemas.generate(
sample_data="Product: iPhone 15 Pro, Price: $999, Storage: 128GB...",
name="Smartphones",
)
print(schema["name"]) # "Smartphones"
print(schema["columns"]) # AI-generated columns
curl -X POST "https://hub.banditshq.com/api/v1/schemas/generate" \
-H "Authorization: Bearer lasso_..." \
-H "Content-Type: application/json" \
-d '{
"sample_data": "Product: iPhone 15 Pro, Price: $999, Storage: 128GB, Color: Natural Titanium, Weight: 187g\nProduct: Galaxy S24 Ultra, Price: $1299, Storage: 256GB, Color: Titanium Gray, Weight: 232g",
"name": "Smartphones"
}'
{
"id": "schema_gen123",
"name": "Smartphones",
"description": null,
"is_default": false,
"columns": [
{ "key": "product_name", "label": "Product Name", "type": "text", "required": true },
{ "key": "price", "label": "Price", "type": "number" },
{ "key": "storage", "label": "Storage", "type": "text" },
{ "key": "color", "label": "Color", "type": "text" }
],
"created_at": "2025-03-01T10:00:00.000Z",
"updated_at": "2025-03-01T10:00:00.000Z"
}

