{
  "site_config": {
    "name": "Technical Documentation",
    "brand": "capidocs",
    "brand_icon": "fas fa-file-alt",
    "use_logos": true,
    "license": {
      "text": "This project is open source and available under the GNU GPL v3.",
      "link": "LICENSE"
    },
    "logos": {
      "navbar_light": "logos/logo-light.svg",
      "navbar_dark": "logos/logo-dark.svg",
      "hero": "logos/logo-hero.svg",
      "icon": "logos/favicon.svg",
      "footer": "logos/logo-footer.svg"
    },
    "default_theme": "dark",
    "show_warning_on_pages": false,
    "exclude_warning_routes": [
      "home",
      "",
      "getting-started"
    ],
    "warning_message": {
      "title": "Development Environment",
      "content": "This is a development environment for testing purposes. Production endpoints will be configured during deployment.",
      "type": "info"
    },
    "toc": {
      "enabled": true,
      "min_headings": 2,
      "exclude_pages": [
        "home"
      ],
      "exclude_headings": {
        "texts": [
          "Development Environment",
          "Notice",
          "Warning",
          "Beta Feature"
        ],
        "selectors": [
          ".alert h4",
          ".warning-box h4",
          ".note-box h4",
          ".hero-title",
          ".hero-subtitle"
        ]
      }
    },
    "page_titles": {
      "base_title": "capidocs - Technical Documentation Portal",
      "separator": " | ",
      "routes": {
        "home": "Home",
        "getting-started": "Getting Started",
        "authentication": "Authentication",
        "endpoints": "API Endpoints",
        "webhooks": "Webhooks",
        "error-handling": "Error Handling",
        "components": "Components"
      }
    },
    "navbar": {
      "links": [
        {
          "text": "Authentication",
          "href": "#authentication"
        },
        {
          "text": "API Endpoints",
          "href": "#endpoints"
        },
        {
          "text": "Webhooks",
          "href": "#webhooks"
        }
      ]
    }
  },
  "api": {
    "name": "capidocs API",
    "version": "2.1.0",
    "description": "Documentation platform API for technical content management. Provides content operations, user management, and real-time collaboration features.",
    "base_url": "https://api.capidocs.dev/v2"
  },
  "navigation": [
    {
      "id": "home",
      "title": "Home",
      "icon": "fas fa-home",
      "type": "page"
    },
    {
      "id": "getting-started",
      "title": "Getting Started",
      "icon": "fas fa-play-circle",
      "type": "page"
    },
    {
      "id": "authentication",
      "title": "Authentication",
      "icon": "fas fa-key",
      "type": "page"
    },
    {
      "id": "components",
      "title": "Components",
      "icon": "fas fa-shapes",
      "type": "page"
    },
    {
      "id": "endpoints",
      "title": "API Endpoints",
      "icon": "fas fa-code",
      "type": "page"
    }
  ],
  "sections": [
    {
      "title": "Core Endpoints",
      "icon": "fas fa-server",
      "endpoints": [
        {
          "id": "users-endpoint",
          "method": "GET",
          "path": "/users",
          "title": "User Management"
        },
        {
          "id": "data-endpoint",
          "method": "POST",
          "path": "/data",
          "title": "Data Operations"
        }
      ]
    },
    {
      "title": "Advanced Features",
      "icon": "fas fa-rocket",
      "pages": [
        {
          "id": "webhooks",
          "title": "Webhooks",
          "icon": "fas fa-webhook"
        },
        {
          "id": "error-handling",
          "title": "Error Handling",
          "icon": "fas fa-exclamation-triangle"
        }
      ]
    }
  ],
  "pages": {
    "home": {
      "template": "hero",
      "content": {
        "hero": {
          "title": "capidocs API",
          "subtitle": "Technical Documentation Platform & API",
          "stats": [
            {
              "number": "99.8%",
              "label": "Uptime"
            },
            {
              "number": "50ms",
              "label": "Avg Response"
            },
            {
              "number": "24/7",
              "label": "Support"
            }
          ],
          "buttons": [
            {
              "text": "Start Building",
              "href": "#getting-started",
              "type": "primary",
              "icon": "fas fa-rocket"
            },
            {
              "text": "View Endpoints",
              "href": "#endpoints",
              "type": "outline",
              "icon": "fas fa-list"
            }
          ]
        },
        "features": {
          "title": "Core Features",
          "subtitle": "Everything you need for technical documentation",
          "items": [
            {
              "icon": "fas fa-file-alt",
              "title": "Content Management",
              "description": "Create, edit, and organize technical documentation with version control.",
              "link": "#users-endpoint"
            },
            {
              "icon": "fas fa-users",
              "title": "Team Collaboration",
              "description": "Multi-user editing with permissions, comments, and review workflows.",
              "link": "#data-endpoint"
            },
            {
              "icon": "fas fa-lock",
              "title": "Secure Access",
              "description": "Role-based access control with API keys and authentication tokens.",
              "link": "#authentication"
            },
            {
              "icon": "fas fa-sync-alt",
              "title": "Real-time Sync",
              "description": "Live updates and notifications for document changes and comments.",
              "link": "#webhooks"
            },
            {
              "icon": "fas fa-search",
              "title": "Advanced Search",
              "description": "Full-text search across all documentation with filtering and faceting.",
              "link": "#endpoints"
            },
            {
              "icon": "fas fa-code",
              "title": "Developer Friendly",
              "description": "API-first design with comprehensive REST endpoints and SDKs.",
              "link": "#authentication"
            }
          ]
        },
        "steps": {
          "title": "Quick Integration",
          "subtitle": "Get started in three simple steps",
          "items": [
            {
              "number": 1,
              "title": "Get API Key",
              "description": "Sign up and obtain your API credentials from the developer dashboard.",
              "link": "#authentication"
            },
            {
              "number": 2,
              "title": "Make First Call",
              "description": "Test your integration with our sandbox environment and sample code.",
              "link": "#getting-started"
            },
            {
              "number": 3,
              "title": "Go Live",
              "description": "Deploy to production with confidence using our monitoring tools.",
              "link": "#endpoints"
            }
          ]
        },
        "quick_start": {
          "title": "Quick Start",
          "subtitle": "Try the API with this example request",
          "code": {
            "language": "curl",
            "title": "Get Documents",
            "file": "config/examples/home.quick-start.sh"
          },
          "response": {
            "language": "json",
            "title": "Success Response",
            "file": "config/examples/home.quick-start-response.json"
          },
          "error_response": {
            "language": "json",
            "title": "Error Response",
            "file": "config/examples/home.quick-start-error.json"
          }
        }
      }
    },
    "getting-started": {
      "template": "content",
      "content": {
        "title": "Getting Started",
        "description": "Learn how to integrate our API into your application quickly and efficiently.",
        "sections": [
          {
            "title": "Overview",
            "content": "Our REST API provides a comprehensive set of endpoints for building modern web applications. The API follows RESTful principles and uses standard HTTP methods and status codes for consistent interaction patterns."
          },
          {
            "title": "Base URL",
            "content": "All API requests should be made to our base URL with the appropriate endpoint path:",
            "code": {
              "language": "text",
              "content": "https://api.capidocs.dev/v2"
            }
          },
          {
            "title": "Request Format",
            "content": "The API accepts and returns JSON data. Always include the Content-Type header in your requests:",
            "code": {
              "language": "http",
              "title": "Required Headers",
              "file": "config/examples/getting-started.headers.http"
            }
          },
          {
            "title": "Response Format",
            "content": "All responses follow a consistent structure with success indicators and appropriate HTTP status codes:",
            "code": {
              "language": "json",
              "title": "Standard Response Format",
              "file": "config/examples/getting-started.response-format.json"
            }
          }
        ]
      }
    },
    "authentication": {
      "template": "content",
      "content": {
        "title": "Authentication",
        "description": "Secure your API requests using our authentication methods. We support multiple authentication schemes for different use cases.",
        "sections": [
          {
            "title": "API Key Authentication",
            "content": "The simplest authentication method using API keys. Include your API key in the Authorization header with Bearer scheme.",
            "code": {
              "language": "http",
              "title": "API Key Authentication",
              "file": "config/examples/authentication.api-key.http"
            }
          },
          {
            "title": "OAuth 2.0",
            "content": "For applications that need to access user data on behalf of users, we support OAuth 2.0 with authorization code flow.",
            "list": [
              "Redirect users to our authorization endpoint",
              "Receive authorization code after user consent",
              "Exchange code for access token",
              "Use access token for API requests"
            ]
          },
          {
            "title": "JWT Tokens",
            "content": "JSON Web Tokens provide a stateless authentication method ideal for microservices and distributed systems.",
            "note": "JWT tokens expire after 24 hours. Implement token refresh logic in your application."
          },
          {
            "title": "Rate Limiting",
            "content": "API requests are rate limited to ensure fair usage and system stability:",
            "table": {
              "headers": [
                "Plan",
                "Requests/Hour",
                "Burst Limit"
              ],
              "rows": [
                [
                  "Free",
                  "1,000",
                  "100/min"
                ],
                [
                  "Professional",
                  "10,000",
                  "500/min"
                ],
                [
                  "Enterprise",
                  "100,000",
                  "2,000/min"
                ]
              ]
            }
          }
        ]
      }
    },
    "endpoints": {
      "template": "content",
      "content": {
        "title": "API Endpoints",
        "description": "Complete reference for all available API endpoints with request/response examples.",
        "sections": [
          {
            "title": "User Management",
            "content": "Endpoints for managing user accounts, profiles, and authentication.",
            "table": {
              "headers": [
                "Method",
                "Endpoint",
                "Description"
              ],
              "rows": [
                [
                  "GET",
                  "/users",
                  "List all users"
                ],
                [
                  "GET",
                  "/users/{id}",
                  "Get user by ID"
                ],
                [
                  "POST",
                  "/users",
                  "Create new user"
                ],
                [
                  "PUT",
                  "/users/{id}",
                  "Update user"
                ],
                [
                  "DELETE",
                  "/users/{id}",
                  "Delete user"
                ]
              ]
            }
          },
          {
            "title": "Data Operations",
            "content": "CRUD operations for your application data with advanced querying capabilities.",
            "table": {
              "headers": [
                "Method",
                "Endpoint",
                "Description"
              ],
              "rows": [
                [
                  "GET",
                  "/data",
                  "List data items"
                ],
                [
                  "POST",
                  "/data",
                  "Create data item"
                ],
                [
                  "PUT",
                  "/data/{id}",
                  "Update data item"
                ],
                [
                  "DELETE",
                  "/data/{id}",
                  "Delete data item"
                ]
              ]
            }
          }
        ]
      }
    },
    "webhooks": {
      "template": "content",
      "content": {
        "title": "Webhooks",
        "description": "Configure real-time notifications for events in your application using webhooks.",
        "sections": [
          {
            "title": "Webhook Events",
            "content": "Available webhook events that you can subscribe to:",
            "list": [
              "user.created - New user registration",
              "user.updated - User profile changes",
              "data.created - New data item created",
              "data.updated - Data item modified",
              "system.error - System error occurred"
            ]
          },
          {
            "title": "Webhook Configuration",
            "content": "Configure webhook endpoints in your developer dashboard or via API:",
            "code": {
              "language": "json",
              "title": "Webhook Configuration",
              "file": "config/examples/webhooks.config.json"
            }
          },
          {
            "title": "Webhook Payload",
            "content": "Example webhook payload structure:",
            "code": {
              "language": "json",
              "title": "Webhook Payload",
              "file": "config/examples/webhooks.payload.json"
            }
          }
        ]
      }
    },
    "error-handling": {
      "template": "content",
      "content": {
        "title": "Error Handling",
        "description": "Understanding API error responses and how to handle them in your application.",
        "sections": [
          {
            "title": "HTTP Status Codes",
            "content": "Standard HTTP status codes used by the API:",
            "table": {
              "headers": [
                "Status Code",
                "Meaning",
                "Description"
              ],
              "rows": [
                [
                  "200",
                  "OK",
                  "Request successful"
                ],
                [
                  "201",
                  "Created",
                  "Resource created successfully"
                ],
                [
                  "400",
                  "Bad Request",
                  "Invalid request parameters"
                ],
                [
                  "401",
                  "Unauthorized",
                  "Authentication required"
                ],
                [
                  "403",
                  "Forbidden",
                  "Access denied"
                ],
                [
                  "404",
                  "Not Found",
                  "Resource not found"
                ],
                [
                  "429",
                  "Too Many Requests",
                  "Rate limit exceeded"
                ],
                [
                  "500",
                  "Internal Server Error",
                  "Server error occurred"
                ]
              ]
            }
          },
          {
            "title": "Error Response Format",
            "content": "All error responses follow a consistent structure:",
            "code": {
              "language": "json",
              "title": "Error Response",
              "file": "config/examples/error-handling.error-response.json"
            }
          },
          {
            "title": "Common Error Codes",
            "content": "Application-specific error codes you may encounter:",
            "table": {
              "headers": [
                "Error Code",
                "Description",
                "Resolution"
              ],
              "rows": [
                [
                  "INVALID_API_KEY",
                  "API key is invalid or expired",
                  "Check your API key"
                ],
                [
                  "VALIDATION_ERROR",
                  "Request data validation failed",
                  "Fix request parameters"
                ],
                [
                  "RESOURCE_NOT_FOUND",
                  "Requested resource doesn't exist",
                  "Verify resource ID"
                ],
                [
                  "RATE_LIMIT_EXCEEDED",
                  "Too many requests",
                  "Wait before retrying"
                ]
              ]
            }
          }
        ]
      }
    },
    "components": {
      "template": "content",
      "content": {
        "title": "Components",
        "description": "Rich building blocks for beautiful, readable documentation.",
        "sections": [
          {
            "title": "Callouts",
            "content": "Highlight important information with callouts in several styles: note, info, tip, warning and danger.",
            "callout": {
              "type": "tip",
              "title": "Pro tip",
              "content": "Use callouts to draw attention to key steps or warnings without breaking the reading flow."
            }
          },
          {
            "title": "Warning callout",
            "content": "Different types carry different colors and icons.",
            "callout": {
              "type": "warning",
              "title": "Heads up",
              "content": "This endpoint is rate limited. Cache responses where possible."
            }
          },
          {
            "title": "Cards",
            "content": "Group related links or highlights into a responsive card grid.",
            "cards": [
              {
                "icon": "fas fa-bolt",
                "title": "Quickstart",
                "description": "Get up and running in under five minutes.",
                "link": "#getting-started"
              },
              {
                "icon": "fas fa-key",
                "title": "Authentication",
                "description": "Secure your requests with API keys.",
                "link": "#authentication"
              },
              {
                "icon": "fas fa-code",
                "title": "API Reference",
                "description": "Browse every endpoint with examples.",
                "link": "#endpoints"
              }
            ]
          },
          {
            "title": "Tabs",
            "content": "Show alternative content side by side.",
            "tabs": [
              {
                "label": "Overview",
                "content": "Tabs let readers switch between related content without leaving the page."
              },
              {
                "label": "Install",
                "code": {
                  "language": "bash",
                  "content": "npm install capidocs"
                }
              }
            ]
          },
          {
            "title": "Code groups",
            "content": "Present the same request in multiple languages with switchable tabs.",
            "code_group": [
              {
                "label": "cURL",
                "language": "bash",
                "content": "curl https://api.capidocs.dev/v2/users \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"
              },
              {
                "label": "JavaScript",
                "language": "javascript",
                "content": "await fetch('https://api.capidocs.dev/v2/users', {\n  headers: { Authorization: 'Bearer YOUR_API_KEY' }\n});"
              },
              {
                "label": "Python",
                "language": "python",
                "content": "import requests\nrequests.get('https://api.capidocs.dev/v2/users',\n  headers={'Authorization': 'Bearer YOUR_API_KEY'})"
              }
            ]
          },
          {
            "title": "Accordions",
            "content": "Tuck away supplementary details until the reader wants them.",
            "accordion": [
              {
                "title": "How is rate limiting applied?",
                "content": "Requests are limited per API key. Limits vary by plan and reset every hour."
              },
              {
                "title": "Do you support pagination?",
                "content": "Yes. Use the page and limit query parameters on any list endpoint."
              }
            ]
          },
          {
            "title": "Parameter fields",
            "content": "Document parameters with types, defaults and requirements.",
            "fields": [
              {
                "name": "page",
                "type": "integer",
                "required": false,
                "default": "1",
                "description": "Page number for pagination."
              },
              {
                "name": "limit",
                "type": "integer",
                "required": false,
                "default": "20",
                "description": "Number of items per page (max 100)."
              },
              {
                "name": "query",
                "type": "string",
                "required": true,
                "description": "Full-text search term to filter results."
              }
            ]
          }
        ]
      }
    }
  },
  "endpoints": {
    "users-endpoint": {
      "method": "GET",
      "path": "/users",
      "title": "List Users",
      "description": "Retrieve a list of users with optional filtering and pagination. Supports various query parameters for customizing the results.",
      "authentication": true,
      "request": {
        "headers": [
          {
            "name": "Authorization",
            "value": "Bearer YOUR_API_KEY",
            "required": true,
            "description": "API key for authentication"
          }
        ],
        "query_params": [
          {
            "name": "page",
            "type": "integer",
            "description": "Page number for pagination",
            "example": "1"
          },
          {
            "name": "limit",
            "type": "integer",
            "description": "Number of items per page",
            "example": "20"
          },
          {
            "name": "search",
            "type": "string",
            "description": "Search term for filtering users",
            "example": "john"
          }
        ]
      },
      "responses": {
        "200": {
          "description": "Success",
          "examples": {
            "success": {
              "summary": "Users retrieved successfully",
              "value": {
                "success": true,
                "data": [
                  {
                    "id": "usr_12345",
                    "name": "John Doe",
                    "email": "john@example.com",
                    "created_at": "2024-01-15T10:30:00Z"
                  }
                ],
                "pagination": {
                  "page": 1,
                  "total": 150,
                  "has_more": true
                }
              }
            }
          }
        }
      },
      "code_examples": [
        {
          "id": "users-curl",
          "tech": "curl",
          "name": "cURL",
          "language": "bash",
          "title": "Get Users with cURL",
          "description": "Retrieve users using cURL command",
          "file": "config/examples/users-endpoint.curl.sh"
        },
        {
          "id": "users-javascript",
          "tech": "javascript",
          "name": "JavaScript",
          "language": "javascript",
          "title": "Fetch Users with JavaScript",
          "description": "Get users using JavaScript fetch API",
          "file": "config/examples/users-endpoint.fetch.js"
        },
        {
          "id": "users-python",
          "tech": "python",
          "name": "Python",
          "language": "python",
          "title": "Get Users with Python",
          "description": "Retrieve users using Python requests",
          "file": "config/examples/users-endpoint.requests.py"
        }
      ]
    },
    "data-endpoint": {
      "method": "POST",
      "path": "/data",
      "title": "Create Data Item",
      "description": "Create a new data item in the system. Supports various data types and custom metadata.",
      "authentication": true,
      "request": {
        "headers": [
          {
            "name": "Authorization",
            "value": "Bearer YOUR_API_KEY",
            "required": true,
            "description": "API key for authentication"
          }
        ],
        "body": {
          "type": "json",
          "schema": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "Title of the data item",
                "example": "Sample Data Item"
              },
              "content": {
                "type": "string",
                "description": "Content or description",
                "example": "This is sample content for the data item"
              },
              "category": {
                "type": "string",
                "description": "Category classification",
                "example": "general"
              },
              "metadata": {
                "type": "object",
                "description": "Additional metadata",
                "example": {
                  "priority": "high",
                  "tags": [
                    "api",
                    "example"
                  ]
                }
              }
            },
            "required": [
              "title",
              "content"
            ]
          }
        }
      },
      "responses": {
        "201": {
          "description": "Created",
          "examples": {
            "success": {
              "summary": "Data item created successfully",
              "value": {
                "success": true,
                "data": {
                  "id": "data_67890",
                  "title": "Sample Data Item",
                  "content": "This is sample content for the data item",
                  "category": "general",
                  "created_at": "2024-01-15T10:30:00Z"
                },
                "message": "Data item created successfully"
              }
            },
            "error": {
              "summary": "Validation error",
              "value": {
                "success": false,
                "error": {
                  "code": "VALIDATION_ERROR",
                  "message": "Title is required"
                }
              }
            }
          }
        }
      },
      "code_examples": [
        {
          "id": "data-curl",
          "tech": "curl",
          "name": "cURL",
          "language": "bash",
          "title": "Create Data with cURL",
          "description": "Create a new data item using cURL",
          "file": "config/examples/data-endpoint.curl.sh"
        },
        {
          "id": "data-javascript",
          "tech": "javascript",
          "name": "JavaScript",
          "language": "javascript",
          "title": "Create Data with JavaScript",
          "description": "Create data item using JavaScript",
          "file": "config/examples/data-endpoint.fetch.js"
        }
      ]
    }
  },
  "theme": {
    "colors": {
      "primary": "#000000",
      "secondary": "#333333",
      "success": "#4a4a4a",
      "warning": "#666666",
      "error": "#000000",
      "info": "#000000"
    }
  },
  "features": {
    "syntax_highlighting": true,
    "code_copy": true,
    "dark_mode": true,
    "search": false,
    "mobile_responsive": true
  }
}
