Dataset Management API
Base URL
All URLs referenced in the documentation have the following base:
https://api.meetandrock.com/v1/dev
Dataset Management
Core endpoints for managing datasets
List Datasets
Retrieve all datasets with optional filtering
curl -X GET "https://api.meetandrock.com/v1/dev/datasets?page=1&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY" Response: { "data": [ { "id": "uuid", "name": "string", "description": "string", "project_id": "uuid", "createdAt": "datetime", "updatedAt": "datetime" } ], "pagination": { "total": 100, "page": 1, "limit": 10 } }
Create Dataset
Create a new dataset
curl -X POST "https://api.meetandrock.com/v1/dev/datasets" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Customer Survey Results", "description": "Dataset containing customer survey responses" }'
Get Dataset Details
Retrieve details of a specific dataset
curl -X GET "https://api.meetandrock.com/v1/dev/datasets/:datasetId" \ -H "Authorization: Bearer YOUR_API_KEY"
Update Dataset
Update an existing dataset
curl -X PUT "https://api.meetandrock.com/v1/dev/datasets/:datasetId" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Updated Survey Results", "description": "Updated description" }'
Delete Dataset
Delete a dataset and all associated data
curl -X DELETE "https://api.meetandrock.com/v1/dev/datasets/:datasetId" \ -H "Authorization: Bearer YOUR_API_KEY"
Column Management
Endpoints for managing dataset columns and their properties
List Columns
Get all columns for a dataset
curl -X GET "https://api.meetandrock.com/v1/dev/datasets/:datasetId/columns" \ -H "Authorization: Bearer YOUR_API_KEY"
Add Column
Add a new column to the dataset
curl -X POST "https://api.meetandrock.com/v1/dev/datasets/:datasetId/columns" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "email", "type": "string", "is_required": true, "is_unique": true, "validation_rules": { "pattern": "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$" } }'
Update Column
Update column properties
curl -X PUT "https://api.meetandrock.com/v1/dev/datasets/:datasetId/columns/:columnId" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "updated_email", "is_required": false }'
Delete Column
Remove a column from the dataset
curl -X DELETE "https://api.meetandrock.com/v1/dev/datasets/:datasetId/columns/:columnId" \ -H "Authorization: Bearer YOUR_API_KEY"
Row Management
Endpoints for managing dataset rows
List Rows
Get rows with pagination and filtering
curl -X GET "https://api.meetandrock.com/v1/dev/datasets/:datasetId/rows?page=1&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY" Response: { "data": [ { "id": "uuid", "values": { "email": "user@example.com", "name": "John Doe", ... }, "created_at": "datetime", "updated_at": "datetime" } ], "pagination": { "total": 100, "page": 1, "limit": 10 } }
Add Row
Add a new row of data
curl -X POST "https://api.meetandrock.com/v1/dev/datasets/:datasetId/rows" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "values": { "email": "user@example.com", "name": "John Doe", "age": 30 } }'
Update Row
Update row values
curl -X PUT "https://api.meetandrock.com/v1/dev/datasets/:datasetId/rows/:rowId" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "values": { "email": "updated@example.com" } }'
Delete Row
Remove a row from the dataset
curl -X DELETE "https://api.meetandrock.com/v1/dev/datasets/:datasetId/rows/:rowId" \ -H "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" } }