Files
igny8/docs/90-ARCHIVED/master-docs-original/20-api/REST-API-REFERENCE.md
IGNY8 VPS (Salman) 6a4f95c35a docs re-org
2025-12-09 13:26:35 +00:00

4.9 KiB

REST API Reference

Purpose

Summarize the major API groups, their base paths, and key actions as implemented in routing and viewsets.

Code Locations (exact paths)

  • Root routing: backend/igny8_core/urls.py
  • Auth endpoints: backend/igny8_core/auth/urls.py (APIView + routers)
  • Account management: backend/igny8_core/api/urls.py
  • Planner: backend/igny8_core/modules/planner/urls.py
  • Writer: backend/igny8_core/modules/writer/urls.py
  • System: backend/igny8_core/modules/system/urls.py
  • Billing: backend/igny8_core/business/billing/urls.py, backend/igny8_core/modules/billing/urls.py
  • Automation: backend/igny8_core/business/automation/urls.py
  • Integration: backend/igny8_core/modules/integration/urls.py
  • Linker/Optimizer/Publisher: respective modules/*/urls.py

High-Level Responsibilities

  • Provide RESTful CRUD endpoints for core resources (auth, planner, writer, billing, automation, integration, etc.) plus custom actions for domain workflows (automation run, billing payments, integration sync, content generation).

Detailed Behavior (by group)

  • Authentication (/api/v1/auth/):
    • Routers: groups, users, accounts, subscriptions, site-access, plans, sites, sectors, industries, seed-keywords.
    • APIViews: register, login, change password, refresh token; responses issue JWTs and session login.
    • CSV admin helpers exposed separately under /admin/igny8_core_auth/... for industries/seed keywords.
  • Account management (/api/v1/account/):
    • Settings (settings/ get/patch), team (team/ list/create, team/<id>/ delete), usage analytics (usage/analytics/).
  • Planner (/api/v1/planner/):
    • keywords/, clusters/, ideas/ (CRUD, filtering/search/ordering, bulk delete/update, bulk add from seed).
  • Writer (/api/v1/writer/):
    • tasks/, images/, content/, taxonomies/ (CRUD, filtering/search/ordering).
    • Custom actions: tasks/auto_generate_content (AI generation), tasks/bulk_*, images/file, grouped image utilities; content/taxonomy helpers in viewset.
  • System (/api/v1/system/): system settings, prompts, author profiles, etc. (see module docs).
  • Billing (/api/v1/billing/):
    • Invoices (invoices/, detail, download_pdf), payments (payments/, available_methods, manual payment), credit packages (credit-packages/, purchase), transactions (transactions/), payment methods (payment-methods/, set_default), credits (credits/balance, credits/usage, credits/transactions).
    • Admin billing under /api/v1/admin/ (see module billing admin URLs).
  • Automation (/api/v1/automation/):
    • Config (config, update_config), run (run_now), current run, history, logs, estimate, pipeline_overview, current_processing, pause/resume/cancel.
  • Integration (/api/v1/integration/):
    • integrations/ CRUD, test_connection, collection-level test-connection, sync, sync_status, update-structure, get_content_types, debug_status, sync_wordpress_content.
    • Webhooks: /webhooks/wordpress/status/, /webhooks/wordpress/metadata/.
  • Linker/Optimizer/Publisher: endpoints under /api/v1/linker/, /api/v1/optimizer/, /api/v1/publisher/ (viewsets for respective domain resources; see module docs).

Data Structures / Models Involved (no code)

  • Auth/account models, planner models (Keywords/Clusters/ContentIdeas), writer models (Tasks/Content/Images/Taxonomy), billing models (invoices/payments/credits), automation models (runs/configs), integration models (SiteIntegration/SyncEvent), and other module models as routed above.

Execution Flow

  • Requests hit module routers; viewsets/actions enforce permissions, throttles, and tenancy; serializers map models; responses use unified format.

Cross-Module Interactions

  • Auth JWTs used by all modules.
  • Billing credits checked in writer/automation flows; billing endpoints expose balances/usage.
  • Integration and publishing rely on writer content; automation depends on planner/writer data.

State Transitions

  • Managed by respective viewsets (e.g., task status, automation status, invoice/payment status).

Error Handling

  • Unified error responses; 4xx/5xx codes per viewset logic; throttling per scope.

Tenancy Rules

  • Base viewsets enforce account/site/sector filtering; API key auth supports WordPress paths; admin/developer/system roles may bypass filters as coded in base viewsets/auth middleware.

Billing Rules

  • Credits enforced in writer/automation service calls; billing endpoints expose ledger/usage/balance; insufficient credits return 402 where applicable.

Background Tasks / Schedulers

  • Automation actions enqueue Celery runs; writer content generation may enqueue AI tasks; other modules mostly synchronous.

Key Design Considerations

  • Consistent /api/v1/ namespace with per-module routers.
  • OpenAPI schema available at /api/schema, Swagger at /api/docs, Redoc at /api/redoc.
  • Use module docs for endpoint-level details; this file outlines the map of API groups and actions.