Skip to content

Introduction

Catalyzed is a data platform that lets you organize data into queryable tables, automate processing pipelines, and collaborate with your team. This documentation covers the REST API for building integrations with Catalyzed.

All API requests are made to:

https://api.catalyzed.ai

All API endpoints require authentication via Bearer token. You can use either:

  • API Tokens (recommended) - Long-lived tokens for server-to-server integrations
  • Session Tokens - Short-lived tokens from browser-based authentication
Terminal window
curl https://api.catalyzed.ai/me \
-H "Authorization: Bearer YOUR_API_TOKEN"

See Authentication for details.

Before diving into the API, understand these key concepts:

Create a table and insert data:

Terminal window
# 1. Create a dataset
curl -X POST https://api.catalyzed.ai/datasets \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"teamId": "ZkoDMyjZZsXo4VAO_nJLk", "name": "Sales Data"}'
# 2. Create a table in the dataset
curl -X POST https://api.catalyzed.ai/dataset-tables \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"datasetId": "HoIEJNIPiQIy6TjVRxjwz",
"tableName": "orders",
"fields": [
{"name": "order_id", "arrowType": "utf8", "nullable": false},
{"name": "amount", "arrowType": "float64", "nullable": false},
{"name": "created_at", "arrowType": "timestamp", "nullable": false}
],
"primaryKeyColumns": ["order_id"]
}'
# 3. Insert rows
curl -X POST "https://api.catalyzed.ai/dataset-tables/KzaMsfA0LSw_Ld0KyaXIS/rows?mode=append" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{"order_id": "ORD-001", "amount": 99.99, "created_at": "2024-01-15T10:30:00Z"},
{"order_id": "ORD-002", "amount": 149.50, "created_at": "2024-01-15T14:45:00Z"}
]'
# 4. Query the data
curl -X POST https://api.catalyzed.ai/queries \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sql": "SELECT * FROM orders WHERE amount > 100",
"tables": {"orders": "KzaMsfA0LSw_Ld0KyaXIS"}
}'
  1. Set up authentication with an API token
  2. Create your first dataset
  3. Explore the API Reference for all endpoints

All API responses return JSON. Single resource responses return the object directly:

{
"datasetId": "HoIEJNIPiQIy6TjVRxjwz",
"teamId": "ZkoDMyjZZsXo4VAO_nJLk",
"name": "Sales Data",
"createdAt": "2024-01-15T10:30:00Z"
}

List endpoints return paginated results:

{
"datasets": [...],
"total": 42,
"page": 1,
"pageSize": 20
}

Error responses include an error code and message:

{
"error": "VALIDATION_ERROR",
"message": "Invalid teamId format"
}

API requests are rate limited per team. Current limits:

TierRequests/minute
Free60
Pro600
EnterpriseCustom

Rate limit headers are included in responses:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1704110400