RESTful API Documentation

DocuPulse provides a comprehensive RESTful API with 50+ endpoints for file management, user collaboration, and system administration. The API supports both web-based interactions and external integrations with proper authentication and authorization controls.

Authentication
Web Authentication
  • • Flask-Login session-based
  • • CSRF token protection
  • • Secure cookie handling
  • • Automatic session timeout
  • • Remember me functionality
  • • Password reset tokens
API Authentication
  • • JWT token-based auth
  • • Management API keys
  • • Token expiration handling
  • • IP address tracking
  • • Rate limiting support
  • • Audit logging
Core API Endpoints
Authentication Endpoints
Method Endpoint Description Auth Required
POST /auth/login User login No
POST /auth/logout User logout Yes
POST /auth/register User registration No
POST /auth/forgot-password Password reset request No
POST /auth/reset-password Password reset No
Room Management Endpoints
Method Endpoint Description Auth Required
GET /rooms List user's rooms Yes
POST /rooms Create new room Yes
GET /rooms/{id} Get room details Yes
PUT /rooms/{id} Update room Yes
DELETE /rooms/{id} Delete room Yes
File Management Endpoints
Method Endpoint Description Auth Required
GET /api/rooms/{room_id}/files List room files Yes
POST /api/rooms/{room_id}/upload Upload file Yes
GET /api/rooms/{room_id}/files/{file_id} Download file Yes
PUT /api/rooms/{room_id}/files/{file_id} Update file Yes
DELETE /api/rooms/{room_id}/files/{file_id} Delete file Yes
POST /api/rooms/{room_id}/files/{file_id}/star Star/unstar file Yes
Conversation Endpoints
Method Endpoint Description Auth Required
GET /conversations List conversations Yes
POST /conversations Create conversation Yes
GET /conversations/{id}/messages Get messages Yes
POST /conversations/{id}/messages Send message Yes
POST /conversations/{id}/members Add member Yes
Administrative API Endpoints
Management API Endpoints
Method Endpoint Description Auth Required
GET /api/admin/instances List instances Admin
POST /api/admin/instances Create instance Admin
GET /api/admin/events Get system events Admin
GET /api/admin/users List users Admin
PUT /api/admin/settings Update settings Admin
Launch API Endpoints
Method Endpoint Description Auth Required
POST /api/admin/test-portainer Test Portainer connection No
POST /api/admin/test-nginx Test NGINX connection No
POST /api/admin/deploy-stack Deploy Docker stack Admin
POST /api/admin/create-proxy Create proxy host Admin
POST /api/admin/create-ssl Create SSL certificate Admin
Response Formats
Success Response
{
  "success": true,
  "data": {
    "id": 1,
    "name": "Example",
    "created_at": "2024-01-01T00:00:00Z"
  },
  "message": "Operation successful"
}
Error Response
{
  "success": false,
  "error": "Validation failed",
  "details": {
    "field": "name",
    "message": "Name is required"
  },
  "status_code": 400
}
API Statistics
50+
Endpoints
12
Modules
4
Auth Types
JSON
Data Format
Authentication Methods
Session-based (Web)
JWT Tokens (API)
API Keys (Management)
Role-based Access
HTTP Status Codes
200 OK - Request successful
201 Created - Resource created
400 Bad Request - Invalid input
401 Unauthorized - Authentication required
403 Forbidden - Access denied
404 Not Found - Resource not found
500 Server Error - Internal error
Rate Limiting
Standard - 100 requests/minute
Authenticated - 500 requests/minute
Admin - 1000 requests/minute
Exceeded - 429 Too Many Requests