- Install dependencies:
- pnpm install
- Start local dependencies (MongoDB and Redis).
- Run the API:
- pnpm run watch
The API is available on http://localhost:3000
POST /api/documents/batch
Request: { "userIds": ["user_1", "user_2", "user_3"] }
Response: { "batchId": "...", "status": "pending", "totalDocuments": 3, "createdAt": "..." }
GET /api/documents/batch/{batchId}
You receive global progress and document-level statuses.
GET /api/documents/{documentId}
Returns application/pdf when ready.
- GET /health
- returns dependency checks for database, redis, queue
- GET /metrics
- returns Prometheus format metrics
Specification file:
- docs/openapi.yaml
Swagger UI:
Use it with:
- Swagger Editor (import file)
- Swagger UI (serve file statically)
- Postman (import OpenAPI)
Important variables:
- PORT
- MONGO_URI
- REDIS_URL
- WORKER_CONCURRENCY
- JOB_ATTEMPTS
- JOB_BACKOFF_DELAY_MS
- PDF_TIMEOUT_MS
- DOCUSIGN_SIMULATION_ENABLED
- DOCUSIGN_FAILURE_RATE
- DOCUSIGN_FAILURE_THRESHOLD
- DOCUSIGN_RESET_TIMEOUT_MS