API Reference
Complete reference for all SimplyStack API endpoints
Overview
The SimplyStack API is organized around REST principles with predictable, resource-oriented URLs. All requests require authentication via API key and return JSON responses.
Base URL
https://www.simplystack.dev/api/v1
Authentication
All API requests must include your API key in the x-api-key
header:
Note: You will need a Personal access tokens to read and create projects if authorized. You can create a personal access token in the settings page.
curl -H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
https://www.simplystack.dev/api/v1/projects
API Endpoints
Projects
View Details →Manage your projects and retrieve project information.
/api/v1/projects
List projects/api/v1/projects/{id}
Get project/api/v1/projects
Create project/api/v1/projects/{id}
Update projectBlog Posts
View Details →Create, read, update, and delete blog posts with SEO metadata support.
/api/v1/blog
List blog posts/api/v1/blog/{id}
Get blog post/api/v1/blog
Create blog post/api/v1/blog/{id}
Update blog post/api/v1/blog/{id}
Delete blog postLogs
View Details →Manage system logs with advanced filtering and metadata support.
/api/v1/logs
List logs/api/v1/logs/{id}
Get log entry/api/v1/logs
Create log entryStorage
View Details →Upload, manage, and delete files with metadata tracking.
/api/v1/storage
List storage assets/api/v1/storage/{id}
Get storage asset/api/v1/storage
Upload file/api/v1/storage/{id}
Update asset metadata/api/v1/storage/{id}
Delete storage assetEmail & CRM
View Details →Send transactional emails and manage leads with built-in CRM functionality.
/api/v1/emails/setup
Setup email config/api/v1/emails/send
Send email/api/v1/emails
List sent emails/api/v1/emails/leads
Create lead/api/v1/emails/leads
List leads/api/v1/emails/stats
Email analyticsResponse Format
All API endpoints return responses in a consistent JSON format:
Success Response
{
"data": {
"id": "f1fc1bb3-b9a8-4172-8637-755105bae373",
"title": "My Blog Post",
"content": "<h1>Hello World!</h1>",
"created_at": "2025-05-25T02:48:41.902157+00:00",
"updated_at": "2025-05-25T02:48:41.902157+00:00"
}
}
Error Response
{
"error": "Authentication failed: Invalid API key"
}
List Response
{
"data": [
{
"id": "post_1",
"title": "First Post"
},
{
"id": "post_2",
"title": "Second Post"
}
]
}
HTTP Status Codes
SimplyStack uses conventional HTTP response codes to indicate success or failure:
Code | Description |
---|---|
200 | OK - Request successful |
201 | Created - Resource created successfully |
400 | Bad Request - Invalid request parameters |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource not found |
500 | Internal Server Error - Server error |
Rate Limiting
API requests are rate limited to ensure fair usage. Rate limits are applied per API key:
Current Limits
- • 1000 requests per hour per API key
- • 100 requests per minute per API key
- • Rate limit headers included in all responses
Quick Examples
Create a Blog Post
curl -X POST https://www.simplystack.dev/api/v1/blog \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"title": "My First Post",
"content": "<h1>Hello World!</h1><p>This is my first post.</p>",
"tags": ["getting-started"],
"meta_title": "My First Post - Blog",
"meta_description": "Learning how to use SimplyStack"
}'
Upload a File
curl -X POST https://www.simplystack.dev/api/v1/storage \
-H "x-api-key: your_api_key_here" \
-F "file=@/path/to/your/file.jpg" \
-F "label=My Image"
Create a Log Entry
curl -X POST https://www.simplystack.dev/api/v1/logs \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"level": "info",
"message": "User logged in successfully",
"service": "auth",
"metadata": {
"userId": "123",
"ip": "192.168.1.1"
}
}'