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.

Request Headers
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
â„šī¸
Getting Your API Token: You can generate API tokens from your account settings page after signing in.

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:

Response 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 Response
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid email format",
    "details": {
      "field": "email",
      "value": "invalid-email"
    }
  }
}

Authentication Endpoints

POST /auth/login

Authenticate a user and receive access tokens.

Request Body

JSON
{
  "email": "user@example.com",
  "password": "securepassword123"
}

Response

200 OK
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "refresh_token": "def502004a8b7e...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "user": {
    "id": "user_123",
    "email": "user@example.com",
    "name": "John Doe"
  }
}
POST /auth/refresh

Refresh an expired access token using a refresh token.

Request Body

JSON
{
  "refresh_token": "def502004a8b7e..."
}

Response

200 OK
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}
POST /auth/logout

Invalidate the current access token and refresh token.

Headers

Required
Authorization: Bearer YOUR_ACCESS_TOKEN

Response

200 OK
{
  "message": "Successfully logged out"
}

Contact Endpoints

POST /contact

Submit a contact form message.

Request Body

JSON
{
  "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

200 OK
{
  "id": "contact_123456",
  "message": "Contact form submitted successfully",
  "ticket_id": "TF-2025-001234",
  "estimated_response_time": "24 hours"
}

Status Endpoints

GET /status

Get overall system status and key metrics.

Response

200 OK
{
  "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/services

Get status of individual services.

Response

200 OK
[
  {
    "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 /status/metrics

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

200 OK
{
  "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 /status/incidents

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

200 OK
[
  {
    "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 /status/logs

Get service logs.

Response

200 OK
{"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 /status/maintenance

Get scheduled maintenance windows.

Response

200 OK
[
  {
    "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 /status/uptime

Get historical uptime data.

Query Parameters

Parameter Type Default Description
days integer 90 Number of days to return (max 365)

Response

200 OK
[
  {
    "date": "2025-08-07",
    "uptime": 100.0
  },
  {
    "date": "2025-08-06",
    "uptime": 99.95
  }
]
POST /status/subscribe

Subscribe to status page notifications.

Request Body

JSON
{
  "email": "user@example.com",
  "notifications": ["incidents", "maintenance"],
  "services": ["api", "web"]
}

Response

200 OK
{
  "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.

🐍

Python SDK

Official Python SDK with full API coverage and async support.

🔷

Go SDK

Official Go SDK with comprehensive error handling and context support.

Postman Collection

Import our Postman collection to quickly test API endpoints.

📮

TaskFlow API Collection

Complete collection with all endpoints, examples, and environment variables.

Import Collection

Changelog

v1.0.0
August 7, 2025

Initial API Release

  • Authentication endpoints (login, refresh, logout)
  • Contact form submission
  • Status page endpoints
  • Rate limiting implementation
  • Comprehensive error handling