For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration

Blocked Sources

Each organization can maintain a single block list of source_ids. A blocked source is suppressed everywhere JobFront emits that organization's job data — across every export format and every API response — without having to edit individual export configurations.

Managing the block list

Manage your block list from the JobFront dashboard: Data → Blocked Sources (/settings/blocked-sources). Each entry has a required source_id and an optional free-text comment, and the list is always scoped to your own organization.

What blocking does

Once a source is blocked, its jobs are removed from:

  • Every export your organization produces — XML, JSON, S3, SFTP, and Parquet.

  • Every JobFront API response (e.g. /v3/jobs).

The block is applied in addition to any per-export exclude_source_ids filter, and for exports it is enforced even beyond the 100-entry exclude_source_ids cap.

Export metrics card

Every export writes a metrics sidecar (jobs-active-latest-metrics-<N>.json). When a block actually removes jobs from that file, the card reports the impact (impact-only — only blocked sources that had jobs in that file's scope are listed):

Field
Meaning

count_blocked_sources

Number of blocked sources that had jobs in this export

blocked_source_ids

The blocked source_ids whose jobs were suppressed

count_blocked_jobs_estimated

Estimated number of jobs removed by the block

These three fields are omitted when no blocked source affected the file.

The companion source_ids sidecar (jobs-active-latest-source_ids-<N>.json) and the metrics card's count_total_sources always exclude blocked sources, so the source list and counts stay consistent with the data file.

Example JSON metrics card showing blocked sources/jobs from being included in the export

Behavior notes

  • Idempotent: re-blocking an already-blocked source just updates its comment.

  • Fail-open: if the block list cannot be read, exports and API responses are never broken — the request proceeds as if nothing were blocked, rather than blocking everything.

Last updated