403
Do not retryForbidden — valid token, insufficient access — Your token authenticated fine, but it is not entitled to what you asked for.
Response body
{ "error": { "code": "field_not_in_plan", … } }
Should you retry?
No — the same request will fail the same way. Fix it first.
What it means
Distinct from a 401: the credential is good. What is missing is either an organization link or a specific capability your plan does not include. Check error.code to tell which.
Common causes
- `field_not_in_plan` — a field or filter your subscription tier does not include (for example, requesting `contacts` or `workplace_details` below the `max` tier). `error.details.fields` names the offending parameters.
- `organization_not_linked` — a valid token that resolves to no organization; it authenticates but entitles nothing.
- `organization_api_disabled` — API access has been turned off for your organization entirely.
How to fix it
For field_not_in_plan, drop the field/filter or upgrade your plan — see account types for what each tier includes. For the other two, this is an account-configuration issue: contact your JobFront representative rather than retrying.
Endpoints that return this
Read from the OpenAPI specification, so this list cannot claim an endpoint returns a status the contract does not list.
| Method | Endpoint | What it does |
|---|---|---|
| GET | /v4/jobs | Search jobs |
| GET | /v4/jobs/search | Search jobs (alias of /v4/jobs) |
| GET | /v4/jobs/options | Job facet values |
| GET | /v4/jobs/{job_id} | One job by global id |
| GET | /v4/autocomplete/titles | Job-title suggestions |
| GET | /v4/autocomplete/sources | Source (company) suggestions |
| GET | /v4/sources | Search sources (companies) |
| GET | /v4/sources/search | Search sources (alias of /v4/sources) |
| GET | /v4/sources/options | Source facet values |
| GET | /v4/sources-id/{source_id} | One source by id |
| GET | /v4/sources-url/{url_source} | One source by URL |
| GET | /v4/sources-id/{source_id}/jobs | A source's jobs (by id) |
| GET | /v4/sources/{url_source}/jobs | A source's jobs (by URL) |
| GET | /v4/sources-id/{source_id}/related | Related sources (by id) |
| GET | /v4/sources/{url_source}/related | Related sources (by URL) |
| GET | /v4/jobs/hidden | Jobs you have hidden |
| POST | /v4/jobs/hidden/{job_id} | Hide a job |
| DELETE | /v4/jobs/hidden/{job_id} | Un-hide a job |
| GET | /v4/sources/blocked | Companies you have blocked |
| POST | /v4/sources/blocked/{source_id} | Block a company |
| DELETE | /v4/sources/blocked/{source_id} | Unblock a company |
| GET | /v4/me | Your plan and current quota |
| GET | /v4/usage | Daily usage history |
| POST | /mcp | MCP server (JSON-RPC 2.0) |