InfraForge Docs

InfraNotes Core · v2

Welcome

Select a document from the sidebar to read it.

InfraNotes - API Endpoints Documentation

Authentication and User Management

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login
  • POST /api/auth/login/mfa - Login with MFA
  • GET /api/auth/profile - Get user profile
  • PUT /api/auth/profile - Update user profile
  • GET /api/auth/users - Get all users (admin only)
  • GET /api/auth/verify-email - Verify email with token
  • POST /api/auth/resend-verification - Resend verification email
  • POST /api/auth/forgot-password - Request password reset
  • GET /api/auth/verify-reset-token - Verify password reset token
  • POST /api/auth/reset-password - Reset password with token
  • POST /api/auth/refresh - Refresh authentication token

MFA (Multi-Factor Authentication)

  • POST /api/auth/mfa/setup - Generate MFA setup
  • POST /api/auth/mfa/enable - Verify and enable MFA
  • POST /api/auth/mfa/disable - Disable MFA

Session Management

  • GET /api/sessions - Get active sessions
  • POST /api/sessions/revoke - Revoke specific session
  • POST /api/sessions/revoke-all - Revoke all sessions

Security

  • GET /api/security/audit-logs - Get security audit logs (admin only)
  • GET /api/security/status - Get security status (admin only)
  • GET /api/security/login-history - Get login history
  • GET /api/security/lockout-status - Get user lockout status
  • POST /api/security/unlock-user - Unlock user account (admin only)
  • POST /api/security/reset-rate-limit - Reset rate limit (admin only)

Security Dashboard

  • GET /api/security/dashboard/overview - Get security overview
  • GET /api/security/dashboard/timeline - Get security timeline
  • GET /api/security/dashboard/anomalies - Get security anomalies

Platform Backoffice

  • GET /api/admin/platform/summary - Read-only admin summary of core-service modules, route candidates, backing table availability, and estimated aggregate record counts. Counts use short-lived cached PostgreSQL table statistics. Tenant registration approvals, package subscriptions, seats, and entitlements remain IAM-owned.

Geolocation Security

  • GET /api/security/location-history - Get login location history
  • GET /api/security/suspicious-logins - Get suspicious logins (admin only)
  • POST /api/security/test-geolocation - Test geolocation (admin only)

Expenses

  • GET /api/expenses - Get all expenses
  • POST /api/expenses - Create a new expense
  • GET /api/expenses/{id} - Get expense by ID
  • PUT /api/expenses/{id} - Update expense
  • DELETE /api/expenses/{id} - Delete expense
  • GET /api/expenses/summary - Get expense summary

Projects

  • GET /api/projects - Get all projects
  • POST /api/projects - Create a new project
  • GET /api/projects/{id} - Get project by ID
  • PUT /api/projects/{id} - Update project
  • DELETE /api/projects/{id} - Delete project
  • GET /api/projects/{id}/expenses - Get project expenses
  • GET /api/projects/{id}/summary - Get project summary

Categories

  • GET /api/categories - List all categories
  • POST /api/categories - Create a new category
  • GET /api/categories/{id} - Get category by ID
  • PUT /api/categories/{id} - Update category
  • DELETE /api/categories/{id} - Delete category

Tags

  • GET /api/tags - List all tags
  • POST /api/tags - Create a new tag
  • GET /api/tags/{id} - Get tag by ID
  • PUT /api/tags/{id} - Update tag
  • DELETE /api/tags/{id} - Delete tag
  • GET /api/expenses/{id}/tags - Get tags for an expense
  • POST /api/expenses/{id}/tags - Add tag to expense
  • DELETE /api/expenses/{expenseId}/tags/{tagId} - Remove tag from expense

Receipts

  • POST /api/expenses/{id}/receipt - Upload receipt
  • GET /api/expenses/{id}/receipt - Get receipt
  • DELETE /api/expenses/{id}/receipt - Delete receipt

Export

  • GET /api/export/expenses - Export expenses
  • GET /api/export/projects - Export projects
  • GET /api/export/invoices - Export invoices
  • GET /api/export/invoices/{id}/items - Export invoice items

Summary Reports

  • GET /api/summary/daily - Get daily summary
  • GET /api/summary/weekly - Get weekly summary
  • GET /api/summary/monthly - Get monthly summary
  • GET /api/summary/yearly - Get yearly summary
  • GET /api/summary/custom - Get custom period summary

Currencies

  • GET /api/currencies - List all currencies
  • POST /api/currencies - Create a new currency
  • GET /api/currencies/{id} - Get currency by ID
  • GET /api/currencies/code/{code} - Get currency by code
  • PUT /api/currencies/{id} - Update currency
  • DELETE /api/currencies/{id} - Delete currency
  • GET /api/currencies/base - Get base currency
  • PUT /api/currencies/{id}/base - Set base currency
  • POST /api/currencies/exchange-rates - Update exchange rates

Teams

  • GET /api/teams - Get user teams
  • POST /api/teams - Create a new team
  • GET /api/teams/{id} - Get team by ID
  • PUT /api/teams/{id} - Update team
  • DELETE /api/teams/{id} - Delete team

