summaryrefslogtreecommitdiff
path: root/static/api-docs.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/api-docs.html')
-rw-r--r--static/api-docs.html937
1 files changed, 937 insertions, 0 deletions
diff --git a/static/api-docs.html b/static/api-docs.html
new file mode 100644
index 0000000..a133375
--- /dev/null
+++ b/static/api-docs.html
@@ -0,0 +1,937 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>API Documentation - TaskFlow</title>
+ <link rel="stylesheet" href="api-docs-styles.css">
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
+</head>
+<body>
+ <nav class="navbar">
+ <div class="nav-container">
+ <a href="landing.html" class="nav-logo">TaskFlow</a>
+ <ul class="nav-menu">
+ <li><a href="landing.html#features" class="nav-link">Features</a></li>
+ <li><a href="landing.html#pricing" class="nav-link">Pricing</a></li>
+ <li><a href="about.html" class="nav-link">About</a></li>
+ <li><a href="blog.html" class="nav-link">Blog</a></li>
+ <li><a href="contact.html" class="nav-link">Contact</a></li>
+ </ul>
+ <div class="nav-actions">
+ <a href="login.html" class="btn btn-ghost">Sign In</a>
+ <button class="btn btn-primary">Start Free Trial</button>
+ </div>
+ </div>
+ </nav>
+
+ <div class="docs-layout">
+ <aside class="sidebar" id="sidebar">
+ <div class="sidebar-header">
+ <h3>API Documentation</h3>
+ <div class="api-version">v2.1</div>
+ </div>
+
+ <nav class="sidebar-nav">
+ <div class="nav-section">
+ <h4>Getting Started</h4>
+ <ul>
+ <li><a href="#introduction" class="nav-item">Introduction</a></li>
+ <li><a href="#authentication" class="nav-item">Authentication</a></li>
+ <li><a href="#rate-limiting" class="nav-item">Rate Limiting</a></li>
+ <li><a href="#errors" class="nav-item">Error Handling</a></li>
+ </ul>
+ </div>
+
+ <div class="nav-section">
+ <h4>Core Resources</h4>
+ <ul>
+ <li><a href="#projects" class="nav-item">Projects</a></li>
+ <li><a href="#tasks" class="nav-item">Tasks</a></li>
+ <li><a href="#users" class="nav-item">Users</a></li>
+ <li><a href="#teams" class="nav-item">Teams</a></li>
+ </ul>
+ </div>
+
+ <div class="nav-section">
+ <h4>Advanced</h4>
+ <ul>
+ <li><a href="#webhooks" class="nav-item">Webhooks</a></li>
+ <li><a href="#search" class="nav-item">Search</a></li>
+ <li><a href="#analytics" class="nav-item">Analytics</a></li>
+ <li><a href="#integrations" class="nav-item">Integrations</a></li>
+ </ul>
+ </div>
+
+ <div class="nav-section">
+ <h4>Resources</h4>
+ <ul>
+ <li><a href="#sdks" class="nav-item">SDKs</a></li>
+ <li><a href="#changelog" class="nav-item">Changelog</a></li>
+ <li><a href="#support" class="nav-item">Support</a></li>
+ </ul>
+ </div>
+ </nav>
+ </aside>
+
+ <main class="main-content">
+ <div class="content-header">
+ <h1>TaskFlow API Documentation</h1>
+ <p>Build powerful integrations with TaskFlow's RESTful API. Access projects, tasks, users, and more programmatically.</p>
+
+ <div class="quick-actions">
+ <button class="btn btn-primary" id="getApiKeyBtn">Get API Key</button>
+ <button class="btn btn-secondary" id="tryApiBtn">Try API</button>
+ <div class="api-status">
+ <div class="status-dot operational"></div>
+ <span>API Status: Operational</span>
+ </div>
+ </div>
+ </div>
+
+ <section id="introduction" class="doc-section">
+ <h2>Introduction</h2>
+ <p>The TaskFlow API is a RESTful API that allows you to integrate TaskFlow's project management capabilities into your applications. Our API follows standard HTTP conventions and returns JSON responses.</p>
+
+ <div class="info-box">
+ <div class="info-icon">â„šī¸</div>
+ <div class="info-content">
+ <h4>Base URL</h4>
+ <code>https://api.taskflow.com/v2</code>
+ </div>
+ </div>
+
+ <h3>Key Features</h3>
+ <ul class="feature-list">
+ <li>RESTful architecture with predictable URLs</li>
+ <li>JSON request and response bodies</li>
+ <li>Standard HTTP status codes</li>
+ <li>OAuth 2.0 and API key authentication</li>
+ <li>Rate limiting and pagination</li>
+ <li>Comprehensive error messages</li>
+ <li>Real-time webhooks</li>
+ <li>SDKs for popular languages</li>
+ </ul>
+ </section>
+
+ <section id="authentication" class="doc-section">
+ <h2>Authentication</h2>
+ <p>TaskFlow API supports two authentication methods: API Keys for server-to-server communication and OAuth 2.0 for user-facing applications.</p>
+
+ <div class="auth-methods">
+ <div class="auth-method">
+ <h3>API Key Authentication</h3>
+ <p>Include your API key in the Authorization header:</p>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Request Headers</span>
+ <button class="copy-btn" data-copy="auth-header">Copy</button>
+ </div>
+ <pre><code id="auth-header">Authorization: Bearer your_api_key_here
+Content-Type: application/json</code></pre>
+ </div>
+ </div>
+
+ <div class="auth-method">
+ <h3>OAuth 2.0</h3>
+ <p>For user-facing applications, use OAuth 2.0 with the authorization code flow:</p>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Authorization URL</span>
+ <button class="copy-btn" data-copy="oauth-url">Copy</button>
+ </div>
+ <pre><code id="oauth-url">https://api.taskflow.com/oauth/authorize?
+ client_id=your_client_id&
+ redirect_uri=your_redirect_uri&
+ response_type=code&
+ scope=read write</code></pre>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="rate-limiting" class="doc-section">
+ <h2>Rate Limiting</h2>
+ <p>API requests are rate limited to ensure fair usage and system stability.</p>
+
+ <div class="rate-limits">
+ <div class="rate-limit-tier">
+ <h4>Free Tier</h4>
+ <div class="limit-value">1,000 requests/hour</div>
+ <div class="limit-burst">Burst: 100 requests/minute</div>
+ </div>
+ <div class="rate-limit-tier">
+ <h4>Pro Tier</h4>
+ <div class="limit-value">10,000 requests/hour</div>
+ <div class="limit-burst">Burst: 500 requests/minute</div>
+ </div>
+ <div class="rate-limit-tier">
+ <h4>Enterprise</h4>
+ <div class="limit-value">100,000 requests/hour</div>
+ <div class="limit-burst">Burst: 2,000 requests/minute</div>
+ </div>
+ </div>
+
+ <h3>Rate Limit Headers</h3>
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Response Headers</span>
+ </div>
+ <pre><code>X-RateLimit-Limit: 1000
+X-RateLimit-Remaining: 999
+X-RateLimit-Reset: 1640995200</code></pre>
+ </div>
+ </section>
+
+ <section id="errors" class="doc-section">
+ <h2>Error Handling</h2>
+ <p>TaskFlow API uses conventional HTTP response codes and returns detailed error information in JSON format.</p>
+
+ <div class="error-codes">
+ <div class="error-code">
+ <div class="code-number">200</div>
+ <div class="code-description">
+ <h4>OK</h4>
+ <p>Request succeeded</p>
+ </div>
+ </div>
+ <div class="error-code">
+ <div class="code-number">400</div>
+ <div class="code-description">
+ <h4>Bad Request</h4>
+ <p>Invalid request parameters</p>
+ </div>
+ </div>
+ <div class="error-code">
+ <div class="code-number">401</div>
+ <div class="code-description">
+ <h4>Unauthorized</h4>
+ <p>Invalid or missing authentication</p>
+ </div>
+ </div>
+ <div class="error-code">
+ <div class="code-number">403</div>
+ <div class="code-description">
+ <h4>Forbidden</h4>
+ <p>Insufficient permissions</p>
+ </div>
+ </div>
+ <div class="error-code">
+ <div class="code-number">404</div>
+ <div class="code-description">
+ <h4>Not Found</h4>
+ <p>Resource not found</p>
+ </div>
+ </div>
+ <div class="error-code">
+ <div class="code-number">429</div>
+ <div class="code-description">
+ <h4>Too Many Requests</h4>
+ <p>Rate limit exceeded</p>
+ </div>
+ </div>
+ </div>
+
+ <h3>Error Response Format</h3>
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Error Response</span>
+ <button class="copy-btn" data-copy="error-response">Copy</button>
+ </div>
+ <pre><code id="error-response">{
+ "error": {
+ "code": "validation_error",
+ "message": "The request contains invalid parameters",
+ "details": [
+ {
+ "field": "name",
+ "message": "Name is required"
+ }
+ ],
+ "request_id": "req_1234567890"
+ }
+}</code></pre>
+ </div>
+ </section>
+
+ <section id="projects" class="doc-section">
+ <h2>Projects</h2>
+ <p>Projects are the top-level containers for organizing tasks and team collaboration.</p>
+
+ <div class="endpoint-group">
+ <div class="endpoint">
+ <div class="endpoint-header">
+ <div class="method get">GET</div>
+ <div class="endpoint-path">/projects</div>
+ <div class="endpoint-title">List Projects</div>
+ </div>
+
+ <div class="endpoint-content">
+ <p>Retrieve a list of projects accessible to the authenticated user.</p>
+
+ <h4>Query Parameters</h4>
+ <div class="parameters">
+ <div class="parameter">
+ <div class="param-name">limit</div>
+ <div class="param-type">integer</div>
+ <div class="param-description">Number of results to return (1-100, default: 20)</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">offset</div>
+ <div class="param-type">integer</div>
+ <div class="param-description">Number of results to skip (default: 0)</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">status</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Filter by status: active, completed, archived</div>
+ </div>
+ </div>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Request</span>
+ <div class="code-tabs">
+ <button class="tab-btn active" data-tab="curl">cURL</button>
+ <button class="tab-btn" data-tab="javascript">JavaScript</button>
+ <button class="tab-btn" data-tab="python">Python</button>
+ </div>
+ <button class="copy-btn" data-copy="projects-curl">Copy</button>
+ </div>
+ <div class="code-content">
+ <pre class="tab-content active" id="curl"><code id="projects-curl">curl -X GET "https://api.taskflow.com/v2/projects?limit=10&status=active" \
+ -H "Authorization: Bearer your_api_key_here" \
+ -H "Content-Type: application/json"</code></pre>
+ <pre class="tab-content" id="javascript"><code>const response = await fetch('https://api.taskflow.com/v2/projects?limit=10&status=active', {
+ method: 'GET',
+ headers: {
+ 'Authorization': 'Bearer your_api_key_here',
+ 'Content-Type': 'application/json'
+ }
+});
+
+const projects = await response.json();</code></pre>
+ <pre class="tab-content" id="python"><code>import requests
+
+headers = {
+ 'Authorization': 'Bearer your_api_key_here',
+ 'Content-Type': 'application/json'
+}
+
+response = requests.get(
+ 'https://api.taskflow.com/v2/projects',
+ headers=headers,
+ params={'limit': 10, 'status': 'active'}
+)
+
+projects = response.json()</code></pre>
+ </div>
+ </div>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Response</span>
+ <button class="copy-btn" data-copy="projects-response">Copy</button>
+ </div>
+ <pre><code id="projects-response">{
+ "data": [
+ {
+ "id": "proj_1234567890",
+ "name": "Website Redesign",
+ "description": "Complete overhaul of company website",
+ "status": "active",
+ "created_at": "2025-01-15T10:30:00Z",
+ "updated_at": "2025-01-20T14:22:00Z",
+ "owner": {
+ "id": "user_0987654321",
+ "name": "John Doe",
+ "email": "john@company.com"
+ },
+ "team_id": "team_1122334455",
+ "task_count": 24,
+ "completed_tasks": 12,
+ "progress": 50.0,
+ "due_date": "2025-03-01T00:00:00Z",
+ "tags": ["design", "frontend", "priority-high"]
+ }
+ ],
+ "pagination": {
+ "limit": 10,
+ "offset": 0,
+ "total": 1,
+ "has_more": false
+ }
+}</code></pre>
+ </div>
+
+ <div class="try-it-section">
+ <button class="btn btn-primary try-it-btn" data-endpoint="projects">Try It</button>
+ </div>
+ </div>
+ </div>
+
+ <div class="endpoint">
+ <div class="endpoint-header">
+ <div class="method post">POST</div>
+ <div class="endpoint-path">/projects</div>
+ <div class="endpoint-title">Create Project</div>
+ </div>
+
+ <div class="endpoint-content">
+ <p>Create a new project.</p>
+
+ <h4>Request Body</h4>
+ <div class="parameters">
+ <div class="parameter required">
+ <div class="param-name">name</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Project name (1-100 characters)</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">description</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Project description (max 1000 characters)</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">team_id</div>
+ <div class="param-type">string</div>
+ <div class="param-description">ID of the team to assign the project to</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">due_date</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Due date in ISO 8601 format</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">tags</div>
+ <div class="param-type">array</div>
+ <div class="param-description">Array of tag strings</div>
+ </div>
+ </div>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Request</span>
+ <button class="copy-btn" data-copy="create-project">Copy</button>
+ </div>
+ <pre><code id="create-project">curl -X POST "https://api.taskflow.com/v2/projects" \
+ -H "Authorization: Bearer your_api_key_here" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "name": "Mobile App Development",
+ "description": "Build iOS and Android mobile applications",
+ "team_id": "team_1122334455",
+ "due_date": "2025-06-01T00:00:00Z",
+ "tags": ["mobile", "ios", "android"]
+ }'</code></pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="tasks" class="doc-section">
+ <h2>Tasks</h2>
+ <p>Tasks represent individual work items within projects.</p>
+
+ <div class="endpoint-group">
+ <div class="endpoint">
+ <div class="endpoint-header">
+ <div class="method get">GET</div>
+ <div class="endpoint-path">/projects/{project_id}/tasks</div>
+ <div class="endpoint-title">List Tasks</div>
+ </div>
+
+ <div class="endpoint-content">
+ <p>Retrieve tasks for a specific project.</p>
+
+ <h4>Path Parameters</h4>
+ <div class="parameters">
+ <div class="parameter required">
+ <div class="param-name">project_id</div>
+ <div class="param-type">string</div>
+ <div class="param-description">The ID of the project</div>
+ </div>
+ </div>
+
+ <h4>Query Parameters</h4>
+ <div class="parameters">
+ <div class="parameter">
+ <div class="param-name">status</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Filter by status: todo, in_progress, completed</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">assignee_id</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Filter by assigned user ID</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">priority</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Filter by priority: low, medium, high, urgent</div>
+ </div>
+ </div>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Response</span>
+ <button class="copy-btn" data-copy="tasks-response">Copy</button>
+ </div>
+ <pre><code id="tasks-response">{
+ "data": [
+ {
+ "id": "task_9876543210",
+ "title": "Design homepage mockup",
+ "description": "Create wireframes and visual mockups for the new homepage",
+ "status": "in_progress",
+ "priority": "high",
+ "created_at": "2025-01-16T09:15:00Z",
+ "updated_at": "2025-01-18T11:30:00Z",
+ "due_date": "2025-01-25T17:00:00Z",
+ "assignee": {
+ "id": "user_1357924680",
+ "name": "Jane Smith",
+ "email": "jane@company.com"
+ },
+ "project_id": "proj_1234567890",
+ "tags": ["design", "homepage"],
+ "time_estimate": 480,
+ "time_spent": 240,
+ "subtasks": [
+ {
+ "id": "subtask_1111111111",
+ "title": "Create wireframes",
+ "completed": true
+ },
+ {
+ "id": "subtask_2222222222",
+ "title": "Design visual mockups",
+ "completed": false
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "limit": 20,
+ "offset": 0,
+ "total": 1,
+ "has_more": false
+ }
+}</code></pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="users" class="doc-section">
+ <h2>Users</h2>
+ <p>Manage user accounts and profiles.</p>
+
+ <div class="endpoint-group">
+ <div class="endpoint">
+ <div class="endpoint-header">
+ <div class="method get">GET</div>
+ <div class="endpoint-path">/users/me</div>
+ <div class="endpoint-title">Get Current User</div>
+ </div>
+
+ <div class="endpoint-content">
+ <p>Retrieve information about the authenticated user.</p>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Response</span>
+ <button class="copy-btn" data-copy="user-response">Copy</button>
+ </div>
+ <pre><code id="user-response">{
+ "id": "user_0987654321",
+ "name": "John Doe",
+ "email": "john@company.com",
+ "avatar_url": "https://cdn.taskflow.com/avatars/user_0987654321.jpg",
+ "role": "admin",
+ "created_at": "2024-12-01T10:00:00Z",
+ "last_active": "2025-01-20T15:30:00Z",
+ "timezone": "America/New_York",
+ "preferences": {
+ "notifications": {
+ "email": true,
+ "push": true,
+ "desktop": false
+ },
+ "theme": "light"
+ },
+ "subscription": {
+ "plan": "pro",
+ "status": "active",
+ "expires_at": "2025-12-01T00:00:00Z"
+ }
+}</code></pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="teams" class="doc-section">
+ <h2>Teams</h2>
+ <p>Manage teams and team memberships.</p>
+
+ <div class="endpoint-group">
+ <div class="endpoint">
+ <div class="endpoint-header">
+ <div class="method get">GET</div>
+ <div class="endpoint-path">/teams</div>
+ <div class="endpoint-title">List Teams</div>
+ </div>
+
+ <div class="endpoint-content">
+ <p>Retrieve teams that the authenticated user belongs to.</p>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Response</span>
+ <button class="copy-btn" data-copy="teams-response">Copy</button>
+ </div>
+ <pre><code id="teams-response">{
+ "data": [
+ {
+ "id": "team_1122334455",
+ "name": "Design Team",
+ "description": "UI/UX designers and visual artists",
+ "created_at": "2024-11-15T08:00:00Z",
+ "member_count": 8,
+ "project_count": 12,
+ "owner": {
+ "id": "user_0987654321",
+ "name": "John Doe",
+ "email": "john@company.com"
+ },
+ "members": [
+ {
+ "id": "user_1357924680",
+ "name": "Jane Smith",
+ "email": "jane@company.com",
+ "role": "member",
+ "joined_at": "2024-11-20T10:30:00Z"
+ }
+ ]
+ }
+ ],
+ "pagination": {
+ "limit": 20,
+ "offset": 0,
+ "total": 1,
+ "has_more": false
+ }
+}</code></pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="webhooks" class="doc-section">
+ <h2>Webhooks</h2>
+ <p>Set up real-time notifications for events in your TaskFlow account.</p>
+
+ <div class="webhook-events">
+ <h3>Supported Events</h3>
+ <div class="event-grid">
+ <div class="event-item">
+ <div class="event-name">project.created</div>
+ <div class="event-description">New project created</div>
+ </div>
+ <div class="event-item">
+ <div class="event-name">project.updated</div>
+ <div class="event-description">Project details changed</div>
+ </div>
+ <div class="event-item">
+ <div class="event-name">task.created</div>
+ <div class="event-description">New task created</div>
+ </div>
+ <div class="event-item">
+ <div class="event-name">task.completed</div>
+ <div class="event-description">Task marked as completed</div>
+ </div>
+ <div class="event-item">
+ <div class="event-name">user.invited</div>
+ <div class="event-description">User invited to team</div>
+ </div>
+ <div class="event-item">
+ <div class="event-name">comment.added</div>
+ <div class="event-description">Comment added to task</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="endpoint-group">
+ <div class="endpoint">
+ <div class="endpoint-header">
+ <div class="method post">POST</div>
+ <div class="endpoint-path">/webhooks</div>
+ <div class="endpoint-title">Create Webhook</div>
+ </div>
+
+ <div class="endpoint-content">
+ <p>Create a new webhook endpoint.</p>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Request</span>
+ <button class="copy-btn" data-copy="webhook-create">Copy</button>
+ </div>
+ <pre><code id="webhook-create">curl -X POST "https://api.taskflow.com/v2/webhooks" \
+ -H "Authorization: Bearer your_api_key_here" \
+ -H "Content-Type: application/json" \
+ -d '{
+ "url": "https://your-app.com/webhooks/taskflow",
+ "events": ["task.created", "task.completed"],
+ "secret": "your_webhook_secret"
+ }'</code></pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="search" class="doc-section">
+ <h2>Search</h2>
+ <p>Search across projects, tasks, and other resources.</p>
+
+ <div class="endpoint-group">
+ <div class="endpoint">
+ <div class="endpoint-header">
+ <div class="method get">GET</div>
+ <div class="endpoint-path">/search</div>
+ <div class="endpoint-title">Search Resources</div>
+ </div>
+
+ <div class="endpoint-content">
+ <p>Perform a full-text search across your TaskFlow data.</p>
+
+ <h4>Query Parameters</h4>
+ <div class="parameters">
+ <div class="parameter required">
+ <div class="param-name">q</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Search query</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">type</div>
+ <div class="param-type">string</div>
+ <div class="param-description">Resource type: projects, tasks, users, teams</div>
+ </div>
+ <div class="parameter">
+ <div class="param-name">limit</div>
+ <div class="param-type">integer</div>
+ <div class="param-description">Number of results (1-50, default: 10)</div>
+ </div>
+ </div>
+
+ <div class="code-example">
+ <div class="code-header">
+ <span class="code-title">Example Request</span>
+ <button class="copy-btn" data-copy="search-request">Copy</button>
+ </div>
+ <pre><code id="search-request">curl -X GET "https://api.taskflow.com/v2/search?q=design&type=tasks&limit=5" \
+ -H "Authorization: Bearer your_api_key_here"</code></pre>
+ </div>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="sdks" class="doc-section">
+ <h2>SDKs</h2>
+ <p>Official SDKs and libraries for popular programming languages.</p>
+
+ <div class="sdk-grid">
+ <div class="sdk-card">
+ <div class="sdk-icon">🟨</div>
+ <h3>JavaScript/Node.js</h3>
+ <p>Official JavaScript SDK for browser and Node.js applications.</p>
+ <div class="sdk-install">
+ <code>npm install @taskflow/sdk</code>
+ </div>
+ <div class="sdk-links">
+ <a href="#" class="sdk-link">Documentation</a>
+ <a href="#" class="sdk-link">GitHub</a>
+ </div>
+ </div>
+
+ <div class="sdk-card">
+ <div class="sdk-icon">🐍</div>
+ <h3>Python</h3>
+ <p>Official Python SDK with async support.</p>
+ <div class="sdk-install">
+ <code>pip install taskflow-sdk</code>
+ </div>
+ <div class="sdk-links">
+ <a href="#" class="sdk-link">Documentation</a>
+ <a href="#" class="sdk-link">PyPI</a>
+ </div>
+ </div>
+
+ <div class="sdk-card">
+ <div class="sdk-icon">☕</div>
+ <h3>Java</h3>
+ <p>Official Java SDK for enterprise applications.</p>
+ <div class="sdk-install">
+ <code>implementation 'com.taskflow:sdk:2.1.0'</code>
+ </div>
+ <div class="sdk-links">
+ <a href="#" class="sdk-link">Documentation</a>
+ <a href="#" class="sdk-link">Maven Central</a>
+ </div>
+ </div>
+
+ <div class="sdk-card">
+ <div class="sdk-icon">🔷</div>
+ <h3>Go</h3>
+ <p>Official Go SDK with full API coverage.</p>
+ <div class="sdk-install">
+ <code>go get github.com/taskflow/go-sdk</code>
+ </div>
+ <div class="sdk-links">
+ <a href="#" class="sdk-link">Documentation</a>
+ <a href="#" class="sdk-link">GitHub</a>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="changelog" class="doc-section">
+ <h2>Changelog</h2>
+ <p>Recent updates and changes to the TaskFlow API.</p>
+
+ <div class="changelog">
+ <div class="changelog-entry">
+ <div class="changelog-date">2025-01-15</div>
+ <div class="changelog-version">v2.1.0</div>
+ <div class="changelog-content">
+ <h4>New Features</h4>
+ <ul>
+ <li>Added search endpoint with full-text search capabilities</li>
+ <li>Introduced webhook support for real-time notifications</li>
+ <li>Added subtasks support in task objects</li>
+ </ul>
+ <h4>Improvements</h4>
+ <ul>
+ <li>Increased rate limits for Pro and Enterprise tiers</li>
+ <li>Enhanced error messages with more detailed information</li>
+ <li>Added time tracking fields to tasks</li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="changelog-entry">
+ <div class="changelog-date">2024-12-20</div>
+ <div class="changelog-version">v2.0.0</div>
+ <div class="changelog-content">
+ <h4>Breaking Changes</h4>
+ <ul>
+ <li>Updated authentication to use Bearer tokens</li>
+ <li>Changed date format to ISO 8601</li>
+ <li>Renamed several field names for consistency</li>
+ </ul>
+ <h4>New Features</h4>
+ <ul>
+ <li>Added teams endpoint</li>
+ <li>Introduced pagination for all list endpoints</li>
+ <li>Added OAuth 2.0 support</li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section id="support" class="doc-section">
+ <h2>Support</h2>
+ <p>Get help with the TaskFlow API.</p>
+
+ <div class="support-options">
+ <div class="support-option">
+ <div class="support-icon">📚</div>
+ <h3>Documentation</h3>
+ <p>Comprehensive guides and tutorials</p>
+ <a href="#" class="support-link">View Docs</a>
+ </div>
+
+ <div class="support-option">
+ <div class="support-icon">đŸ’Ŧ</div>
+ <h3>Community Forum</h3>
+ <p>Ask questions and share knowledge</p>
+ <a href="#" class="support-link">Join Forum</a>
+ </div>
+
+ <div class="support-option">
+ <div class="support-icon">đŸŽĢ</div>
+ <h3>Support Tickets</h3>
+ <p>Get direct help from our team</p>
+ <a href="contact.html" class="support-link">Contact Support</a>
+ </div>
+
+ <div class="support-option">
+ <div class="support-icon">📊</div>
+ <h3>API Status</h3>
+ <p>Check current API status and uptime</p>
+ <a href="status.html" class="support-link">View Status</a>
+ </div>
+ </div>
+ </section>
+ </main>
+ </div>
+
+ <div class="api-tester" id="apiTester">
+ <div class="tester-header">
+ <h3>API Tester</h3>
+ <button class="close-btn" id="closeTester">×</button>
+ </div>
+ <div class="tester-content">
+ <div class="tester-form">
+ <div class="form-group">
+ <label>Method</label>
+ <select id="testMethod">
+ <option value="GET">GET</option>
+ <option value="POST">POST</option>
+ <option value="PUT">PUT</option>
+ <option value="DELETE">DELETE</option>
+ </select>
+ </div>
+ <div class="form-group">
+ <label>Endpoint</label>
+ <input type="text" id="testEndpoint" placeholder="/projects">
+ </div>
+ <div class="form-group">
+ <label>Headers</label>
+ <textarea id="testHeaders" rows="3">Authorization: Bearer your_api_key_here
+Content-Type: application/json</textarea>
+ </div>
+ <div class="form-group">
+ <label>Request Body</label>
+ <textarea id="testBody" rows="5" placeholder='{"name": "Test Project"}'></textarea>
+ </div>
+ <button class="btn btn-primary" id="sendRequest">Send Request</button>
+ </div>
+ <div class="tester-response">
+ <h4>Response</h4>
+ <div class="response-status" id="responseStatus"></div>
+ <pre id="responseBody"></pre>
+ </div>
+ </div>
+ </div>
+
+ <div class="toast" id="toast">
+ <div class="toast-content">
+ <span class="toast-icon">✓</span>
+ <span class="toast-message"></span>
+ </div>
+ </div>
+
+ <script src="api-docs-script.js"></script>
+</body>
+</html>