Skip to content

Export refused: UNCONFIRMED_TAG_MAPPING

You clicked Generate BizFinx (or Generate XBRL XML); the export refused with HTTP 422 and reason: "UNCONFIRMED_TAG_MAPPING". The response body includes details.count and details.lineItemIds.

What this means

The export gate (assertExportAllowed()) refused because at least one XbrlTagMapping.confirmedById IS NULL. This is Rule 3 of the cursorrules — every mapping must be human-confirmed. There is no override path.

Fix

  1. Open the filing → Mappings tab.
  2. Filter for confirmation status = unconfirmed. The list shows the offending line items.
  3. For each row, confirm the suggestion or pick an alternative (see Confirm tag mappings).
  4. Re-export.

Diagnose

sql
SELECT line_item_id, element_id, confidence
  FROM xbrl_tag_mappings
  WHERE xbrl_filing_id = '<filingId>' AND confirmed_by_id IS NULL;

If this returns rows, the gate is correct.

When the row is "obvious"

Even if the top suggestion is HIGH confidence, the gate refuses until a staff user explicitly confirms. The architecture is by design — human-confirmed mappings are the regulatory contract with ACRA.

Edge case — auto-confirmation from Phase 3 cross-product

Pull from FS engagement auto-confirms mappings where a HIGH-confidence synonym exists. The rest land unconfirmed. If you used the cross-product path, run the same fix above for the rows the synonym library couldn't resolve.

Internal use only — BreezyCorp