Skip to main content
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
{
  "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

sample_data
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.
name
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
{
  "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.