Templates
Templates are pre-built schemas for common application types. Pass a template name to the generate endpoint and get back a fully relational dataset with sensible defaults. Use the scale parameter to multiply the default record counts.
Scale Parameter
Every template has default record counts per table. The scale parameter multiplies all counts proportionally.
- Scale
0.1- Effect
- 10% of default counts (minimum 1 per table)
- Use Case
- Quick smoke test
- Scale
1- Effect
- Default counts
- Use Case
- Development and unit tests
- Scale
5- Effect
- 5x default counts
- Use Case
- Integration testing
- Scale
50- Effect
- 50x default counts
- Use Case
- Performance and load testing
- Scale
100- Effect
- Maximum multiplier
- Use Case
- Stress testing (subject to per-request limits)
| Scale | Effect | Use Case |
|---|---|---|
0.1 | 10% of default counts (minimum 1 per table) | Quick smoke test |
1 | Default counts | Development and unit tests |
5 | 5x default counts | Integration testing |
50 | 50x default counts | Performance and load testing |
100 | Maximum multiplier | Stress testing (subject to per-request limits) |
ecommerce 5 tables
A full e-commerce dataset with customers, products, orders, line items, and reviews. All foreign keys are valid, order totals are consistent with line item prices, and dates are chronologically ordered.
Tables and Default Counts
- Table
customers- Count
- 100
- Columns
- id, first_name, last_name, email, phone, address, city, country, postal_code, avatar_url, created_at, updated_at, is_active
- Table
products- Count
- 50
- Columns
- id, name, description, category, price, sku, image_url, stock_quantity, created_at, updated_at
- Table
orders- Count
- 300
- Columns
- id, order_number, customer_id (ref), status, total, currency, payment_method, ordered_at, updated_at
- Table
order_items- Count
- 900
- Columns
- id, order_id (ref), product_id (ref), quantity, unit_price
- Table
reviews- Count
- 200
- Columns
- id, customer_id (ref), product_id (ref), rating, title, body, created_at
| Table | Default Count | Key Columns |
|---|---|---|
customers | 100 | id, first_name, last_name, email, phone, address, city, country, postal_code, avatar_url, created_at, updated_at, is_active |
products | 50 | id, name, description, category, price, sku, image_url, stock_quantity, created_at, updated_at |
orders | 300 | id, order_number, customer_id (ref), status, total, currency, payment_method, ordered_at, updated_at |
order_items | 900 | id, order_id (ref), product_id (ref), quantity, unit_price |
reviews | 200 | id, customer_id (ref), product_id (ref), rating, title, body, created_at |
Example Request
POST /api/v1/generate
Content-Type: application/json
Authorization: Bearer mh_7a1c3b24f8d4e6a9b2c1d3e5f7a8b9c0
{
"template": "ecommerce",
"scale": 1,
"format": "json"
}Example Response (truncated)
{
"data": {
"customers": [
{
"id": "c1a2b3d4-...",
"first_name": "Amara",
"last_name": "Okafor",
"email": "amara.okafor@example.com",
"phone": "+1 (555) 234-5678",
"address": "742 Evergreen Terrace",
"city": "Portland",
"country": "US",
"postal_code": "97201",
"avatar_url": "https://api.dicebear.com/7.x/avataaars/svg?seed=291",
"created_at": "2024-08-12T14:30:00Z",
"updated_at": "2025-01-10T09:15:00Z",
"is_active": true
}
],
"products": [
{
"id": "p5e6f7a8-...",
"name": "Ergonomic Mesh Chair",
"description": "Premium ergonomic office chair with adjustable lumbar support.",
"category": "Electronics",
"price": 189.50,
"sku": "SKU-8A3F2C",
"image_url": "https://picsum.photos/640/480?random=7",
"stock_quantity": 234,
"created_at": "2024-09-11T00:00:00Z",
"updated_at": "2025-08-20T00:00:00Z"
}
],
"orders": [
{
"id": "o9b0c1d2-...",
"order_number": "ORD-1001",
"customer_id": "c1a2b3d4-...",
"status": "delivered",
"total": 264.49,
"currency": "USD",
"payment_method": "credit_card",
"ordered_at": "2025-01-15T10:22:00Z",
"updated_at": "2025-01-20T14:30:00Z"
}
],
"order_items": [
{
"id": "i3e4f5a6-...",
"order_id": "o9b0c1d2-...",
"product_id": "p5e6f7a8-...",
"quantity": 1,
"unit_price": 189.50
}
]
},
"meta": {
"tables": 5,
"total_records": 1550,
"format": "json",
"seed": 5519832,
"generation_time_ms": 412
}
}blog 5 tables
A content management dataset with authors, posts (including markdown bodies and slugs), comments, tags, and a many-to-many join table for post-tag relationships.
Tables and Default Counts
- Table
authors- Count
- 30
- Columns
- id, country, first_name, last_name, email, username, avatar_url, bio, created_at
- Table
posts- Count
- 150
- Columns
- id, author_id (ref), title, slug, excerpt, content (markdown), featured_image, status, created_at, published_at, updated_at
- Table
comments- Count
- 600
- Columns
- id, post_id (ref), commenter_name, commenter_email, body, is_approved, created_at
- Table
tags- Count
- 20
- Columns
- id, name, slug
- Table
post_tags- Count
- 400
- Columns
- id, post_id (ref), tag_id (ref)
| Table | Default Count | Key Columns |
|---|---|---|
authors | 30 | id, country, first_name, last_name, email, username, avatar_url, bio, created_at |
posts | 150 | id, author_id (ref), title, slug, excerpt, content (markdown), featured_image, status, created_at, published_at, updated_at |
comments | 600 | id, post_id (ref), commenter_name, commenter_email, body, is_approved, created_at |
tags | 20 | id, name, slug |
post_tags | 400 | id, post_id (ref), tag_id (ref) |
Example Request
POST /api/v1/generate
Content-Type: application/json
Authorization: Bearer mh_7a1c3b24f8d4e6a9b2c1d3e5f7a8b9c0
{
"template": "blog",
"scale": 1,
"format": "json"
}Example Response (truncated)
{
"data": {
"authors": [
{
"id": "a1b2c3d4-...",
"country": "US",
"first_name": "Priya",
"last_name": "Sharma",
"email": "priya.sharma@techblog.io",
"username": "psharma",
"avatar_url": "https://api.dicebear.com/7.x/avataaars/svg?seed=482",
"bio": "Staff engineer writing about distributed systems and developer tooling.",
"created_at": "2023-04-12T00:00:00Z"
}
],
"posts": [
{
"id": "e5f6a7b8-...",
"author_id": "a1b2c3d4-...",
"title": "Understanding Event-Driven Architecture",
"slug": "understanding-event-driven-architecture",
"excerpt": "Event-driven architecture decouples producers from consumers.",
"content": "## Introduction\n\nEvent-driven architecture decouples producers...",
"featured_image": "https://picsum.photos/800/400?random=3",
"status": "published",
"created_at": "2025-09-20T00:00:00Z",
"published_at": "2025-11-03T09:14:00Z",
"updated_at": "2025-11-10T00:00:00Z"
}
],
"comments": [
{
"id": "c9d0e1f2-...",
"post_id": "e5f6a7b8-...",
"commenter_name": "Liam Chen",
"commenter_email": "liam.chen@example.com",
"body": "Great writeup! The section on event sourcing really clicked for me.",
"is_approved": true,
"created_at": "2025-11-04T12:03:00Z"
}
],
"tags": [
{ "id": "t1a2b3c4-...", "name": "Architecture", "slug": "architecture" }
],
"post_tags": [
{ "id": "j1k2l3m4-...", "post_id": "e5f6a7b8-...", "tag_id": "t1a2b3c4-..." }
]
},
"meta": {
"tables": 5,
"total_records": 1200,
"format": "json",
"seed": 3318274,
"generation_time_ms": 287
}
}saas 4 tables
A multi-tenant SaaS dataset with organizations, members scoped to organizations, subscriptions, and invoices with realistic billing data and timestamps.
Tables and Default Counts
- Table
organizations- Count
- 20
- Columns
- id, name, slug, domain, country, created_at, updated_at
- Table
members- Count
- 100
- Columns
- id, org_id (ref), first_name, last_name, email, role, job_title, avatar_url, invited_at
- Table
subscriptions- Count
- 20
- Columns
- id, org_id (ref), plan, status, interval, amount, currency, current_period_start, current_period_end, trial_end, started_at, updated_at
- Table
invoices- Count
- 120
- Columns
- id, invoice_number, subscription_id (ref), amount, currency, status, issued_at, due_date
| Table | Default Count | Key Columns |
|---|---|---|
organizations | 20 | id, name, slug, domain, country, created_at, updated_at |
members | 100 | id, org_id (ref), first_name, last_name, email, role, job_title, avatar_url, invited_at |
subscriptions | 20 | id, org_id (ref), plan, status, interval, amount, currency, current_period_start, current_period_end, trial_end, started_at, updated_at |
invoices | 120 | id, invoice_number, subscription_id (ref), amount, currency, status, issued_at, due_date |
Example Request
POST /api/v1/generate
Content-Type: application/json
Authorization: Bearer mh_7a1c3b24f8d4e6a9b2c1d3e5f7a8b9c0
{
"template": "saas",
"scale": 2,
"format": "json"
}Example Response (truncated)
{
"data": {
"organizations": [
{
"id": "org_1a2b3c-...",
"name": "Meridian Systems",
"slug": "meridian-systems",
"domain": "meridian.systems",
"country": "US",
"created_at": "2023-06-15T00:00:00Z",
"updated_at": "2025-09-10T00:00:00Z"
}
],
"members": [
{
"id": "usr_4d5e6f-...",
"org_id": "org_1a2b3c-...",
"first_name": "Jordan",
"last_name": "Rivera",
"email": "jordan@meridian.systems",
"role": "admin",
"job_title": "VP of Engineering",
"avatar_url": "https://api.dicebear.com/7.x/avataaars/svg?seed=194",
"invited_at": "2023-06-15T10:00:00Z"
}
],
"subscriptions": [
{
"id": "sub_7a8b9c-...",
"org_id": "org_1a2b3c-...",
"plan": "enterprise",
"status": "active",
"interval": "yearly",
"amount": "1990.00",
"currency": "USD",
"current_period_start": "2026-03-01T00:00:00Z",
"current_period_end": "2026-04-15T00:00:00Z",
"started_at": "2024-06-15T00:00:00Z",
"updated_at": "2026-03-01T00:00:00Z"
}
],
"invoices": [
{
"id": "inv_d0e1f2-...",
"invoice_number": "INV-1001",
"subscription_id": "sub_7a8b9c-...",
"amount": "1990.00",
"currency": "USD",
"status": "paid",
"issued_at": "2025-12-01T00:00:00Z",
"due_date": "2026-04-20T00:00:00Z"
}
]
},
"meta": {
"tables": 4,
"total_records": 520,
"format": "json",
"seed": 6617493,
"generation_time_ms": 356
}
}social 5 tables
A social network dataset with user profiles, posts, likes, follow relationships, and direct messages. Follows and likes reference valid users and posts.
Tables and Default Counts
- Table
users- Count
- 150
- Columns
- id, country, username, first_name, last_name, email, avatar_url, display_name, bio, is_verified, created_at, updated_at
- Table
posts- Count
- 600
- Columns
- id, user_id (ref), content, hashtag, created_at
- Table
likes- Count
- 3000
- Columns
- id, user_id (ref), post_id (ref), created_at
- Table
follows- Count
- 2000
- Columns
- id, follower_id (ref users), following_id (ref users), created_at
- Table
messages- Count
- 1000
- Columns
- id, sender_id (ref), receiver_id (ref), body, is_read, sent_at
| Table | Default Count | Key Columns |
|---|---|---|
users | 150 | id, country, username, first_name, last_name, email, avatar_url, display_name, bio, is_verified, created_at, updated_at |
posts | 600 | id, user_id (ref), content, hashtag, created_at |
likes | 3000 | id, user_id (ref), post_id (ref), created_at |
follows | 2000 | id, follower_id (ref users), following_id (ref users), created_at |
messages | 1000 | id, sender_id (ref), receiver_id (ref), body, is_read, sent_at |
Example Request
POST /api/v1/generate
Content-Type: application/json
Authorization: Bearer mh_7a1c3b24f8d4e6a9b2c1d3e5f7a8b9c0
{
"template": "social",
"scale": 0.5,
"format": "json"
}Example Response (truncated)
{
"data": {
"users": [
{
"id": "u1a2b3c4-...",
"country": "US",
"username": "liam_chen",
"first_name": "Liam",
"last_name": "Chen",
"email": "liam.chen@example.com",
"avatar_url": "https://api.dicebear.com/7.x/avataaars/svg?seed=738",
"display_name": "Liam Chen",
"bio": "Full-stack dev. Coffee enthusiast. Open source contributor.",
"is_verified": false,
"created_at": "2024-03-22T10:00:00Z",
"updated_at": "2025-08-01T00:00:00Z"
}
],
"posts": [
{
"id": "p5e6f7a8-...",
"user_id": "u1a2b3c4-...",
"content": "Just shipped a new feature using MockHero for all our test data. Game changer.",
"hashtag": "#devtools",
"created_at": "2025-12-18T16:45:00Z"
}
],
"likes": [
{ "id": "l9b0c1d2-...", "user_id": "u3e4f5a6-...", "post_id": "p5e6f7a8-...", "created_at": "2025-12-18T17:02:00Z" }
],
"follows": [
{ "id": "f7a8b9c0-...", "follower_id": "u3e4f5a6-...", "following_id": "u1a2b3c4-...", "created_at": "2024-05-10T00:00:00Z" }
],
"messages": [
{
"id": "m1d2e3f4-...",
"sender_id": "u3e4f5a6-...",
"receiver_id": "u1a2b3c4-...",
"body": "Hey! Loved your post about MockHero. Want to collaborate?",
"is_read": true,
"sent_at": "2025-12-18T18:30:00Z"
}
]
},
"meta": {
"tables": 5,
"total_records": 3375,
"format": "json",
"seed": 9912847,
"generation_time_ms": 298
}
}
MockHero