Tracking

Tracking - Record List Impression

Called by the SPA when job TITLE(S) in the scrollable results list clear the viewport — the left-rail list, NOT the expanded full job display. Distinct from /tracking/impression (which is the full display, one job with all fields + the apply button). Keeping the two surfaces in separate tables makes the funnel legible: served → list-seen → full-viewed → clicked.

─── Batch shape ────────────────────────────────────────── A list scroll surfaces many titles, so this endpoint is batch-first: send click_tokens — an array of the exact tokens from each list item's click_url (the string after /jobs/click/). A single click_token is also accepted. Duplicate tokens within one call are collapsed (a title scrolling in/out shouldn't double-count); at most 100 tokens are processed per call (excess dropped). Fire once per title per search to keep the list-seen ratio meaningful.

─── Failure semantics ──────────────────────────────────── Always 200 unless the body carries no usable token. recorded is how many rows were written (tokens that were bad, referred to a served row we no longer have, or failed to write are simply not counted). Never gate rendering on this endpoint.

post/api/v1/tracking/list-impression

Request

  • Base URL: https://api.juju.com
  • URL: https://api.juju.com/api/v1/tracking/list-impression
  • Auth: none declared

Request body

click_tokensstring[]

Preferred. The click_url tokens of the list items that cleared the viewport.

click_tokenstring nullable

Single-item convenience form; use click_tokens for a list.

Response

List impressions recorded (or silently skipped per token).

metaobject required

Pagination and context metadata. Always present, empty object ({}) when no metadata applies to the response.

errorsstring[] required

Empty array on success. On failure, human-readable error strings suitable for surfacing to end users.

Example response

{
  "errors": []
}

Changes

No recorded changes to this operation across all 1 revision of this API.