Base URL: http://localhost:8000
This document lists endpoints implemented in the current codebase.
Return API metadata.
Response:
{
"service": "ghost-sweep",
"status": "ok",
"api_prefix": "/api/v1"
}Return basic service health. Database and Redis checks are not included in the current implementation.
Response:
{
"status": "ok",
"service": "ghost-sweep"
}See auth-api.md for request and response details.
Implemented endpoints:
POST /api/v1/auth/registerPOST /api/v1/auth/loginPOST /api/v1/auth/refreshPOST /api/v1/auth/logoutGET /api/v1/auth/me
Register, login, and refresh are rate-limited per client IP and route. Logout returns 204 No Content and revokes the refresh token only; access tokens remain valid until expiration.
See domain-api.md for report and vote endpoints.
See employer-api.md and moderation-api.md.
Implemented endpoints:
GET /api/v1/companiesGET /api/v1/companies/{company_id}GET /api/v1/companies/{company_id}/integrity-scoreGET /api/v1/job-postings/{job_posting_id}GET /api/v1/job-postings/{job_posting_id}/risk-scorePOST /api/v1/reportsGET /api/v1/reports/{report_id}GET /api/v1/reports?job_posting_id={uuid}POST /api/v1/reports/{report_id}/votesGET /api/v1/reports/{report_id}/responsesPOST /api/v1/reports/{report_id}/responsesPOST /api/v1/employer-claimsGET /api/v1/employer-claims/meGET /api/v1/employer-claims/{claim_id}GET /api/v1/employer-claimsPOST /api/v1/employer-claims/{claim_id}/approvePOST /api/v1/employer-claims/{claim_id}/rejectGET /api/v1/moderation/reportsPOST /api/v1/moderation/reports/{report_id}/verifyPOST /api/v1/moderation/reports/{report_id}/dismiss
Deferred to future batches:
- HttpOnly cookies (refresh tokens are JSON-body delivered today)
- Redis health reporting in
/health - Evidence file upload
- Company and job posting write APIs (public)
- Extension backend API integration (deferred)
- Job URL validation API wiring (deferred; offline helper exists from Batch 6D)
- Frontend moderation, employer, and admin UI
- URL-to-posting lookup from extension handoff
Common HTTP status codes in the current API:
401authentication failure403forbidden (admin or employer permission required)404resource not found409conflict such as duplicate account or duplicate vote422validation or business rule failure429auth rate limit exceeded
Stack traces are not exposed to clients.