TaskFlow API Documentation
Welcome to the TaskFlow API documentation. Our REST API allows you to integrate TaskFlow's project management capabilities into your applications.
Base URL
https://api.taskflow.com/v1
Secure
OAuth 2.0 and API key authentication with HTTPS encryption
Fast
Global CDN with average response times under 200ms
Reliable
99.9% uptime SLA with comprehensive monitoring
RESTful
Standard HTTP methods with JSON request/response format
Authentication
TaskFlow API uses Bearer token authentication. Include your API token in the
Authorization
header of your requests.
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
Rate Limits
API requests are rate limited to ensure fair usage and system stability.
Plan | Requests per minute | Requests per hour | Burst limit |
---|---|---|---|
Free | 60 | 1,000 | 100 |
Pro | 300 | 10,000 | 500 |
Enterprise | 1,000 | 50,000 | 2,000 |
Rate Limit Headers
Every API response includes rate limit information in the headers:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 299
X-RateLimit-Reset: 1640995200
Error Handling
TaskFlow API uses conventional HTTP response codes to indicate success or failure of requests.
Status Code | Description |
---|---|
200 | OK - Request successful |
201 | Created - Resource created successfully |
400 | Bad Request - Invalid request parameters |
401 | Unauthorized - Invalid or missing authentication |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource not found |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - Server error |
Error Response Format
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid email format",
"details": {
"field": "email",
"value": "invalid-email"
}
}
}
Authentication Endpoints
Authenticate a user and receive access tokens.
Request Body
{
"email": "user@example.com",
"password": "securepassword123"
}
Response
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "def502004a8b7e...",
"token_type": "Bearer",
"expires_in": 3600,
"user": {
"id": "user_123",
"email": "user@example.com",
"name": "John Doe"
}
}
Refresh an expired access token using a refresh token.
Request Body
{
"refresh_token": "def502004a8b7e..."
}
Response
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 3600
}
Invalidate the current access token and refresh token.
Headers
Authorization: Bearer YOUR_ACCESS_TOKEN
Response
{
"message": "Successfully logged out"
}
Contact Endpoints
Submit a contact form message.
Request Body
{
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"phone": "+1-555-123-4567",
"company": "Acme Corp",
"subject": "general",
"priority": "medium",
"message": "I'm interested in learning more about TaskFlow for my team.",
"newsletter": true,
"privacy": true
}
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
firstName |
string | Yes | Contact's first name |
lastName |
string | Yes | Contact's last name |
email |
string | Yes | Valid email address |
phone |
string | No | Phone number |
company |
string | No | Company name |
subject |
enum | Yes | general, support, sales, billing, feature, partnership, other |
priority |
enum | No | low, medium, high, urgent (default: low) |
message |
string | Yes | Message content (max 1000 characters) |
newsletter |
boolean | No | Subscribe to newsletter (default: false) |
privacy |
boolean | Yes | Privacy policy agreement |
Response
{
"id": "contact_123456",
"message": "Contact form submitted successfully",
"ticket_id": "TF-2025-001234",
"estimated_response_time": "24 hours"
}
Status Endpoints
Get overall system status and key metrics.
Response
{
"status": "operational",
"description": "All systems are operating normally",
"uptime": 99.95,
"responseTime": 245,
"activeIncidents": 0,
"scheduledMaintenance": 0,
"lastUpdated": "2025-08-07T15:30:00Z"
}
Get status of individual services.
Response
[
{
"id": "api",
"name": "API Gateway",
"description": "Core API services",
"status": "operational",
"responseTime": 180,
"uptime": 99.98
},
{
"id": "web",
"name": "Web Application",
"description": "TaskFlow web interface",
"status": "operational",
"responseTime": 120,
"uptime": 99.95
}
]
Get detailed performance metrics.
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
range |
enum | 24h | Time range: 1h, 6h, 24h, 7d |
metric |
enum | all | Specific metric: responseTime, volume, errors |
Response
{
"range": "24h",
"responseTime": {
"average": 245,
"p95": 380,
"p99": 520,
"data": [
{
"timestamp": "2025-08-07T14:00:00Z",
"value": 240
}
]
},
"volume": {
"total": 1250000,
"average": 868,
"data": [
{
"timestamp": "2025-08-07T14:00:00Z",
"value": 850
}
]
}
}
Get current and recent incidents.
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
status |
enum | all | Filter by status: investigating, identified, monitoring, resolved |
limit |
integer | 10 | Number of incidents to return (max 50) |
Response
[
{
"id": "incident_123",
"title": "Intermittent API Timeouts",
"description": "Some users may experience slow response times when accessing the API.",
"status": "investigating",
"severity": "minor",
"startTime": "2025-08-07T13:30:00Z",
"endTime": null,
"affectedServices": ["api", "web"],
"updates": [
{
"timestamp": "2025-08-07T13:30:00Z",
"status": "investigating",
"message": "We are investigating reports of slow API response times."
}
]
}
]
Get service logs.
Response
{"clientAddr":"127.0.0.XXX:33906","requestedPath":"/api-docs.html","requestTime":"2025-08-08T17:26:29.552168681Z","httpMethod":"GET"}
{"incidentEvent": {"id":"32","title":"Out-of-memory exception in worker thread","description":"Out-of-memory exception in worker thread","status":"degraded","severity":"minor","startTime":"2025-08-08T17:26:38.05963434Z","affectedServices":[]}}
Get scheduled maintenance windows.
Response
[
{
"id": "maintenance_456",
"title": "Database Maintenance Window",
"description": "Scheduled maintenance to upgrade database servers.",
"startTime": "2025-08-08T02:00:00Z",
"endTime": "2025-08-08T04:00:00Z",
"affectedServices": ["database", "api"],
"impact": "Brief service interruptions may occur",
"status": "scheduled"
}
]
Get historical uptime data.
Query Parameters
Parameter | Type | Default | Description |
---|---|---|---|
days |
integer | 90 | Number of days to return (max 365) |
Response
[
{
"date": "2025-08-07",
"uptime": 100.0
},
{
"date": "2025-08-06",
"uptime": 99.95
}
]
Subscribe to status page notifications.
Request Body
{
"email": "user@example.com",
"notifications": ["incidents", "maintenance"],
"services": ["api", "web"]
}
Response
{
"id": "subscription_789",
"message": "Successfully subscribed to status notifications",
"email": "user@example.com",
"confirmationSent": true
}
SDKs & Tools
Official SDKs and tools to help you integrate with TaskFlow API.
JavaScript SDK
Official JavaScript/TypeScript SDK for browser and Node.js applications.
Postman Collection
Import our Postman collection to quickly test API endpoints.
TaskFlow API Collection
Complete collection with all endpoints, examples, and environment variables.
Changelog
Initial API Release
- Authentication endpoints (login, refresh, logout)
- Contact form submission
- Status page endpoints
- Rate limiting implementation
- Comprehensive error handling