Learn about SimplyStack APIs, authentication, and core concepts to start building with our platform.
API Overview
SimplyStack provides a comprehensive set of REST APIs to manage your backend infrastructure. Whether you're building a blog, documentation site, or full application, our APIs give you complete control over content, storage, projects, and more.
Base URL
All API requests are made to:
https://www.simplystack.dev/api/v1Authentication
SimplyStack uses API keys for authentication. There are two types of API keys:
Project API Keys
Project-specific keys that are scoped to a single project. Use these for:
- Content API - Fetch and manage content
- Storage API - Upload and manage files
- Email API - Send emails from your project
Get your project API key from Settings → API Keys in your project dashboard.
Personal API Keys
User-scoped keys for managing your account and projects. Use these for:
- Projects API - Create and manage projects
- Logs API - View logs across all projects
- Account operations
Generate personal API keys from your account settings.
Making Requests
Include your API key in the x-api-key header:
curl -H "x-api-key: your-api-key" \
"https://www.simplystack.dev/api/v1/content?type=blog"With JavaScript fetch:
const response = await fetch('https://www.simplystack.dev/api/v1/content', {
headers: {
'x-api-key': 'your-api-key',
'Content-Type': 'application/json'
}
});
const data = await response.json();Available APIs
Content API
Manage structured content with Editor.js. Perfect for blogs, documentation, and guides.
- GET /content - List content with filtering and pagination
- GET /content/{slug} - Get single content by slug
- POST /content - Create new content
- PUT /content - Update existing content
- DELETE /content - Delete content
Learn more in the Content API documentation.
Storage API
Upload and manage files with automatic CDN distribution.
- POST /storage - Upload files
- GET /storage - List files
- GET /storage/{id} - Get file metadata
- DELETE /storage/{id} - Delete file
Projects API
Create and manage your SimplyStack projects programmatically.
- GET /projects - List your projects
- POST /projects - Create new project
- GET /projects/{id} - Get project details
- PUT /projects/{id} - Update project
- DELETE /projects/{id} - Delete project
Email API
Send transactional emails from your applications.
- POST /emails - Send email
- GET /emails - List sent emails
- GET /emails/{id} - Get email details
Logs API
Access logs for debugging and monitoring.
- GET /logs - List logs with filtering
- GET /logs/{id} - Get log details
Response Format
All API responses follow a consistent JSON format:
Success Response
{
"data": {
// Response data
}
}List endpoints include pagination:
{
"data": [
// Array of items
],
"pagination": {
"page": 1,
"limit": 20,
"total": 100,
"totalPages": 5,
"hasNextPage": true,
"hasPrevPage": false
}
}Error Response
{
"error": "Error message describing what went wrong"
}HTTP Status Codes
SimplyStack APIs use standard HTTP status codes:
- 200 - Success
- 201 - Created (for POST requests)
- 400 - Bad Request (invalid parameters)
- 401 - Unauthorized (missing or invalid API key)
- 403 - Forbidden (wrong key type for operation)
- 404 - Not Found
- 409 - Conflict (e.g., duplicate slug)
- 500 - Server Error
Rate Limits
API rate limits depend on your plan:
- Free Plan - 1,000 requests per hour
- Pro Plan - 10,000 requests per hour
- Enterprise - Custom limits
Rate limit headers are included in all responses:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640000000Best Practices
- Use project-specific keys for content and storage operations
- Use personal keys only for account and project management
- Never expose API keys in client-side code
- Implement proper error handling for all requests
- Use pagination for large datasets
- Cache responses when appropriate
- Monitor rate limits to avoid throttling
Next Steps
Explore specific API documentation:
- Content API - Manage structured content
- Storage API - Upload and manage files
- Projects API - Manage your projects
- Email API - Send transactional emails
- SDK Documentation - Use official client libraries