Technical Reference
Neut Widget Customer Reference
Use this reference after the quickstart is working. It lists supported widget IDs, query variables, subject values, status filters, colorways, and bootstrap URL parameters.
Start with Customer Widget Quickstart if you have not set up the iframe and backend endpoint yet.
Widget IDs And Paths
| Widget | widget_id |
Hosted path |
|---|---|---|
| Bill Preview | bill-preview |
/bill-preview-embed.html |
| Vote Ledger | vote-ledger |
/vote-ledger-embed.html |
| Legislation Log | legislation-log |
/legislation-log-embed.html |
The production widget origin is:
https://widgets.neut.us
Common Variables
Every widget request uses these fields:
widget_id
Must match one of the supported widget IDs.
instance_id
Unique per widget instance on the page. Use only letters, numbers, dot, underscore, colon, or hyphen. Maximum 128 characters.
article_id
Useful for customer analytics or tracing.
colorway
Defaults to Default.
Do not include tenant_key in the browser payload. The customer backend should read the tenant
from server configuration.
Bill Preview
Use this widget when the page is about a specific bill. Bill preview supports two sources:
congress(default whensourceis omitted)state
Shared Bill Preview Fields
widget_id
Fixed value.
instance_id
Unique widget placement ID.
article_id
Customer tracing value.
source
Omit or send congress for federal bills. Send state for state bills.
colorway
Optional style selection.
Congress Bill Preview Fields
Required when source is omitted or source=congress:
bill_type
Supported values: HR, S, HRES, SRES, SCONRES, HCONRES, HJRES, SJRES.
bill_number
Positive bill number.
congress
Positive Congress number. Currently only the 119th Congress is supported.
temp_text_url
Congress-only HTTPS fallback bill text URL for same-day coverage.
temp_title
Congress-only fallback title for same-day coverage.
Example hosted URL query string:
source=congress&bill_type=HR&bill_number=1&congress=119
temp_text_url and temp_title are fallback values for newly introduced Congress
bills. Use them when a story embeds a bill on the same day it is introduced and official Congress data may not
be available to Neut yet. They are not used for state bill previews.
State Bill Preview Fields
Required when source=state:
source
Enables state bill preview mode.
state
Two-letter state or territory code.
bill_identifier
Full visible bill identifier. URL-encode spaces in the final iframe URL, for example AB%20123.
session
Legislative session identifier. Omit to let the backend resolve the latest known session.
Example hosted URL query string:
source=state&state=CA&bill_identifier=AB%20123&session=2025
State bill previews render the public state preview card: title or bill label, optional subject or
subject-list chips, summary, latest action, sponsor, official state link when available, optional bill text
link when pdfTextUrl is present, and paginated cosponsors when the live widget loads them. No
additional customer embed params are required for state cosponsors; the host reuses the state code from the
bill-preview embed URL.
Vote Ledger
Use this widget to show House roll call votes for a representative, or a general House roll call feed when you do not want to target a single member.
widget_id
Fixed value.
instance_id
Unique widget placement ID.
article_id
Customer tracing value.
member_type
Must currently be Representative when targeting a single member. Omit together with the other member fields for a general House roll call feed request.
last_name
Member last name. Required only when targeting a single member.
state_code
Two-letter state code. Required only when targeting a single member.
district
Optional disambiguation for House members. Only valid with member_type=Representative. Use null for at-large representatives.
congress
Positive Congress number. Currently only the 119th Congress is supported.
page
Defaults to 1 in the browser/backend examples. Final iframe URL should include it.
limit
Defaults to 10 in the browser/backend examples. Final iframe URL should include it.
colorway
Optional style selection.
If you provide any member targeting fields, provide the full set: member_type,
last_name, and state_code. Do not send partial member filters.
vote-ledger currently supports House roll call votes only. Senate recorded votes are not available in this widget yet.
Legislation Log
Use this widget on an issue or policy page. It supports three backend-backed modes:
congress(default whensourceis omitted): Congress parent-subject ledger or Congress saved custom subject filterstate: statewide state bill ledger
Existing Congress embeds may continue omitting source. New generated examples should include
source=congress for clarity.
Shared Fields
widget_id
Fixed value.
instance_id
Unique widget placement ID.
article_id
Customer tracing value.
source
Omit or send congress for Congress mode. Send state for the state bill ledger.
page
Positive page number.
limit
Positive page size.
colorway
Optional style selection.
Congress Parent Subject Fields
Required when source is omitted or source=congress and you are using a supported parent subject:
congress
Positive Congress number.
subject
Must match a supported parent subject, including All.
status_filter
Must match a supported status filter.
Send exactly one of subject or custom_subject_filter_id. Do not send both.
Congress parent-subject URL example:
source=congress&congress=119&subject=Health+%26+Social+Welfare&status_filter=All&page=1&limit=10
Congress Custom Filter Fields
Required when source is omitted or source=congress and you are using a saved tenant custom subject filter:
congress
Positive Congress number.
custom_subject_filter_id
Tenant custom Congress subject filter UUID.
status_filter
Must match a supported status filter.
Do not send subject with custom_subject_filter_id.
Congress custom-filter URL example:
source=congress&congress=119&custom_subject_filter_id=550e8400-e29b-41d4-a716-446655440000&status_filter=All&page=1&limit=10
Arbitrary free-text custom subjects are still not supported. custom_subject_filter_id refers only
to saved tenant filters configured in Neut.
Optional Congress Member Targeting
Optional for Congress parent-subject and custom-filter requests:
member_type
Must be Representative or Senator when targeting a single member.
last_name
Member last name. Required only when targeting a single member.
state_code
Two-letter state code. Required only when targeting a single member.
district
Optional disambiguation for House members. Only valid with member_type=Representative.
show_subject_filter
Defaults to true for Congress parent-subject requests. Forced off for custom-filter and state requests.
show_status_filter
Defaults to true for Congress requests. Forced off for state requests.
show_member_hero
Optional display flag. Forced off for state requests.
If you provide any member targeting fields, provide the full set: member_type,
last_name, and state_code. Do not send partial member filters.
State Bill Ledger Fields
Required when source=state:
source
Enables state bill ledger mode.
state
Two-letter state code for the monitored state.
subject
State mode does not support true subject filtering. Must be All.
status_filter
State mode does not support status filtering. Must be All.
State mode must not include congress, member_type, last_name,
state_code, district, or custom_subject_filter_id.
State mode hides subject/status filter controls in the widget UI. The backend ignores those filters and returns the most recent non-future state session with bill action data.
State bill ledger URL example:
source=state&state=CA&subject=All&status_filter=All&page=1&limit=10
Supported Subjects
Use one of these values for Congress subject:
All
Animals & Agriculture
Business & Trade
Crime
Culture and Society
Education
Energy & Conservation
Finance & Taxes
Geopolitics
Government Operations
Health & Social Welfare
Human, Civil, & Immigration Rights
Infrastructure & Housing
Labor & Employment
National Security & International Affairs
STEM
Supported Status Filters
Use one of these values for status_filter:
All
Introduced
With First Chamber
With Second Chamber
Presented to President
Became Law
Vetoed by President
Passed Resolutions
Supported Colorways
Use one of these values for colorway:
Default
Dark
Paper
WashedSage
Slate
MonoLight
Common aliases accepted by the hosted widgets include:
dark-mode
washed-sage
mono-light
Bootstrap URL Parameters
Your backend builds the final iframe URL. In addition to widget variables, the URL must include:
tenant_key
widget_id
customer_origin
bootstrap_timestamp
bootstrap_nonce
bootstrap_key_id
bootstrap_assertion
The hosted widget exchanges these bootstrap parameters with Neut. Do not put access_token,
origin, timestamp, nonce, key_id, or
signature legacy params in the iframe URL.
Parent Refresh Message
If the hosted widget detects an expired Neut widget session, it now sends a postMessage
request to the parent page so your site can re-mint a fresh iframe URL and reauthenticate the widget.
Message shape:
{
"type": "neut-widget-refresh-request",
"widget": "bill-preview | vote-ledger | legislation-log",
"instance_id": "your-widget-instance-id",
"reason": "session_expired"
}
The message is posted from the iframe to the configured customer_origin. Your parent page
should listen for this event, verify event.origin === "https://widgets.neut.us", verify the
message shape, then replace or reload the iframe using a newly signed bootstrap URL.