Dataset Management API
Base URL
All dataset endpoints are prefixed with:
/dev/datasets
Note: All endpoints require authentication via Bearer token in the Authorization header.
Dataset Management
Core endpoints for managing datasets
List Datasets
Retrieve all datasets with optional filtering
GET /dev/datasets?page=1&limit=10 Authorization: Bearer YOUR_API_KEY
Create Dataset
Create a new dataset
Required Fields:
- name (string)
Optional Fields:
- description (string)
POST /dev/datasets
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name": "Customer Survey Results",
"description": "Dataset containing customer survey responses"
}Get Dataset
Retrieve details of a specific dataset
GET /dev/datasets/:datasetId Authorization: Bearer YOUR_API_KEY
Update Dataset
Update an existing dataset
PUT /dev/datasets/:datasetId
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name": "Updated Survey Results",
"description": "Updated description"
}Delete Dataset
Delete a dataset and all associated data
DELETE /dev/datasets/:datasetId Authorization: Bearer YOUR_API_KEY
Column Management
Endpoints for managing dataset columns and their properties
List Columns
Get all columns for a dataset
GET /dev/datasets/:datasetId/columns Authorization: Bearer YOUR_API_KEY
Create Column
Add a new column to the dataset
Required Fields:
- name (string)
- type (enum: 'id', 'string', 'text', 'number', 'boolean', 'date', 'datetime', 'json', 'array')
Optional Fields:
- is_required (boolean)
- is_unique (boolean)
- default_value (any)
- validation_rules (object)
POST /dev/datasets/:datasetId/columns
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name": "email",
"type": "string",
"is_required": true,
"is_unique": true,
"default_value": null,
"validation_rules": {
"pattern": "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$"
}
}Update Column
Update column properties
PUT /dev/datasets/:datasetId/columns/:columnId
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name": "updated_email",
"is_required": false,
"is_unique": false
}Delete Column
Remove a column from the dataset
DELETE /dev/datasets/:datasetId/columns/:columnId Authorization: Bearer YOUR_API_KEY
Row Management
Endpoints for managing dataset rows
List Rows
Get rows with pagination and filtering
GET /dev/datasets/:datasetId/rows?page=1&limit=10 Authorization: Bearer YOUR_API_KEY
Create Row
Add a new row of data
Required Fields:
- values (object) - Key-value pairs matching dataset columns
POST /dev/datasets/:datasetId/rows
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"values": {
"email": "user@example.com",
"name": "John Doe",
"age": 30
}
}Update Row
Update row values
PUT /dev/datasets/:datasetId/rows/:rowId
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"values": {
"email": "updated@example.com",
"name": "John Updated"
}
}Delete Row
Remove a row from the dataset
DELETE /dev/datasets/:datasetId/rows/:rowId Authorization: Bearer YOUR_API_KEY
Query Parameters
Available query parameters for filtering and pagination:
# Filtering where=field::operator::value # Filter by field value where=name::like::john # Search by name where=age::gt::25 # Age greater than 25 # Pagination page=1 # Page number limit=10 # Records per page # Sorting sort=field:direction # Sort by field sort=created_at:desc # Sort by creation date descending # Including Relations include=relation1,relation2 # Include related data
Error Responses
400 Bad Request
{
"message": "Invalid request parameters"
}
401 Unauthorized
{
"message": "Invalid or missing API key"
}
404 Not Found
{
"message": "Dataset not found"
}
422 Unprocessable Entity
{
"message": "Validation failed",
"errors": {
"email": "Must be a valid email address"
}
}