JobFront Docs

400

Do not retry

Malformed request — Something in the request itself is wrong — most often a cursor.

Response body

{ "error": { "code": "invalid_cursor", … } }

Should you retry?

No — the same request will fail the same way. Fix it first.

What it means

The server understood the request and rejected it. Retrying the same request produces the same result. error.code says which case you hit — invalid_cursor, missing_parameter, invalid_request or batch_too_large.

Common causes

How to fix it

Fix the request. For a cursor error, restart pagination without the bad cursor — cursors are opaque and must be passed back exactly as received, never constructed.

Endpoints that return this

Read from the OpenAPI specification, so this list cannot claim an endpoint returns a status the contract does not list.

MethodEndpointWhat it does
GET /v4/jobs Search jobs
POST /mcp MCP server (JSON-RPC 2.0)
GET /v4/signals List signals
GET /v4/sources-id/{source_id}/signals One employer's signals
GET /v4/metrics Metrics for a slice
POST /v4/metrics/query Metrics for a slice (POST)
GET /v4/metrics/series Metrics over time
GET /v4/metrics/distribution Pay distribution for a slice
GET /v4/metrics/concentration Where this work is concentrated
GET /v4/metrics/benchmark A slice against a wider one
GET /v4/metrics/skill-premium What each technology pays in a slice
GET /v4/technologies Search the technology catalog
GET /v4/technologies/trend Technologies over time in a slice
GET /v4/technologies/stack A slice's stack
GET /v4/technologies/churn How fast a slice's skill mix turns over
GET /v4/technologies/bridge Where two occupations converge
GET /v4/technologies/similar-occupations Occupations with a similar skill mix