Mandatory Sources
Supported AbilityOne and FPI/UNICOR product lists.
Source, grain and coverage
Public procurement reference lists. Applicability depends on the item and current procurement rules.
This is a narrow procurement-reference subset. Item-level NSN, FSC, PSC and effective-date attributes are not collected. Records do not constitute the complete procurement list or a complete mandatory-source applicability determination.
Collection schedule: Monthly.
Records describe public source observations. Missing values remain unknown; historical observations do not establish current status.
Definitions audited . Use source status and the returned watermarks to inspect current collection health.
REST and MCP access
Use a credential with intelligence scope and enable that data domain in your workspace.
curl 'https://www.govbiz.ai/api/v2/catalogue/sources/mandatory-source-refresh/records?limit=2' \ -H "Authorization: Bearer $GOVBIZ_API_KEY"
The primary dataset is procurement_list_observations. Select another dataset from this source with dataset_id. Supported field names can be used as exact filters; the versioned query endpoint also supports declared ranges and list operators.
Through canonical /mcp, use govbiz_discover_datasets, govbiz_describe_dataset, govbiz_search_records, and govbiz_get_evidence. Cross-source relationships use govbiz_get_related_records and require access to every involved domain.
API contracts · MCP setup · Workspace data domains
Query this source →Procurement List Observations
procurement_list_observations · Schema 1
One retained narrow procurement-reference observation per id; this is not an item-level complete procurement list.
Search modes: structured, lexical. History: Current retained projection; exact historical reconstruction is unsupported.
Measures: record_count. Monetary values use decimal strings with declared units. Unknown amounts do not become zero.
Field definitions and supported filters · 11 fields
| Field | Type / unit | Meaning | Availability and filters |
|---|---|---|---|
id | integer | GovBiz surrogate row identifier; interpret together with its relation, not as a source-native key.Storage and value limits: Signed 64-bit integer; values beyond 2^53-1 require a string for JavaScript-safe exactness. | Values can be missingeq, in, is_null, gte, lte |
source | string | Named producer/list namespace (e.g. AbilityOne, UNICOR, USAspending); interpret with relation grain.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
nsn | string | National Stock Number item identifier; preserve raw form and normalize with an explicit NSN rule.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Not collected; returned as unknowneq, in, is_null, contains |
fsc_code | string | Federal Supply Class; the class portion of an NSN, not an item identity.Storage and value limits: Maximum 4 characters; identifier rules can be narrower.Classification overlap is contextual, not record identity. | Not collected; returned as unknowneq, in, is_null, contains |
psc_code | string | Product and Service Code classification; it is not a NAICS industry code.Storage and value limits: Maximum 4 characters; identifier rules can be narrower.Classification overlap is contextual, not record identity. | Not collected; returned as unknowneq, in, is_null, contains |
product_name | string | Mandatory-source listing product/service label.Storage and value limits: Maximum 500 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
product_description | string | Mandatory-source listing description when supplied.Storage and value limits: No declared field-length cap here; API/output budgets must apply; empty and null differ. | Values can be missingeq, in, is_null, contains |
designated_contractor | string | Named listing supplier; not a resolved SAM entity unless explicitly identified.Storage and value limits: Maximum 500 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
effective_date | date | Publisher-reported listing effective date when supplied; every audited current value is null.Storage and value limits: Calendar date without time of day or timezone; source precision can be month/quarter instead. | Not collected; returned as unknowneq, in, is_null, gte, lte |
status | string | Relation-specific source or operational status; use check constraints where declared and the producer mapping elsewhere.Storage and value limits: Maximum 20 characters; identifier rules can be narrower. | Values can be missingeq, in, is_null, contains |
refreshed_at | datetime | Time a producer refreshed this row; not the underlying source record date.Storage and value limits: Instant with timezone only if declared; otherwise local/producer time must be explicitly interpreted. Do not invent clock precision. | Values can be missingeq, in, is_null, gte, lte |