Team Members

  • GET /api/teams/{id}/members - Get team members
  • POST /api/teams/{id}/members - Add member to team
  • DELETE /api/teams/{id}/members/{userId} - Remove member from team
  • PUT /api/teams/{id}/members/{userId}/role - Update member role

Team Expenses

  • GET /api/teams/{id}/expenses - Get team expenses
  • GET /api/teams/{id}/expenses/summary - Get team expense summary
  • POST /api/expenses/{expenseId}/share - Share expense with team
  • POST /api/expenses/{expenseId}/unshare - Unshare expense from team

Roles and Permissions

  • GET /api/roles/{role}/permissions - Get role permissions
  • GET /api/roles - Get all roles and permissions
  • GET /api/teams/{id}/permissions - Get team permissions

Activity Logs

  • GET /api/activity - Get user activity
  • GET /api/activity/recent - Get recent user activity
  • GET /api/teams/{id}/activity - Get team activity
  • GET /api/teams/{id}/activity/recent - Get recent team activity
  • GET /api/activity/{entity_type}/{entity_id} - Get entity activity

Budget Management

  • POST /api/budgets - Create a new budget
  • GET /api/budgets/{id} - Get budget by ID
  • PUT /api/budgets/{id} - Update budget
  • DELETE /api/budgets/{id} - Delete budget
  • GET /api/budgets - List budgets with filters
  • GET /api/budgets/{id}/usage - Get budget usage report
  • GET /api/budgets/{id}/vs-actual - Get budget vs actual report
  • GET /api/budgets/{id}/alerts - Get budget alerts
  • POST /api/budgets/{id}/allocations - Add budget allocation
  • PUT /api/budgets/{id}/allocations/{allocationId} - Update budget allocation
  • DELETE /api/budgets/{id}/allocations/{allocationId} - Delete budget allocation

Invoice Management

  • POST /api/invoices - Create a new invoice
  • GET /api/invoices/{id} - Get invoice by ID
  • PUT /api/invoices/{id} - Update invoice
  • DELETE /api/invoices/{id} - Delete invoice
  • GET /api/invoices - List invoices with filters
  • PUT /api/invoices/{id}/status - Update invoice status
  • GET /api/invoices/overdue - Get overdue invoices

Invoice Comments

  • GET /api/invoices/{id}/comments - List comments for invoice
  • POST /api/invoices/{id}/comments - Create comment
  • GET /api/invoices/{id}/comments/threads - Get comment threads
  • GET /api/invoices/{id}/comments/stats - Get comment statistics
  • GET /api/comments/{id} - Get comment by ID
  • PUT /api/comments/{id} - Update comment
  • DELETE /api/comments/{id} - Delete comment
  • GET /api/comments/search - Search comments

Comment Attachments

  • POST /api/comments/{id}/attachments - Upload attachment
  • GET /api/comments/{id}/attachments - List attachments
  • GET /api/attachments/{id} - Get attachment
  • DELETE /api/attachments/{id} - Delete attachment

Comment Reactions

  • POST /api/comments/{id}/reactions - Add reaction
  • DELETE /api/comments/{id}/reactions - Remove reaction
  • GET /api/comments/{id}/reactions - List reactions

Comment Notifications & Mentions

  • POST /api/comment-notifications/process - Process pending notifications
  • GET /api/users/{id}/comment-notifications - List user notifications
  • POST /api/comment-notifications/{id}/read - Mark notification as read
  • GET /api/users/{id}/mentions - Get user mentions
  • POST /api/mentions/{id}/resolve - Resolve mention

Invoice Items

  • POST /api/invoices/{id}/items - Add invoice item
  • PUT /api/invoices/{id}/items/{itemId} - Update invoice item
  • DELETE /api/invoices/{id}/items/{itemId} - Delete invoice item

Invoice Payments

  • POST /api/invoices/{id}/payments - Add payment to invoice
  • GET /api/invoices/{id}/payments - Get invoice payments
  • DELETE /api/invoices/{id}/payments/{paymentId} - Delete invoice payment

Invoice Operations

  • GET /api/invoices/{id}/pdf - Generate PDF for invoice
  • POST /api/invoices/{id}/send - Send invoice via email
  • POST /api/invoices/generate-from-expenses - Generate invoice from expenses

Client/Vendor Management

  • POST /api/clients - Create a new client
  • GET /api/clients/{id} - Get client by ID
  • PUT /api/clients/{id} - Update client
  • DELETE /api/clients/{id} - Delete client
  • GET /api/clients - List clients with filters
  • GET /api/clients/{id}/invoices - Get client invoices

Payment Terms

  • POST /api/payment-terms - Create payment terms
  • GET /api/payment-terms/{id} - Get payment terms by ID
  • PUT /api/payment-terms/{id} - Update payment terms
  • DELETE /api/payment-terms/{id} - Delete payment terms
  • GET /api/payment-terms - List payment terms

