🚀 Quick Start

1

Get Your API Key

Navigate to Settings → API Keys in your dashboard to generate your unique API key.

Generate API Key →
2

Make Your First Request

Use your API key to authenticate and start making requests to our endpoints.

curl -X GET "https://api.blueember.io/v1/projects" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
3

Explore Endpoints

Browse our comprehensive API documentation to discover all available features.

Browse Endpoints →

🔐 Authentication

Bearer Token Authentication

Include your API key in the Authorization header as a Bearer token.

HTTP Header
Authorization: Bearer be_live_1234567890abcdef

API Key in Query Parameter

For simple testing, include your API key as a query parameter.

Query Parameter
https://api.blueember.io/v1/projects?api_key=be_live_1234567890abcdef

🛡️ Security Best Practices

  • Keep your API key secret: Never expose it in client-side code or public repositories
  • Use environment variables: Store API keys in environment variables, not in code
  • Rotate keys regularly: Generate new API keys periodically for better security
  • Use HTTPS only: All API requests must be made over HTTPS
  • Monitor usage: Track your API usage to detect unauthorized access

🌐 Base URL & Response Format

📍 Base URL

https://api.blueember.io/v1

All API endpoints are relative to this base URL. The current API version is v1.

📄 Response Format

All API responses are in JSON format with consistent structure:

{
  "success": true,
  "data": { ... },
  "message": "Operation completed successfully",
  "timestamp": "2025-01-01T12:00:00Z"
}

🔍 Pagination

List endpoints support pagination with these parameters:

  • page - Page number (default: 1)
  • limit - Items per page (default: 20, max: 100)
  • sort - Sort field and direction

🔌 API Endpoints

📋 Projects

GET
/projects
List all projects

Query Parameters

Parameter Type Description
page integer Page number (default: 1)
limit integer Items per page (default: 20)
status string Filter by status (active, archived, completed)

Response Example

