Owner: Engineering Team | Last Updated: 2026-01-30 | Status: Active
The WWAI Backend is the central Django REST API that serves as the single source of truth for all WWAI platform frontends. Built with Python and Django REST Framework, it handles authentication, user management, text humanization, AI detection, document management, payment processing, and orchestration of both proprietary AI models and external detector integrations. Every client application -- web app, mobile app, Chrome extension, Shopify plugin, and WordPress plugin -- consumes this same API.
Repository: To be confirmed when codebase is provided
Primary Branch: main
Framework: Django + Django REST Framework
Language: Python
API Style: REST with JSON payloads
Draft: This page will be fully documented when the backend codebase is provided. The information below is derived from frontend API consumption analysis and system architecture documentation.
| Technology | Purpose |
|---|---|
| Django | Web framework |
| Django REST Framework | REST API toolkit |
| Python | Server-side language |
| PostgreSQL | Primary database |
| Redis | Caching and rate limiting |
| JWT | Authentication tokens |
| Technology | Purpose |
|---|---|
| Celery | Async task processing (humanization jobs, detector calls) |
| Gunicorn / uWSGI | WSGI application server |
| Django ORM | Database access layer |
| django-cors-headers | CORS configuration for multi-frontend access |
| djangorestframework-simplejwt | JWT token implementation |
Draft: Full dependency list with versions will be documented when
requirements.txtorpyproject.tomlis analyzed.
| Group | Base Path | Purpose | Used By |
|---|---|---|---|
| User / Auth | /api/user/ |
Authentication, profile, registration | All frontends |
| Features | /api/feature/ |
Humanizer, detector, history | All frontends |
| Payments | /api/payments/ |
Checkout, pricing, subscriptions | Web app, mobile app |
| Method | Endpoint | Purpose |
|---|---|---|
POST |
/api/user/login/ |
Email/password authentication |
POST |
/api/user/register/ |
New user registration |
POST |
/api/user/token/refresh/ |
JWT token refresh |
GET |
/api/user/profile/ |
User profile data |
POST |
/api/feature/humanizer/ |
Humanize text |
POST |
/api/feature/detector/ |
Detect AI content |
GET |
/api/feature/history/ |
Document history (paginated) |
GET/POST |
/api/feature/documents/ |
Document CRUD |
GET |
/api/payments/pricing/ |
Plan and pricing data |
POST |
/api/payments/checkout/ |
Initiate Stripe checkout |
POST |
/api/user/google/ |
Google OAuth callback |
POST |
/api/user/facebook/ |
Facebook OAuth callback |
Draft: Complete endpoint inventory with request/response schemas will be documented when the backend codebase and URL configuration are analyzed.
From analysis of the frontend API layer, the following conventions have been identified:
| Convention | Detail |
|---|---|
| Content Type | application/json |
| URL Trailing Slashes | All endpoints use trailing slashes (Django default) |
| Authentication | Authorization: Bearer <jwt_token> header |
| Token Format | JWT with ~1 hour expiry |
| Token Refresh | Proactive refresh at ~55 minutes before expiry |
| Error Format | JSON with error details |
| Parameter | Description |
|---|---|
limit |
Number of results per page |
offset |
Starting position in result set |
| Response | Includes count, next, previous, results |
| Method | Usage |
|---|---|
GET |
Read operations |
POST |
Create operations, actions (humanize, detect) |
PUT / PATCH |
Update operations |
DELETE |
Delete operations |
Client Django Backend
| |
|-- POST /api/user/login/ -------> |
| {email, password} |-- Validate credentials
| |-- Generate JWT (access + refresh)
| <-- {access, refresh} ---------- |
| |
|-- GET /api/feature/history/ ---> |
| Authorization: Bearer <access> |-- Validate JWT
| |-- Return data
| <-- {count, results: [...]} ---- |
| |
|-- POST /api/user/token/refresh/ |
| {refresh} |-- Validate refresh token
| |-- Issue new access token
| <-- {access} ------------------- |
Text Input + Parameters
|
v
Django Backend
|-- Validate user credits
|-- Parse parameters (readability, purpose, anti-detection)
|-- Invoke proprietary humanizer model
|-- Deduct credits
|-- Store result (document/version)
|-- Return humanized text
Text Input
|
v
Django Backend
|-- Validate user credits
|-- Invoke proprietary detector model
|-- Fan out to external detectors (up to 9)
|-- Aggregate scores
|-- Store result
|-- Return detection scores
The backend manages a credit-based usage model:
Draft: Credit calculation formulas, plan limits, and overage handling will be documented when the backend codebase is analyzed.
| Service | Purpose | Integration Type |
|---|---|---|
| Stripe | Payment processing and subscriptions | REST API + Webhooks |
| Churnkey | Churn prevention and retention | API + Webhooks |
| Google OAuth | Social login | OAuth 2.0 |
| Facebook OAuth | Social login | OAuth 2.0 |
| GPTzero | External AI detection | REST API |
| ZeroGPT | External AI detection | REST API |
| Sapling | External AI detection | REST API |
| Copyleaks | External AI detection | REST API |
| Writer | External AI detection | REST API |
| Turnitin | External AI detection | REST API |
| Originality | External AI detection | REST API |
| Crossplag | External AI detection | REST API |
| Content at Scale | External AI detection | REST API |
| Aspect | Detail |
|---|---|
| Containerization | Docker |
| Orchestration | AWS ECS (Fargate) |
| Registry | AWS ECR |
| Environments | Development, Preproduction, Production |
| CI/CD | GitHub Actions |
| Region | us-east-2 |
Draft: Full deployment configuration, scaling policies, and environment-specific settings will be documented when the infrastructure and backend codebases are analyzed.
| Date | Author | Change |
|---|---|---|
| 2026-01-30 | Admin | Initial creation |
Next: Backend - Local Setup | Up: WalterWrites