Dataset Management API

Use the Dataset API to define structured datasets, manage their columns, and read and write rows of data that power your product and AI features.

Base URL

All dataset endpoints are rooted under the developer base URL:

Base URL
https://api.meetandrock.com/v1/dev
Dataset prefix
/datasets
Authentication

Send your secret API key as a Bearer token in the Authorization header:Authorization: Bearer YOUR_API_KEY

Dataset management

Core endpoints for listing, creating, reading, updating, and deleting datasets.

List datasets

Retrieve all datasets with optional pagination and filtering via query parameters.

GEThttps://api.meetandrock.com/v1/dev/datasets?page=1&limit=10
List datasets

List datasets for the current project with pagination.

curl -X GET "https://api.meetandrock.com/v1/dev/datasets?page=1&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"

Create dataset

Create a new dataset to store structured records.

Required fields:

  • name (string): Dataset display name.

Optional fields:

  • description (string): Short description of the dataset.
POSThttps://api.meetandrock.com/v1/dev/datasets
Create dataset

Create a new dataset with a name and optional description.

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

Retrieve details of a specific dataset using its ID.

GEThttps://api.meetandrock.com/v1/dev/datasets/:datasetId
Get dataset

Retrieve a single dataset by ID.

curl -X GET "https://api.meetandrock.com/v1/dev/datasets/:datasetId" \
-H "Authorization: Bearer YOUR_API_KEY"

Update dataset

Update an existing dataset's name or description.

PUThttps://api.meetandrock.com/v1/dev/datasets/:datasetId
Update dataset

Update dataset metadata.

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 by its ID.

DELETEhttps://api.meetandrock.com/v1/dev/datasets/:datasetId
Delete dataset

Delete a dataset permanently.

curl -X DELETE "https://api.meetandrock.com/v1/dev/datasets/:datasetId" \
-H "Authorization: Bearer YOUR_API_KEY"

Column management

Columns describe the schema of your dataset, including field names, types, and validation rules.

List columns

Get all columns for a dataset, including type information and any validation rules.

GEThttps://api.meetandrock.com/v1/dev/datasets/:datasetId/columns
List columns

Fetch all columns defined for a dataset.

curl -X GET "https://api.meetandrock.com/v1/dev/datasets/:datasetId/columns" \
-H "Authorization: Bearer YOUR_API_KEY"

Create column

Add a new column to the dataset with type information and optional constraints.

Required fields:

  • name (string)
  • type (enum): one of id, string, text, number, boolean, date, datetime, json, array

Optional fields:

  • is_required (boolean)
  • is_unique (boolean)
  • default_value (any)
  • validation_rules (object)
POSThttps://api.meetandrock.com/v1/dev/datasets/:datasetId/columns
Create column

Add a new column definition 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,
"default_value": null,
"validation_rules": {
"pattern": "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$"
}
}'

Update column

Update column properties such as name or constraints.

PUThttps://api.meetandrock.com/v1/dev/datasets/:datasetId/columns/:columnId
Update column

Update an existing column definition.

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,
"is_unique": false
}'

Delete column

Remove a column from the dataset schema.

DELETEhttps://api.meetandrock.com/v1/dev/datasets/:datasetId/columns/:columnId
Delete column

Delete a column definition.

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

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"
  }
}

Contents