{
  "success": true,
  "data": {
    "projects": [
      {
        "id": 123,
        "title": "My Awesome Product",
        "description": "A product that will change the world",
        "status": "active",
        "created_at": "2025-01-01T12:00:00Z",
        "updated_at": "2025-01-02T15:30:00Z"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 1,
      "pages": 1
    }
  }
}
POST
/projects
Create a new project

Request Body

{
  "title": "My Awesome Product",
  "description": "A product that will change the world",
  "target_launch_date": "2025-02-15",
  "tags": ["saas", "b2b", "productivity"]
}

Response Example

{
  "success": true,
  "data": {
    "id": 124,
    "title": "My Awesome Product",
    "description": "A product that will change the world",
    "status": "active",
    "target_launch_date": "2025-02-15",
    "created_at": "2025-01-01T12:00:00Z"
  },
  "message": "Project created successfully"
}
GET
/projects/{id}
Get project details

Path Parameters

Parameter Type Description
id integer Project ID

📝 Checklists

GET
/projects/{id}/checklists
List project checklists
POST
/projects/{id}/checklists
Create a new checklist

Request Body

{
  "name": "Launch Preparation",
  "description": "Essential tasks for launch day",
  "category": "launch",
  "items": [
    {
      "title": "Final testing complete",
      "priority": "high",
      "due_date": "2025-02-14"
    },
    {
      "title": "Launch announcement ready",
      "priority": "medium",
      "due_date": "2025-02-15"
    }
  ]
}

📊 Analytics

GET
/projects/{id}/analytics
Get project analytics

Query Parameters

Parameter Type Description
start_date string Start date (YYYY-MM-DD)
end_date string End date (YYYY-MM-DD)
metrics string Comma-separated list of metrics

📊 HTTP Status Codes

✅ Success Codes

200 OK - Request successful
201 Created - Resource created successfully
204 No Content - Request successful, no content returned

⚠️ Client Error Codes

400 Bad Request - Invalid request parameters
401 Unauthorized - Invalid or missing API key
403 Forbidden - Insufficient permissions
404 Not Found - Resource does not exist
422 Unprocessable Entity - Validation failed
429 Too Many Requests - Rate limit exceeded

🔥 Server Error Codes

500 Internal Server Error - Unexpected server error
502 Bad Gateway - Server temporarily unavailable
503 Service Unavailable - Maintenance in progress

⏱️ Rate Limiting

📊 Rate Limits by Plan

Plan Requests/Hour Requests/Day Burst Limit
Free 100 1,000 10 requests/minute
Starter 1,000 10,000 50 requests/minute
Professional 5,000 50,000 200 requests/minute
Enterprise Unlimited Unlimited Custom

📋 Rate Limit Headers

Every API response includes rate limit information in these headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
  • X-RateLimit-Limit - Maximum requests per hour
  • X-RateLimit-Remaining - Requests remaining in current window
  • X-RateLimit-Reset - Unix timestamp when rate limit resets

📚 SDKs & Libraries

🐘

PHP SDK

Official PHP SDK for Blue Ember API

composer require blueember/sdk
use BlueEmber\Client;

$client = new Client('your-api-key');
$projects = $client->projects()->list();
🐍

Python SDK

Python client for Blue Ember API

pip install blueember-python
from blueember import BlueEmber

client = BlueEmber(api_key='your-api-key')
projects = client.projects.list()
📜

Node.js SDK

JavaScript/Node.js client library

npm install @blueember/sdk
const BlueEmber = require('@blueember/sdk');

const client = new BlueEmber('your-api-key');
const projects = await client.projects.list();
🦀

Rust SDK

Rust crate for Blue Ember API

cargo install blueember-rs
use blueember::Client;

let client = Client::new("your-api-key");
let projects = client.projects().list()?;

🪝 Webhooks

📡 Webhook Events

Receive real-time notifications about events in your projects:

📋 Project Events

  • project.created - New project created
  • project.updated - Project details updated
  • project.deleted - Project deleted
  • project.launched - Project launched successfully

📝 Checklist Events

  • checklist.created - New checklist created
  • checklist.completed - All items completed
  • checklist.item.created - New item added
  • checklist.item.completed - Item marked complete

📊 Analytics Events

  • analytics.milestone - Milestone achieved
  • analytics.threshold - Threshold crossed
  • analytics.anomaly - Unusual pattern detected

⚙️ Setting Up Webhooks

1. Configure Webhook URL

Add your webhook endpoint in Settings → Webhooks

POST https://your-app.com/webhooks/blueember

2. Verify Signatures

Always verify webhook signatures for security:

const signature = req.headers['x-blueember-signature'];
const payload = req.body;
const verified = verifySignature(payload, signature, webhook_secret);

3. Handle Events

Process events based on their type:

switch (event.type) {
  case 'project.created':
    // Handle new project
    break;
  case 'checklist.completed':
    // Send congratulations
    break;
}

🧪 Testing & Debugging

🔧 API Playground

Test API endpoints directly from your browser with our interactive playground.

  • Try all endpoints without writing code
  • See real request/response examples
  • Generate code snippets in multiple languages
  • Save and share test configurations

🐛 Debug Mode

Enable debug mode to get detailed information about API requests:

curl -X GET "https://api.blueember.io/v1/projects" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Debug: true"

Debug mode includes:

  • Request execution time
  • Database query information
  • Rate limit details
  • Performance metrics

📝 Request Logs

View your API request history in the dashboard:

  • Full request/response logs
  • Error details and stack traces
  • Usage analytics and trends
  • Export logs for analysis

💬 Need API Support?

Our team is here to help you build amazing integrations.

📚

API Documentation

Comprehensive guides and examples

Browse Docs →
💬

Developer Discord

Chat with other developers and our team

Join Discord →
🎫

API Support

Get help from our engineering team

Contact Support →