Payment Gateway Integration

  • POST /api/payment-gateways - Create payment gateway configuration
  • GET /api/payment-gateways/{id} - Get payment gateway configuration
  • PUT /api/payment-gateways/{id} - Update payment gateway configuration
  • DELETE /api/payment-gateways/{id} - Delete payment gateway configuration
  • GET /api/payment-gateways - List payment gateway configurations
  • POST /api/payment-intents - Create payment intent
  • GET /api/payment-intents/{id} - Get payment intent
  • POST /api/payment-intents/{id}/cancel - Cancel payment intent
  • POST /api/webhook/stripe - Webhook handler for Stripe events

Bank Reconciliation

  • POST /api/reconciliation/accounts - Create bank account
  • GET /api/reconciliation/accounts/{id} - Get bank account
  • PUT /api/reconciliation/accounts/{id} - Update bank account
  • DELETE /api/reconciliation/accounts/{id} - Delete bank account
  • GET /api/reconciliation/accounts - List bank accounts
  • POST /api/reconciliation/import - Import bank statement
  • GET /api/reconciliation/transactions - List transactions
  • POST /api/reconciliation/match - Match transaction with payments
  • POST /api/reconciliation/unmatch - Unmatch transaction
  • POST /api/reconciliation/exclude - Exclude transaction from matching
  • POST /api/reconciliation/batch-match - Batch match transactions

Approval Workflows

  • POST /api/approval/workflows - Create approval workflow
  • GET /api/approval/workflows/{id} - Get approval workflow
  • PUT /api/approval/workflows/{id} - Update approval workflow
  • DELETE /api/approval/workflows/{id} - Delete approval workflow
  • GET /api/approval/workflows - List approval workflows
  • POST /api/approval/workflows/{id}/steps - Add workflow step
  • PUT /api/approval/workflows/{id}/steps/{stepId} - Update workflow step
  • DELETE /api/approval/workflows/{id}/steps/{stepId} - Delete workflow step
  • POST /api/approval/workflows/{id}/steps/reorder - Reorder workflow steps
  • POST /api/approval/instances/{id}/approve - Approve request
  • POST /api/approval/instances/{id}/reject - Reject request
  • POST /api/approval/instances/{id}/delegate - Delegate request
  • POST /api/approval/instances/{id}/cancel - Cancel request
  • GET /api/approval/pending - Get pending approvals
  • POST /api/approval/delegates - Add approval delegate
  • GET /api/approval/delegates - List approval delegates
  • DELETE /api/approval/delegates/{id} - Remove approval delegate

Batch Operations

  • POST /api/batch/operations - Create batch operation
  • GET /api/batch/operations/{id} - Get batch operation
  • GET /api/batch/operations - List batch operations
  • POST /api/batch/operations/{id}/run - Run batch operation
  • POST /api/batch/operations/{id}/cancel - Cancel batch operation
  • GET /api/batch/operations/{id}/results - Get batch operation results

PDF Templates

  • POST /api/pdf-templates - Create PDF template
  • GET /api/pdf-templates/{id} - Get PDF template
  • PUT /api/pdf-templates/{id} - Update PDF template
  • DELETE /api/pdf-templates/{id} - Delete PDF template
  • GET /api/pdf-templates - List PDF templates
  • POST /api/pdf-templates/{id}/clone - Clone PDF template
  • POST /api/pdf-templates/{id}/share - Share PDF template

Recurring Invoices

  • POST /api/recurring-invoices - Create recurring invoice
  • GET /api/recurring-invoices/{id} - Get recurring invoice
  • PUT /api/recurring-invoices/{id} - Update recurring invoice
  • DELETE /api/recurring-invoices/{id} - Delete recurring invoice
  • GET /api/recurring-invoices - List recurring invoices
  • POST /api/recurring-invoices/{id}/generate - Generate invoice from template
  • GET /api/recurring-invoices/scheduler/status - Get scheduler status
  • POST /api/recurring-invoices/scheduler/run - Run scheduler manually

Payment Analytics

  • GET /api/payment-analytics/trends - Get payment trends
  • GET /api/payment-analytics/forecast - Get payment forecast
  • GET /api/payment-analytics/methods - Get payment method breakdown
  • GET /api/payment-analytics/aging - Get payment aging report
  • GET /api/payment-analytics/client/{clientId} - Get client payment history
  • GET /api/payment-analytics/overdue - Get overdue payment analysis

Reports

  • GET /api/reports/financial - Get financial reports
  • GET /api/reports/security - Get security reports
  • GET /api/reports/budget - Get budget reports
  • GET /api/reports/invoice - Get invoice reports
  • GET /api/reports/expense - Get expense reports
  • POST /api/reports/generate - Generate custom report
  • GET /api/reports/scheduled - List scheduled reports
  • POST /api/reports/schedule - Schedule report generation

Notifications

  • GET /api/notifications - Get user notifications
  • PUT /api/notifications/{id}/read - Mark notification as read
  • PUT /api/notifications/read-all - Mark all notifications as read
  • GET /api/notifications/preferences - Get notification preferences
  • PUT /api/notifications/preferences - Update notification preferences

System Endpoints

  • GET /health - Simple health check
  • GET /health/details - Detailed health status

Documentation

  • GET /api/docs/swagger.yaml - Get Swagger YAML
  • GET /api/docs - API documentation UI