OpenAPI 3.1 · Swagger UI

Presentable and auditable REST contract

Abhackus publishes an OpenAPI contract to align development, QA, operations, and external contributors under a single source of truth.

Didactic

Endpoints are grouped by business domain to simplify onboarding and handovers.

Objective

OpenAPI is a standards-based contract that removes ambiguity across teams.

Collaborative

Swagger UI helps contributors validate payloads and workflows before merge requests.

Auth and Sessions

  • POST /api/auth/login
  • POST /api/auth/refresh
  • POST /api/auth/logout
  • POST /api/auth/logout-all
  • GET /api/auth/sessions
  • POST /api/auth/change-password
  • POST /api/auth/password-recovery
  • POST /api/auth/reset-password

Users and Accessibility

  • POST /api/bootstrap/first-superadmin
  • GET|POST /api/users
  • PUT /api/users/{id}
  • GET /api/users/me
  • GET|PUT /api/users/accessibility
  • POST /api/users/usage/ping
  • GET /api/users/usage-status

Health and Observability

  • GET /
  • GET /api/health
  • GET /api/metrics (Prometheus)

Accounting

  • GET|POST /api/accounting/entries
  • GET /api/accounting/entries/{id}/detail
  • POST /api/accounting/entries/{id}/approve
  • POST /api/accounting/entries/{id}/reject
  • POST /api/accounting/entries/{id}/attachments
  • GET /api/accounting/entries/{id}/attachments/{attachment_id}
  • GET /api/accounting/pending-entries
  • GET /api/accounting/approval-audit
  • GET /api/accounting/status
  • GET /api/accounting/my-entries
  • GET /api/accounting/my-status
  • POST /api/accounting/quota-change-request
  • GET|POST /api/accounting/projects

Project, Reports, Support

  • GET|PUT /api/project/settings
  • GET /api/project/settings/public
  • GET|POST /api/project/telegram-targets
  • PUT|DELETE /api/project/telegram-targets/{id}
  • GET /api/reports/club.html
  • GET /api/reports/club.pdf
  • GET /api/reports/me.html
  • GET /api/reports/me.pdf
  • GET /api/reports/monthly.ods
  • POST /api/reports/club/telegram
  • POST /api/support/contact-admins
  • POST /api/support/notify-community-change (admin/superadmin)
  • GET /api/notifications/my
  • POST /api/notifications/{id}/read
  • POST /api/notifications/{id}/ack
  • POST /api/notifications/admin/send (admin/superadmin)
  • GET /api/notifications/admin/history (admin/superadmin)
  • GET /api/security/gpg-public-key (member/admin/superadmin)