CareerK API
This documentation is the integration contract for frontend clients.API Base Path
Use this base path for all endpoints:Treat
/api/v1 as the canonical API namespace for frontend development.Global Response Contract
Most successful responses are wrapped in a consistent envelope:Frontend Notes
datacontains endpoint-specific payload.messageis human-readable and can be shown in toasts/snackbars.metais useful for logging, debugging, and tracing.
Global Error Contract
Errors are returned in this envelope:Frontend Notes
- Always read
error.statusCodefor control flow. error.messagemay be a string or an array (especially for validation errors).error.detailsis optional.
Authentication Model
CareerK uses access token + refresh token authentication.- Access token: sent in
Authorizationheader. - Refresh token: stored in an HTTP-only cookie named
refreshToken. - Protected endpoints: require valid access token.
- Role-protected endpoints: return
403when user role is not allowed.
Query and Pagination Conventions
Most list endpoints support:page(default commonly1)limit(default commonly20)- endpoint-specific filters (for example
search,location,jobType)
File Upload Flow (CV)
CV upload is a multi-step flow:- Request a pre-signed upload URL from API.
- Upload file directly to storage using returned
uploadUrl. - Confirm upload with API.
- Optionally preview and confirm parsed data.
