API v1
Developer API
Integrate JobFlow into your systems with our REST API. Authentication via Bearer token (Laravel Sanctum).
Authentication
Register an account, login to get a Bearer token, and include the token in every authenticated request.
POST /api/v1/auth/register
POST /api/v1/auth/login
POST /api/v1/auth/logout (auth required)
GET /api/v1/auth/me (auth required)
POST /api/v1/auth/login
POST /api/v1/auth/logout (auth required)
GET /api/v1/auth/me (auth required)
Include the token in the header: Authorization: Bearer {token}
Job Listings
Search jobs by category, location and radius. Apply directly via API.
GET /api/v1/jobs ?category=&location=&radius=&page=
GET /api/v1/jobs/{slug}
GET /api/v1/categories
POST /api/v1/jobs/{id}/apply (auth required)
GET /api/v1/jobs/{slug}
GET /api/v1/categories
POST /api/v1/jobs/{id}/apply (auth required)
Applications
Manage applications: view status, update (companies) or withdraw (workers).
GET /api/v1/applications (auth required)
GET /api/v1/applications/{id} (auth required)
PUT /api/v1/applications/{id}/status (company only)
POST /api/v1/applications/{id}/withdraw (worker only)
GET /api/v1/applications/{id} (auth required)
PUT /api/v1/applications/{id}/status (company only)
POST /api/v1/applications/{id}/withdraw (worker only)
Profiles
Read and update worker or company profiles. Access the trust score.
GET /api/v1/profile/worker (auth required)
PUT /api/v1/profile/worker (auth required)
GET /api/v1/profile/company (auth required)
PUT /api/v1/profile/company (auth required)
GET /api/v1/profile/trust-score (auth required)
PUT /api/v1/profile/worker (auth required)
GET /api/v1/profile/company (auth required)
PUT /api/v1/profile/company (auth required)
GET /api/v1/profile/trust-score (auth required)
Usage example
# Login
curl -X POST https://jobflow.trovido.com/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"user@example.com","password":"secret"}'
# Response
{"token":"1|abc...","user":{...}}
# List jobs (with token)
curl https://jobflow.trovido.com/api/v1/jobs?category=chef&page=1 \
-H "Authorization: Bearer 1|abc..."
Important notes
- Rate limit: 60 requests/minute for authenticated users, 30/minute for anonymous.
- All responses are in JSON format. Content-Type: application/json.
- Lists support pagination: ?page=1&per_page=15 (max 100).
- Errors returned with appropriate HTTP code (401, 403, 404, 422, 429) and JSON body with "message" field.
- API access is available for Business and Premium plans. The Starter plan has read-only access to public listings.