us-lobbying-mcp-server
An MCP server that searches US federal lobbying disclosures from the Senate's LDA API and foreign-agent registrations from the Department of Justice's FARA records. It supports searching filings, resolving client relationships, analyzing issue spending, and querying data via local SQL.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://us-lobbying.caseyjhand.com/mcpWhat you can do with it
- Search federal lobbying registrations and activity reports
- Retrieve complete filing details by UUID
- Analyze reported amounts on quarterly filings
- Search FARA snapshots for foreign agent registrations
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- us-lobbying-mcp-server 0.1.2
- MCP protocol
- 2025-06-18
- Tools
- 9 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": true
},
"logging": {},
"prompts": {
"listChanged": true
},
"resources": {
"subscribe": true,
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
uslobbying_search_filings — Uslobbying Search Filings
Search federal lobbying registrations and activity reports, or retrieve a complete filing by filing_uuid from evidence or analytical selections. Native filters include posting dates, reported amounts, client location and foreign entities; issue_code filters activities locally and cannot narrow upstream requests. Follow next_cursor for all versions. Amounts are separate nullable USD strings; disclosure text is untrusted record data.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cursor": {
"type": "string",
"description": "Continue the original scope; other query fields may be omitted."
},
"client_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Client relationship record ID from candidates[].id in uslobbying_get_client_profile resolve mode; candidates[].client_id is secondary."
},
"max_pages": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Source pages per call; positive integers clamp to five, default one for discovery, five for analysis."
},
"page_size": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Upstream rows per page; positive integers clamp to 25, default 25."
},
"amount_max": {
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$",
"description": "Native maximum reported filing amount, exact decimal USD with at most two fractional digits."
},
"amount_min": {
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$",
"description": "Native minimum reported filing amount, exact decimal USD with at most two fractional digits."
},
"issue_code": {
"type": "string",
"description": "Local activity membership code from topic issue_codes."
},
"client_name": {
"type": "string",
"description": "Literal client name upstream search."
},
"filing_type": {
"type": "string",
"description": "Official code from uslobbying_list_reference topic filing_types."
},
"filing_uuid": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Exact filing UUID from evidence or analytical selections; retrieves complete source records."
},
"filing_year": {
"type": "integer",
"maximum": 2026,
"minimum": 1999,
"description": "Reported year, 1999 through the current UTC year."
},
"lobbyist_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist ID."
},
"record_path": {
"type": "string",
"default": "",
"description": "JSON Pointer to a stored value; empty selects the root."
},
"client_state": {
"type": "string",
"description": "Native client state code, normalized uppercase."
},
"posted_after": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Earliest native filing posting calendar date."
},
"record_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum object entries or array items, clamped to 25; text fragments use the response byte budget."
},
"filing_period": {
"enum": [
"first_quarter",
"second_quarter",
"third_quarter",
"fourth_quarter",
"mid_year",
"year_end"
],
"type": "string",
"description": "Source reporting period."
},
"lobbyist_name": {
"type": "string",
"description": "Native disclosed lobbyist name search."
},
"posted_before": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Latest native filing posting calendar date."
},
"record_handle": {
"type": "string",
"description": "Tenant/tool-bound deferred record handle."
},
"record_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Key, item or Unicode-code-point offset."
},
"registrant_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant ID."
},
"client_country": {
"type": "string",
"description": "Native client country code, normalized uppercase."
},
"registrant_name": {
"type": "string",
"description": "Literal registrant name upstream search."
},
"specific_issues": {
"type": "string",
"description": "Search the disclosed specific-issues text, such as H.R. 1 or telecommunications."
},
"foreign_entity_name": {
"type": "string",
"description": "Native disclosed foreign entity name search."
},
"foreign_entity_country": {
"type": "string",
"description": "Native foreign entity country code, normalized uppercase."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"LdaClient": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Client relationship record ID; select candidates[].id for client_id or client_ids inputs."
},
"name": {
"type": "string",
"description": "Literal client name."
},
"state": {
"type": [
"string",
"null"
],
"description": "Source jurisdiction code."
},
"country": {
"type": [
"string",
"null"
],
"description": "Source country code."
},
"client_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "Source secondary client number; do not select candidates[].client_id for client filters."
},
"registrant": {
"$ref": "#/$defs/LdaRegistrant",
"description": "Registrant embedded by client search."
},
"effective_date": {
"type": [
"string",
"null"
],
"description": "Source effective date."
},
"general_description": {
"type": [
"string",
"null"
],
"description": "Reported client description."
}
},
"description": "Complete client relationship.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaFiling": {
"type": "object",
"required": [
"filing_uuid",
"filing_type",
"filing_year",
"filing_period",
"dt_posted"
],
"properties": {
"client": {
"anyOf": [
{
"$ref": "#/$defs/LdaClient"
},
{
"type": "null"
}
],
"description": "Reported client relationship."
},
"income": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
},
{
"type": "null"
}
],
"description": "Reported income in USD."
},
"expenses": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
},
{
"type": "null"
}
],
"description": "Reported expenses in USD."
},
"dt_posted": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Source posting timestamp used in analytical selection."
},
"registrant": {
"anyOf": [
{
"$ref": "#/$defs/LdaRegistrant"
},
{
"type": "null"
}
],
"description": "Reported registrant."
},
"filing_type": {
"type": "string",
"description": "Official filing type, including amendments."
},
"filing_uuid": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Filing UUID."
},
"filing_year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Reported filing year."
},
"filing_period": {
"type": "string",
"description": "Source quarterly or semiannual period."
},
"expenses_method": {
"type": [
"string",
"null"
],
"description": "Expense accounting method, kept separate in ledgers."
},
"foreign_entities": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete foreign entities."
},
"filing_document_url": {
"type": [
"string",
"null"
],
"description": "Official filing-document URL."
},
"lobbying_activities": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaLobbyingActivity"
},
"description": "Complete activities."
},
"conviction_disclosures": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete conviction disclosures."
},
"affiliated_organizations": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete affiliates."
},
"filing_document_content_type": {
"type": [
"string",
"null"
],
"description": "Source document media type."
}
},
"description": "Complete filing and unknown disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
},
"LdaRegistrant": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant identifier."
},
"name": {
"type": "string",
"description": "Source registrant name."
},
"description": {
"type": [
"string",
"null"
],
"description": "Reported business description."
},
"house_registrant_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "House identifier when supplied."
}
},
"description": "Registrant relationship and disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaActivityLobbyist": {
"type": "object",
"required": [
"lobbyist"
],
"properties": {
"new": {
"type": [
"boolean",
"null"
],
"description": "Source new-lobbyist flag."
},
"lobbyist": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist identifier."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Source last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Source first name."
},
"middle_name": {
"type": [
"string",
"null"
],
"description": "Source middle name."
}
},
"description": "Filing identity; registrant comes from the parent. All source fields are retained.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"covered_position": {
"type": [
"string",
"null"
],
"description": "Reported covered-position text, not verified employment."
}
},
"description": "Filing-scoped lobbyist participation.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaLobbyingActivity": {
"type": "object",
"required": [
"general_issue_code"
],
"properties": {
"lobbyists": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaActivityLobbyist"
},
"description": "All disclosed participants."
},
"description": {
"type": [
"string",
"null"
],
"description": "Complete specific-issues description."
},
"general_issue_code": {
"type": "string",
"description": "Official general issue code."
},
"government_entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Disclosed government entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "All targeted government entities."
},
"foreign_entity_issues": {
"type": [
"string",
"null"
],
"description": "Disclosed foreign issues."
}
},
"description": "Complete reported lobbying activity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"source",
"retrieved_at",
"effective_filters",
"notices",
"coverage"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"cursor_invalid",
"acquisition_storage_unavailable",
"pagination_invalid",
"source_schema_changed"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: Invalid scope, identifier, reference code or mode combination. `cursor_invalid`: Unknown, expired, stale or mismatched continuation. `acquisition_storage_unavailable`: Storage cannot safely retain a checkpoint. `pagination_invalid`: Invalid or nonprogressing upstream pagination. `source_schema_changed`: Successful source response violates its verified schema. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Final record delivery offset."
},
"source": {
"enum": [
"lda",
"fara"
],
"type": "string",
"description": "Official source system."
},
"filings": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaFiling"
},
"description": "Complete matched source filings."
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limitations and success notices."
},
"coverage": {
"type": "object",
"required": [
"complete",
"pages_fetched",
"records_fetched",
"unique_records",
"started_at"
],
"properties": {
"complete": {
"type": "boolean",
"description": "Whether every source partition has been exhausted."
},
"started_at": {
"type": "string",
"description": "Acquisition start ISO timestamp."
},
"finished_at": {
"type": "string",
"description": "Acquisition end ISO timestamp."
},
"next_cursor": {
"type": "string",
"description": "Opaque acquisition or output continuation."
},
"pages_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Committed upstream pages fetched."
},
"unique_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unique acquired source records."
},
"upstream_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Latest partition counts summed only when all are known; includes duplicates, not an immutable snapshot."
},
"records_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows before UUID deduplication."
}
},
"description": "Acquisition progress, independent of delivery.",
"additionalProperties": false
},
"truncated": {
"type": "boolean",
"description": "More of the parent value remains available through record windows."
},
"attribution": {
"type": "string",
"description": "Required verbatim attribution for LDA data."
},
"next_cursor": {
"type": "string",
"description": "Next acquisition or output window cursor."
},
"retrieved_at": {
"type": "string",
"description": "Retrieval ISO timestamp."
},
"record_window": {
"oneOf": [
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"entries"
],
"properties": {
"kind": {
"type": "string",
"const": "object",
"description": "Object-entry window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"path"
],
"properties": {
"key": {
"type": "string",
"description": "Original key."
},
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Key and pointer; value only when it fits.",
"additionalProperties": false
},
"description": "Key-ordered object window."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Complete or deferred object children.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"const": "array",
"description": "Array-item window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Original child index."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Original index and child pointer.",
"additionalProperties": false
},
"description": "Indexed array window."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Array items preserving original indexes.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "string",
"description": "Unicode text window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"text": {
"type": "string",
"description": "Complete-code-point text fragment."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unicode-code-point text fragment.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"value"
],
"properties": {
"kind": {
"type": "string",
"const": "scalar",
"description": "Complete scalar value."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"value": {
"anyOf": [
{
"type": "null",
"description": "Null value."
},
{
"type": "boolean",
"description": "Boolean value."
},
{
"type": "number",
"description": "Finite numeric value."
}
],
"description": "Exact scalar value."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unfragmented non-text scalar.",
"additionalProperties": false
}
],
"description": "Lossless stored parent window."
},
"total_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact final record count when known."
},
"record_handles": {
"type": "array",
"items": {
"type": "object",
"required": [
"record_handle",
"source_id",
"record_bytes",
"expires_at",
"retrieval_tool"
],
"properties": {
"source_id": {
"type": "string",
"description": "Original source identity."
},
"expires_at": {
"type": "string",
"description": "Retained parent expiry ISO timestamp."
},
"record_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Serialized parent UTF-8 bytes."
},
"record_handle": {
"type": "string",
"description": "Opaque retained parent handle."
},
"retrieval_tool": {
"type": "string",
"description": "Source tool for record windows."
}
},
"description": "Deferred parent retrieval.",
"additionalProperties": false
},
"description": "Deferred complete parents."
},
"retrieval_tool": {
"type": "string",
"description": "Tool that retrieves this parent."
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"output_complete": {
"type": "boolean",
"description": "Whether all result rows have been delivered."
},
"amendment_policy": {
"type": "string",
"const": "all_versions",
"description": "Originals and amendments remain separate."
},
"records_deferred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Oversized parents available through handles."
},
"records_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Complete records delivered in this window."
},
"cursor_expires_at": {
"type": "string",
"description": "Continuation expiry ISO timestamp."
},
"effective_filters": {
"type": "object",
"description": "Normalized effective scope.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"snapshot_source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official snapshot URLs."
},
"snapshot_retrieved_at": {
"type": "string",
"description": "FARA snapshot retrieval timestamp."
},
"snapshot_last_modified": {
"type": "string",
"description": "Upstream Last-Modified header."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}uslobbying_get_client_profile — Uslobbying Get Client Profile
Resolve client relationship records by client_name in mode resolve (default), then use mode profile with explicit client_ids and years. Select candidates[].id, preserving secondary client_id as source data. IDs identify registrant relationships, not a verified corporate identity. Follow collecting cursors before interpreting separate income and expense ledgers. Typed rows preserve every audit filing; pass a selected filing UUID to uslobbying_search_filings for its complete record. Optional canvas datasets support SQL.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"enum": [
"resolve",
"profile"
],
"type": "string",
"description": "resolve (default) finds client_name candidates; profile requires selected client_ids and years. Omit on continuation."
},
"years": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2026,
"minimum": 1999
},
"minItems": 1,
"description": "Required explicit analytical year scope; sorted and deduplicated."
},
"cursor": {
"type": "string",
"description": "Continue the original scope; other query fields may be omitted."
},
"row_sets": {
"type": "array",
"items": {
"enum": [
"annual_ledgers",
"selections",
"firms",
"issue_codes",
"targeted_entities",
"selected_filings",
"activities",
"raw_filings"
],
"type": "string"
},
"minItems": 1,
"description": "Inline analytical sets; omit for all sets. Selection never limits acquisition, totals or SQL staging. Omitted sets remain available from a new call with another selection or staged tables. Continue with omitted or equivalent row_sets."
},
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Reuse this canvas only after complete analytical acquisition."
},
"max_pages": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Source pages per call; positive integers clamp to five, default one for discovery, five for analysis."
},
"page_size": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Upstream rows per page; positive integers clamp to 25, default 25."
},
"client_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string source relationship identifier."
},
"minItems": 1,
"description": "Required explicit relationship record IDs from candidates[].id in profile mode; candidates[].client_id is a secondary source number."
},
"client_name": {
"type": "string",
"description": "Required literal name in resolve mode."
},
"record_path": {
"type": "string",
"default": "",
"description": "JSON Pointer to a stored value; empty selects the root."
},
"record_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum object entries or array items, clamped to 25; text fragments use the response byte budget."
},
"record_handle": {
"type": "string",
"description": "Tenant/tool-bound deferred record handle."
},
"record_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Key, item or Unicode-code-point offset."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"LdaClient": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Client relationship record ID; select candidates[].id for client_id or client_ids inputs."
},
"name": {
"type": "string",
"description": "Literal client name."
},
"state": {
"type": [
"string",
"null"
],
"description": "Source jurisdiction code."
},
"country": {
"type": [
"string",
"null"
],
"description": "Source country code."
},
"client_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "Source secondary client number; do not select candidates[].client_id for client filters."
},
"registrant": {
"$ref": "#/$defs/LdaRegistrant",
"description": "Registrant embedded by client search."
},
"effective_date": {
"type": [
"string",
"null"
],
"description": "Source effective date."
},
"general_description": {
"type": [
"string",
"null"
],
"description": "Reported client description."
}
},
"description": "Complete client relationship.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaFiling": {
"type": "object",
"required": [
"filing_uuid",
"filing_type",
"filing_year",
"filing_period",
"dt_posted"
],
"properties": {
"client": {
"anyOf": [
{
"$ref": "#/$defs/LdaClient"
},
{
"type": "null"
}
],
"description": "Reported client relationship."
},
"income": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
},
{
"type": "null"
}
],
"description": "Reported income in USD."
},
"expenses": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
},
{
"type": "null"
}
],
"description": "Reported expenses in USD."
},
"dt_posted": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Source posting timestamp used in analytical selection."
},
"registrant": {
"anyOf": [
{
"$ref": "#/$defs/LdaRegistrant"
},
{
"type": "null"
}
],
"description": "Reported registrant."
},
"filing_type": {
"type": "string",
"description": "Official filing type, including amendments."
},
"filing_uuid": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Filing UUID."
},
"filing_year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Reported filing year."
},
"filing_period": {
"type": "string",
"description": "Source quarterly or semiannual period."
},
"expenses_method": {
"type": [
"string",
"null"
],
"description": "Expense accounting method, kept separate in ledgers."
},
"foreign_entities": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete foreign entities."
},
"filing_document_url": {
"type": [
"string",
"null"
],
"description": "Official filing-document URL."
},
"lobbying_activities": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaLobbyingActivity"
},
"description": "Complete activities."
},
"conviction_disclosures": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete conviction disclosures."
},
"affiliated_organizations": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete affiliates."
},
"filing_document_content_type": {
"type": [
"string",
"null"
],
"description": "Source document media type."
}
},
"description": "Complete filing and unknown disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
},
"LdaRegistrant": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant identifier."
},
"name": {
"type": "string",
"description": "Source registrant name."
},
"description": {
"type": [
"string",
"null"
],
"description": "Reported business description."
},
"house_registrant_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "House identifier when supplied."
}
},
"description": "Registrant relationship and disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaAnnualLedger": {
"type": "object",
"required": [
"year",
"income_filing_count",
"expense_filing_count",
"missing_amount_count",
"missing_income_count",
"missing_expense_count",
"ambiguous_group_count",
"matching_filing_count",
"multi_issue_filing_count",
"expense_methods"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Report year."
},
"expense_methods": {
"type": "array",
"items": {
"type": "object",
"required": [
"method",
"expense_filing_count",
"missing_expense_count"
],
"properties": {
"method": {
"type": [
"string",
"null"
],
"description": "Reported method or unknown."
},
"known_expenses_usd": {
"type": "string",
"description": "Separate method sum."
},
"expense_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Known expense count."
},
"missing_expense_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Unknown expense count."
}
},
"description": "Separate expense accounting method.",
"additionalProperties": false
},
"description": "Separate expense-method ledgers."
},
"known_income_usd": {
"type": "string",
"description": "Exact known-income sum; absent if none known."
},
"known_expenses_usd": {
"type": "string",
"description": "Exact known-expense sum; never added to income."
},
"income_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings with known income."
},
"expense_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings with known expenses."
},
"missing_amount_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings with neither amount known."
},
"missing_income_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings missing income."
},
"ambiguous_group_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Equal-latest groups excluded from sums."
},
"matching_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Selected matching filings."
},
"missing_expense_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings missing expenses."
},
"multi_issue_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings mentioning more than one issue."
}
},
"description": "Annual income and expense ledgers, kept separate.",
"additionalProperties": false
},
"LdaActivityLobbyist": {
"type": "object",
"required": [
"lobbyist"
],
"properties": {
"new": {
"type": [
"boolean",
"null"
],
"description": "Source new-lobbyist flag."
},
"lobbyist": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist identifier."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Source last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Source first name."
},
"middle_name": {
"type": [
"string",
"null"
],
"description": "Source middle name."
}
},
"description": "Filing identity; registrant comes from the parent. All source fields are retained.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"covered_position": {
"type": [
"string",
"null"
],
"description": "Reported covered-position text, not verified employment."
}
},
"description": "Filing-scoped lobbyist participation.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaLobbyingActivity": {
"type": "object",
"required": [
"general_issue_code"
],
"properties": {
"lobbyists": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaActivityLobbyist"
},
"description": "All disclosed participants."
},
"description": {
"type": [
"string",
"null"
],
"description": "Complete specific-issues description."
},
"general_issue_code": {
"type": "string",
"description": "Official general issue code."
},
"government_entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Disclosed government entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "All targeted government entities."
},
"foreign_entity_issues": {
"type": [
"string",
"null"
],
"description": "Disclosed foreign issues."
}
},
"description": "Complete reported lobbying activity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"source",
"retrieved_at",
"effective_filters",
"notices",
"coverage"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"enum": [
"resolve",
"profile"
],
"type": "string",
"description": "Client resolution or selected relationship analysis; absent on stored-record retrieval."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"cursor_invalid",
"acquisition_storage_unavailable",
"pagination_invalid",
"source_schema_changed",
"canvas_unavailable",
"canvas_not_found"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: Invalid scope, identifier, reference code or mode combination. `cursor_invalid`: Unknown, expired, stale or mismatched continuation. `acquisition_storage_unavailable`: Storage cannot safely retain a checkpoint. `pagination_invalid`: Invalid or nonprogressing upstream pagination. `source_schema_changed`: Successful source response violates its verified schema. `canvas_unavailable`: Explicit staging without a configured canvas. `canvas_not_found`: Supplied canvas expired or unknown. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"firms": {
"type": "array",
"items": {
"type": "object",
"required": [
"registrant_id",
"name",
"client_ids",
"filing_uuids",
"annual_ledgers"
],
"properties": {
"name": {
"type": "string",
"description": "Firm name."
},
"client_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Selected relationships."
},
"filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Selected report UUIDs."
},
"registrant_id": {
"type": "string",
"description": "Firm ID."
},
"annual_ledgers": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaAnnualLedger"
},
"description": "Firm year ledgers."
}
},
"description": "Firm breakdown.",
"additionalProperties": false
},
"description": "Firm breakdowns in this window."
},
"years": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2026,
"minimum": 1999
},
"description": "Explicit requested years."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Final record delivery offset."
},
"source": {
"enum": [
"lda",
"fara"
],
"type": "string",
"description": "Official source system."
},
"status": {
"enum": [
"collecting",
"complete"
],
"type": "string",
"description": "Source acquisition status, separate from row delivery."
},
"dataset": {
"type": "object",
"required": [
"canvas_id",
"describe_tool",
"query_tool",
"guidance",
"tables"
],
"properties": {
"tables": {
"type": "array",
"items": {
"type": "object",
"required": [
"table_name",
"row_count",
"columns",
"grain",
"complete",
"created_at",
"expires_at"
],
"properties": {
"grain": {
"type": "string",
"description": "Meaning of one row; activity rows have no money."
},
"columns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type",
"nullable"
],
"properties": {
"name": {
"type": "string",
"description": "Column name."
},
"type": {
"type": "string",
"description": "Provider column type."
},
"nullable": {
"type": "boolean",
"description": "Whether null values are permitted."
}
},
"description": "Provider column.",
"additionalProperties": false
},
"description": "Explicit complete schema."
},
"complete": {
"type": "boolean",
"description": "Whether every intended row is registered."
},
"row_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact registered row count."
},
"created_at": {
"type": "string",
"description": "Table creation ISO timestamp."
},
"expires_at": {
"type": "string",
"description": "Table expiry ISO timestamp."
},
"table_name": {
"type": "string",
"description": "Registered table name."
}
},
"description": "Complete table metadata.",
"additionalProperties": false
},
"description": "Dataset tables."
},
"guidance": {
"type": "string",
"description": "Table names and dataframe instructions."
},
"canvas_id": {
"type": "string",
"description": "Tenant-scoped canvas access token."
},
"query_tool": {
"type": "string",
"const": "uslobbying_dataframe_query",
"description": "Query or retrieve materialized table rows."
},
"describe_tool": {
"type": "string",
"const": "uslobbying_dataframe_describe",
"description": "Inspect exact table schemas before SQL."
}
},
"description": "Complete SQL metadata on the first final window and its replay.",
"additionalProperties": false
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limitations and success notices."
},
"coverage": {
"type": "object",
"required": [
"complete",
"pages_fetched",
"records_fetched",
"unique_records",
"started_at"
],
"properties": {
"complete": {
"type": "boolean",
"description": "Whether every source partition has been exhausted."
},
"started_at": {
"type": "string",
"description": "Acquisition start ISO timestamp."
},
"finished_at": {
"type": "string",
"description": "Acquisition end ISO timestamp."
},
"next_cursor": {
"type": "string",
"description": "Opaque acquisition or output continuation."
},
"pages_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Committed upstream pages fetched."
},
"unique_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unique acquired source records."
},
"upstream_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Latest partition counts summed only when all are known; includes duplicates, not an immutable snapshot."
},
"records_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows before UUID deduplication."
}
},
"description": "Acquisition progress, independent of delivery.",
"additionalProperties": false
},
"guidance": {
"type": "string",
"description": "Next profile-mode selection step."
},
"canvas_id": {
"type": "string",
"description": "Tenant-scoped canvas access token."
},
"truncated": {
"type": "boolean",
"description": "More data is available through next_cursor or record_handles; no source data was discarded."
},
"activities": {
"type": "array",
"items": {
"type": "object",
"required": [
"general_issue_code",
"filing_uuid",
"activity_index",
"client_id",
"registrant_id"
],
"properties": {
"client_id": {
"type": "string",
"description": "Client relationship ID."
},
"lobbyists": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaActivityLobbyist"
},
"description": "All disclosed participants."
},
"description": {
"type": [
"string",
"null"
],
"description": "Complete specific-issues description."
},
"filing_uuid": {
"type": "string",
"description": "Parent filing UUID."
},
"registrant_id": {
"type": "string",
"description": "Registrant ID."
},
"activity_index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Original activity index."
},
"general_issue_code": {
"type": "string",
"description": "Official general issue code."
},
"government_entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Disclosed government entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "All targeted government entities."
},
"foreign_entity_issues": {
"type": [
"string",
"null"
],
"description": "Disclosed foreign issues."
}
},
"description": "Selected activity and parent relationship IDs.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "Selected activities in this window; no money columns."
},
"candidates": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaClient"
},
"description": "All matching relationships; never auto-merged."
},
"client_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string source relationship identifier."
},
"description": "Caller-selected client relationship IDs."
},
"query_tool": {
"type": "string",
"const": "uslobbying_dataframe_query",
"description": "Query or retrieve materialized table rows."
},
"selections": {
"type": "array",
"items": {
"type": "object",
"required": [
"candidate_filing_uuids",
"client_id",
"registrant_id",
"period",
"year",
"superseded_filing_uuids",
"selection_method",
"status"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Report year."
},
"period": {
"type": "string",
"description": "Report period."
},
"status": {
"enum": [
"selected",
"ambiguous",
"excluded"
],
"type": "string",
"description": "Selection outcome."
},
"client_id": {
"type": [
"string",
"null"
],
"description": "Relationship client."
},
"registrant_id": {
"type": [
"string",
"null"
],
"description": "Relationship registrant."
},
"exclusion_reason": {
"enum": [
"registration",
"non_quarterly",
"unknown_variant",
"missing_relationship"
],
"type": "string",
"description": "Why excluded."
},
"selection_method": {
"type": "string",
"const": "latest_posted_within_relationship_period",
"description": "Analytical selection rule, not legal lineage."
},
"selected_filing_uuid": {
"type": "string",
"description": "Unambiguous selected UUID."
},
"candidate_filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Latest candidates."
},
"superseded_filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Earlier versions."
}
},
"description": "Latest-version selection and excluded candidates.",
"additionalProperties": false
},
"description": "Version-selection decisions in this window."
},
"attribution": {
"type": "string",
"description": "Required verbatim attribution for LDA data."
},
"issue_codes": {
"type": "array",
"items": {
"type": "object",
"required": [
"issue_code",
"filing_uuids",
"annual_ledgers"
],
"properties": {
"issue_code": {
"type": "string",
"description": "Issue code."
},
"filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Matching report UUIDs."
},
"annual_ledgers": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaAnnualLedger"
},
"description": "Overlapping issue ledgers."
}
},
"description": "Issue membership, not allocated spending.",
"additionalProperties": false
},
"description": "Overlapping issue breakdowns in this window."
},
"methodology": {
"type": "object",
"required": [
"selection_method",
"issue_buckets_overlap",
"amounts_are_separate",
"client_identity"
],
"properties": {
"client_identity": {
"type": "string",
"const": "caller_selected_relationships",
"description": "No corporate identity is inferred."
},
"selection_method": {
"type": "string",
"const": "latest_posted_within_relationship_period",
"description": "Latest posting within relationship and quarter."
},
"amounts_are_separate": {
"type": "boolean",
"const": true,
"description": "Never combine income and expenses."
},
"issue_buckets_overlap": {
"type": "boolean",
"const": true,
"description": "Do not sum issue buckets."
}
},
"description": "Accounting limitations.",
"additionalProperties": false
},
"next_cursor": {
"type": "string",
"description": "Next acquisition or output window cursor."
},
"raw_filings": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaFiling"
},
"description": "All acquired versions in this window, including selected versions."
},
"retrieved_at": {
"type": "string",
"description": "Retrieval ISO timestamp."
},
"describe_tool": {
"type": "string",
"const": "uslobbying_dataframe_describe",
"description": "Inspect exact table schemas before SQL."
},
"record_window": {
"oneOf": [
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"entries"
],
"properties": {
"kind": {
"type": "string",
"const": "object",
"description": "Object-entry window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"path"
],
"properties": {
"key": {
"type": "string",
"description": "Original key."
},
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Key and pointer; value only when it fits.",
"additionalProperties": false
},
"description": "Key-ordered object window."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Complete or deferred object children.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"const": "array",
"description": "Array-item window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Original child index."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Original index and child pointer.",
"additionalProperties": false
},
"description": "Indexed array window."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Array items preserving original indexes.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "string",
"description": "Unicode text window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"text": {
"type": "string",
"description": "Complete-code-point text fragment."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unicode-code-point text fragment.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"value"
],
"properties": {
"kind": {
"type": "string",
"const": "scalar",
"description": "Complete scalar value."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"value": {
"anyOf": [
{
"type": "null",
"description": "Null value."
},
{
"type": "boolean",
"description": "Boolean value."
},
{
"type": "number",
"description": "Finite numeric value."
}
],
"description": "Exact scalar value."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unfragmented non-text scalar.",
"additionalProperties": false
}
],
"description": "Lossless stored parent window."
},
"total_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact final record count when known."
},
"annual_ledgers": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaAnnualLedger"
},
"description": "Complete-year ledgers in this window; absent while collecting."
},
"record_handles": {
"type": "array",
"items": {
"type": "object",
"required": [
"record_handle",
"source_id",
"record_bytes",
"expires_at",
"retrieval_tool"
],
"properties": {
"source_id": {
"type": "string",
"description": "Original source identity."
},
"expires_at": {
"type": "string",
"description": "Retained parent expiry ISO timestamp."
},
"record_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Serialized parent UTF-8 bytes."
},
"record_handle": {
"type": "string",
"description": "Opaque retained parent handle."
},
"retrieval_tool": {
"type": "string",
"description": "Source tool for record windows."
}
},
"description": "Deferred parent retrieval.",
"additionalProperties": false
},
"description": "Deferred complete parents."
},
"retrieval_tool": {
"type": "string",
"description": "Tool that retrieves this parent."
},
"row_set_totals": {
"type": "object",
"required": [
"annual_ledgers",
"selections",
"firms",
"issue_codes",
"targeted_entities",
"selected_filings",
"activities",
"raw_filings"
],
"properties": {
"firms": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Firm breakdown records."
},
"activities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected activity records."
},
"selections": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Version-selection decisions."
},
"issue_codes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Issue breakdown records."
},
"raw_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Acquired filing versions."
},
"annual_ledgers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Annual ledger records."
},
"selected_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected filing records."
},
"targeted_entities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Targeted entity records."
}
},
"description": "Exact all-set totals after acquisition completes.",
"additionalProperties": false
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"output_complete": {
"type": "boolean",
"description": "Whether all result rows have been delivered."
},
"row_set_offsets": {
"type": "object",
"required": [
"annual_ledgers",
"selections",
"firms",
"issue_codes",
"targeted_entities",
"selected_filings",
"activities",
"raw_filings"
],
"properties": {
"firms": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Firm breakdown records."
},
"activities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected activity records."
},
"selections": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Version-selection decisions."
},
"issue_codes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Issue breakdown records."
},
"raw_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Acquired filing versions."
},
"annual_ledgers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Annual ledger records."
},
"selected_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected filing records."
},
"targeted_entities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Targeted entity records."
}
},
"description": "Selected-set rows delivered or deferred before this window; others zero.",
"additionalProperties": false
},
"canvas_available": {
"type": "boolean",
"description": "SQL canvas support is enabled."
},
"records_deferred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Oversized parents available through handles."
},
"records_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Complete records delivered in this window."
},
"selected_filings": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaFiling"
},
"description": "Complete selected filings in this window."
},
"attribution_basis": {
"type": "string",
"const": "whole_filing_mentions_issue",
"description": "Whole filings mentioning an issue; buckets overlap."
},
"cursor_expires_at": {
"type": "string",
"description": "Continuation expiry ISO timestamp."
},
"effective_filters": {
"type": "object",
"description": "Normalized effective scope.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"targeted_entities": {
"type": "array",
"items": {
"type": "object",
"required": [
"entity",
"filing_uuids"
],
"properties": {
"entity": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Targeted entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Source reports."
}
},
"description": "Government entity and supporting filings.",
"additionalProperties": false
},
"description": "Targeted entities in this window."
},
"snapshot_source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official snapshot URLs."
},
"snapshot_retrieved_at": {
"type": "string",
"description": "FARA snapshot retrieval timestamp."
},
"snapshot_last_modified": {
"type": "string",
"description": "Upstream Last-Modified header."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}uslobbying_get_issue_spending — Uslobbying Get Issue Spending
Aggregate separate income and expense amounts on quarterly filings mentioning issue_code across explicit years. This is whole-filing association, not allocated issue spending; issue buckets overlap. All versions are acquired before latest-period selection and local issue filtering. Broad scans can take hours; narrow client_id or registrant_id when appropriate. Follow collecting cursors before interpreting final typed rows or SQL datasets. Pass a selected filing UUID to uslobbying_search_filings for its complete record.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"years": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2026,
"minimum": 1999
},
"minItems": 1,
"description": "Required explicit analytical year scope; sorted and deduplicated."
},
"cursor": {
"type": "string",
"description": "Continue the original scope; other query fields may be omitted."
},
"row_sets": {
"type": "array",
"items": {
"enum": [
"annual_ledgers",
"selections",
"firms",
"issue_codes",
"targeted_entities",
"selected_filings",
"activities",
"raw_filings"
],
"type": "string"
},
"minItems": 1,
"description": "Inline analytical sets; omit for all sets. Selection never limits acquisition, totals or SQL staging. Omitted sets remain available from a new call with another selection or staged tables. Continue with omitted or equivalent row_sets."
},
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Reuse this canvas only after complete analytical acquisition."
},
"client_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Optional client relationship record ID from candidates[].id in uslobbying_get_client_profile resolve mode; candidates[].client_id is secondary."
},
"max_pages": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Source pages per call; positive integers clamp to five, default one for discovery, five for analysis."
},
"page_size": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Upstream rows per page; positive integers clamp to 25, default 25."
},
"issue_code": {
"type": "string",
"description": "Required first-call code from uslobbying_list_reference topic issue_codes."
},
"record_path": {
"type": "string",
"default": "",
"description": "JSON Pointer to a stored value; empty selects the root."
},
"record_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum object entries or array items, clamped to 25; text fragments use the response byte budget."
},
"record_handle": {
"type": "string",
"description": "Tenant/tool-bound deferred record handle."
},
"record_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Key, item or Unicode-code-point offset."
},
"registrant_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Optional native registrant scope."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"LdaClient": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Client relationship record ID; select candidates[].id for client_id or client_ids inputs."
},
"name": {
"type": "string",
"description": "Literal client name."
},
"state": {
"type": [
"string",
"null"
],
"description": "Source jurisdiction code."
},
"country": {
"type": [
"string",
"null"
],
"description": "Source country code."
},
"client_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "Source secondary client number; do not select candidates[].client_id for client filters."
},
"registrant": {
"$ref": "#/$defs/LdaRegistrant",
"description": "Registrant embedded by client search."
},
"effective_date": {
"type": [
"string",
"null"
],
"description": "Source effective date."
},
"general_description": {
"type": [
"string",
"null"
],
"description": "Reported client description."
}
},
"description": "Complete client relationship.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaFiling": {
"type": "object",
"required": [
"filing_uuid",
"filing_type",
"filing_year",
"filing_period",
"dt_posted"
],
"properties": {
"client": {
"anyOf": [
{
"$ref": "#/$defs/LdaClient"
},
{
"type": "null"
}
],
"description": "Reported client relationship."
},
"income": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
},
{
"type": "null"
}
],
"description": "Reported income in USD."
},
"expenses": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
},
{
"type": "null"
}
],
"description": "Reported expenses in USD."
},
"dt_posted": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Source posting timestamp used in analytical selection."
},
"registrant": {
"anyOf": [
{
"$ref": "#/$defs/LdaRegistrant"
},
{
"type": "null"
}
],
"description": "Reported registrant."
},
"filing_type": {
"type": "string",
"description": "Official filing type, including amendments."
},
"filing_uuid": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Filing UUID."
},
"filing_year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Reported filing year."
},
"filing_period": {
"type": "string",
"description": "Source quarterly or semiannual period."
},
"expenses_method": {
"type": [
"string",
"null"
],
"description": "Expense accounting method, kept separate in ledgers."
},
"foreign_entities": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete foreign entities."
},
"filing_document_url": {
"type": [
"string",
"null"
],
"description": "Official filing-document URL."
},
"lobbying_activities": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaLobbyingActivity"
},
"description": "Complete activities."
},
"conviction_disclosures": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete conviction disclosures."
},
"affiliated_organizations": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "Complete affiliates."
},
"filing_document_content_type": {
"type": [
"string",
"null"
],
"description": "Source document media type."
}
},
"description": "Complete filing and unknown disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
},
"LdaRegistrant": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant identifier."
},
"name": {
"type": "string",
"description": "Source registrant name."
},
"description": {
"type": [
"string",
"null"
],
"description": "Reported business description."
},
"house_registrant_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "House identifier when supplied."
}
},
"description": "Registrant relationship and disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaAnnualLedger": {
"type": "object",
"required": [
"year",
"income_filing_count",
"expense_filing_count",
"missing_amount_count",
"missing_income_count",
"missing_expense_count",
"ambiguous_group_count",
"matching_filing_count",
"multi_issue_filing_count",
"expense_methods"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Report year."
},
"expense_methods": {
"type": "array",
"items": {
"type": "object",
"required": [
"method",
"expense_filing_count",
"missing_expense_count"
],
"properties": {
"method": {
"type": [
"string",
"null"
],
"description": "Reported method or unknown."
},
"known_expenses_usd": {
"type": "string",
"description": "Separate method sum."
},
"expense_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Known expense count."
},
"missing_expense_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Unknown expense count."
}
},
"description": "Separate expense accounting method.",
"additionalProperties": false
},
"description": "Separate expense-method ledgers."
},
"known_income_usd": {
"type": "string",
"description": "Exact known-income sum; absent if none known."
},
"known_expenses_usd": {
"type": "string",
"description": "Exact known-expense sum; never added to income."
},
"income_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings with known income."
},
"expense_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings with known expenses."
},
"missing_amount_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings with neither amount known."
},
"missing_income_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings missing income."
},
"ambiguous_group_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Equal-latest groups excluded from sums."
},
"matching_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Selected matching filings."
},
"missing_expense_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings missing expenses."
},
"multi_issue_filing_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Filings mentioning more than one issue."
}
},
"description": "Annual income and expense ledgers, kept separate.",
"additionalProperties": false
},
"LdaActivityLobbyist": {
"type": "object",
"required": [
"lobbyist"
],
"properties": {
"new": {
"type": [
"boolean",
"null"
],
"description": "Source new-lobbyist flag."
},
"lobbyist": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist identifier."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Source last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Source first name."
},
"middle_name": {
"type": [
"string",
"null"
],
"description": "Source middle name."
}
},
"description": "Filing identity; registrant comes from the parent. All source fields are retained.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"covered_position": {
"type": [
"string",
"null"
],
"description": "Reported covered-position text, not verified employment."
}
},
"description": "Filing-scoped lobbyist participation.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaLobbyingActivity": {
"type": "object",
"required": [
"general_issue_code"
],
"properties": {
"lobbyists": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaActivityLobbyist"
},
"description": "All disclosed participants."
},
"description": {
"type": [
"string",
"null"
],
"description": "Complete specific-issues description."
},
"general_issue_code": {
"type": "string",
"description": "Official general issue code."
},
"government_entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Disclosed government entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "All targeted government entities."
},
"foreign_entity_issues": {
"type": [
"string",
"null"
],
"description": "Disclosed foreign issues."
}
},
"description": "Complete reported lobbying activity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"source",
"retrieved_at",
"effective_filters",
"notices",
"coverage"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"cursor_invalid",
"acquisition_storage_unavailable",
"pagination_invalid",
"source_schema_changed",
"canvas_unavailable",
"canvas_not_found"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: Invalid scope, identifier, reference code or mode combination. `cursor_invalid`: Unknown, expired, stale or mismatched continuation. `acquisition_storage_unavailable`: Storage cannot safely retain a checkpoint. `pagination_invalid`: Invalid or nonprogressing upstream pagination. `source_schema_changed`: Successful source response violates its verified schema. `canvas_unavailable`: Explicit staging without a configured canvas. `canvas_not_found`: Supplied canvas expired or unknown. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"firms": {
"type": "array",
"items": {
"type": "object",
"required": [
"registrant_id",
"name",
"client_ids",
"filing_uuids",
"annual_ledgers"
],
"properties": {
"name": {
"type": "string",
"description": "Firm name."
},
"client_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Selected relationships."
},
"filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Selected report UUIDs."
},
"registrant_id": {
"type": "string",
"description": "Firm ID."
},
"annual_ledgers": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaAnnualLedger"
},
"description": "Firm year ledgers."
}
},
"description": "Firm breakdown.",
"additionalProperties": false
},
"description": "Firm breakdowns in this window."
},
"years": {
"type": "array",
"items": {
"type": "integer",
"maximum": 2026,
"minimum": 1999
},
"description": "Explicit requested years."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Final record delivery offset."
},
"source": {
"enum": [
"lda",
"fara"
],
"type": "string",
"description": "Official source system."
},
"status": {
"enum": [
"collecting",
"complete"
],
"type": "string",
"description": "Source acquisition status, separate from row delivery."
},
"dataset": {
"type": "object",
"required": [
"canvas_id",
"describe_tool",
"query_tool",
"guidance",
"tables"
],
"properties": {
"tables": {
"type": "array",
"items": {
"type": "object",
"required": [
"table_name",
"row_count",
"columns",
"grain",
"complete",
"created_at",
"expires_at"
],
"properties": {
"grain": {
"type": "string",
"description": "Meaning of one row; activity rows have no money."
},
"columns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type",
"nullable"
],
"properties": {
"name": {
"type": "string",
"description": "Column name."
},
"type": {
"type": "string",
"description": "Provider column type."
},
"nullable": {
"type": "boolean",
"description": "Whether null values are permitted."
}
},
"description": "Provider column.",
"additionalProperties": false
},
"description": "Explicit complete schema."
},
"complete": {
"type": "boolean",
"description": "Whether every intended row is registered."
},
"row_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact registered row count."
},
"created_at": {
"type": "string",
"description": "Table creation ISO timestamp."
},
"expires_at": {
"type": "string",
"description": "Table expiry ISO timestamp."
},
"table_name": {
"type": "string",
"description": "Registered table name."
}
},
"description": "Complete table metadata.",
"additionalProperties": false
},
"description": "Dataset tables."
},
"guidance": {
"type": "string",
"description": "Table names and dataframe instructions."
},
"canvas_id": {
"type": "string",
"description": "Tenant-scoped canvas access token."
},
"query_tool": {
"type": "string",
"const": "uslobbying_dataframe_query",
"description": "Query or retrieve materialized table rows."
},
"describe_tool": {
"type": "string",
"const": "uslobbying_dataframe_describe",
"description": "Inspect exact table schemas before SQL."
}
},
"description": "Complete SQL metadata on the first final window and its replay.",
"additionalProperties": false
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limitations and success notices."
},
"coverage": {
"type": "object",
"required": [
"complete",
"pages_fetched",
"records_fetched",
"unique_records",
"started_at"
],
"properties": {
"complete": {
"type": "boolean",
"description": "Whether every source partition has been exhausted."
},
"started_at": {
"type": "string",
"description": "Acquisition start ISO timestamp."
},
"finished_at": {
"type": "string",
"description": "Acquisition end ISO timestamp."
},
"next_cursor": {
"type": "string",
"description": "Opaque acquisition or output continuation."
},
"pages_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Committed upstream pages fetched."
},
"unique_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unique acquired source records."
},
"upstream_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Latest partition counts summed only when all are known; includes duplicates, not an immutable snapshot."
},
"records_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows before UUID deduplication."
}
},
"description": "Acquisition progress, independent of delivery.",
"additionalProperties": false
},
"guidance": {
"type": "string",
"description": "Table names and dataframe instructions."
},
"canvas_id": {
"type": "string",
"description": "Tenant-scoped canvas access token."
},
"truncated": {
"type": "boolean",
"description": "More data is available through next_cursor or record_handles; no source data was discarded."
},
"activities": {
"type": "array",
"items": {
"type": "object",
"required": [
"general_issue_code",
"filing_uuid",
"activity_index",
"client_id",
"registrant_id"
],
"properties": {
"client_id": {
"type": "string",
"description": "Client relationship ID."
},
"lobbyists": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaActivityLobbyist"
},
"description": "All disclosed participants."
},
"description": {
"type": [
"string",
"null"
],
"description": "Complete specific-issues description."
},
"filing_uuid": {
"type": "string",
"description": "Parent filing UUID."
},
"registrant_id": {
"type": "string",
"description": "Registrant ID."
},
"activity_index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Original activity index."
},
"general_issue_code": {
"type": "string",
"description": "Official general issue code."
},
"government_entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Disclosed government entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "All targeted government entities."
},
"foreign_entity_issues": {
"type": [
"string",
"null"
],
"description": "Disclosed foreign issues."
}
},
"description": "Selected activity and parent relationship IDs.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "Selected activities in this window; no money columns."
},
"issue_code": {
"type": "string",
"description": "Requested issue membership code."
},
"query_tool": {
"type": "string",
"const": "uslobbying_dataframe_query",
"description": "Query or retrieve materialized table rows."
},
"selections": {
"type": "array",
"items": {
"type": "object",
"required": [
"candidate_filing_uuids",
"client_id",
"registrant_id",
"period",
"year",
"superseded_filing_uuids",
"selection_method",
"status"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Report year."
},
"period": {
"type": "string",
"description": "Report period."
},
"status": {
"enum": [
"selected",
"ambiguous",
"excluded"
],
"type": "string",
"description": "Selection outcome."
},
"client_id": {
"type": [
"string",
"null"
],
"description": "Relationship client."
},
"registrant_id": {
"type": [
"string",
"null"
],
"description": "Relationship registrant."
},
"exclusion_reason": {
"enum": [
"registration",
"non_quarterly",
"unknown_variant",
"missing_relationship"
],
"type": "string",
"description": "Why excluded."
},
"selection_method": {
"type": "string",
"const": "latest_posted_within_relationship_period",
"description": "Analytical selection rule, not legal lineage."
},
"selected_filing_uuid": {
"type": "string",
"description": "Unambiguous selected UUID."
},
"candidate_filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Latest candidates."
},
"superseded_filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Earlier versions."
}
},
"description": "Latest-version selection and excluded candidates.",
"additionalProperties": false
},
"description": "Version-selection decisions in this window."
},
"attribution": {
"type": "string",
"description": "Required verbatim attribution for LDA data."
},
"issue_codes": {
"type": "array",
"items": {
"type": "object",
"required": [
"issue_code",
"filing_uuids",
"annual_ledgers"
],
"properties": {
"issue_code": {
"type": "string",
"description": "Issue code."
},
"filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Matching report UUIDs."
},
"annual_ledgers": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaAnnualLedger"
},
"description": "Overlapping issue ledgers."
}
},
"description": "Issue membership, not allocated spending.",
"additionalProperties": false
},
"description": "Overlapping issue breakdowns in this window."
},
"methodology": {
"type": "object",
"required": [
"selection_method",
"issue_buckets_overlap",
"amounts_are_separate",
"client_identity"
],
"properties": {
"client_identity": {
"type": "string",
"const": "caller_selected_relationships",
"description": "No corporate identity is inferred."
},
"selection_method": {
"type": "string",
"const": "latest_posted_within_relationship_period",
"description": "Latest posting within relationship and quarter."
},
"amounts_are_separate": {
"type": "boolean",
"const": true,
"description": "Never combine income and expenses."
},
"issue_buckets_overlap": {
"type": "boolean",
"const": true,
"description": "Do not sum issue buckets."
}
},
"description": "Accounting limitations.",
"additionalProperties": false
},
"next_cursor": {
"type": "string",
"description": "Next acquisition or output window cursor."
},
"raw_filings": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaFiling"
},
"description": "All acquired versions in this window, including selected versions."
},
"retrieved_at": {
"type": "string",
"description": "Retrieval ISO timestamp."
},
"describe_tool": {
"type": "string",
"const": "uslobbying_dataframe_describe",
"description": "Inspect exact table schemas before SQL."
},
"record_window": {
"oneOf": [
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"entries"
],
"properties": {
"kind": {
"type": "string",
"const": "object",
"description": "Object-entry window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"path"
],
"properties": {
"key": {
"type": "string",
"description": "Original key."
},
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Key and pointer; value only when it fits.",
"additionalProperties": false
},
"description": "Key-ordered object window."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Complete or deferred object children.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"const": "array",
"description": "Array-item window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Original child index."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Original index and child pointer.",
"additionalProperties": false
},
"description": "Indexed array window."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Array items preserving original indexes.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "string",
"description": "Unicode text window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"text": {
"type": "string",
"description": "Complete-code-point text fragment."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unicode-code-point text fragment.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"value"
],
"properties": {
"kind": {
"type": "string",
"const": "scalar",
"description": "Complete scalar value."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"value": {
"anyOf": [
{
"type": "null",
"description": "Null value."
},
{
"type": "boolean",
"description": "Boolean value."
},
{
"type": "number",
"description": "Finite numeric value."
}
],
"description": "Exact scalar value."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unfragmented non-text scalar.",
"additionalProperties": false
}
],
"description": "Lossless stored parent window."
},
"total_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact final record count when known."
},
"annual_ledgers": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaAnnualLedger"
},
"description": "Complete-year ledgers in this window; absent while collecting."
},
"record_handles": {
"type": "array",
"items": {
"type": "object",
"required": [
"record_handle",
"source_id",
"record_bytes",
"expires_at",
"retrieval_tool"
],
"properties": {
"source_id": {
"type": "string",
"description": "Original source identity."
},
"expires_at": {
"type": "string",
"description": "Retained parent expiry ISO timestamp."
},
"record_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Serialized parent UTF-8 bytes."
},
"record_handle": {
"type": "string",
"description": "Opaque retained parent handle."
},
"retrieval_tool": {
"type": "string",
"description": "Source tool for record windows."
}
},
"description": "Deferred parent retrieval.",
"additionalProperties": false
},
"description": "Deferred complete parents."
},
"retrieval_tool": {
"type": "string",
"description": "Tool that retrieves this parent."
},
"row_set_totals": {
"type": "object",
"required": [
"annual_ledgers",
"selections",
"firms",
"issue_codes",
"targeted_entities",
"selected_filings",
"activities",
"raw_filings"
],
"properties": {
"firms": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Firm breakdown records."
},
"activities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected activity records."
},
"selections": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Version-selection decisions."
},
"issue_codes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Issue breakdown records."
},
"raw_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Acquired filing versions."
},
"annual_ledgers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Annual ledger records."
},
"selected_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected filing records."
},
"targeted_entities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Targeted entity records."
}
},
"description": "Exact all-set totals after acquisition completes.",
"additionalProperties": false
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"output_complete": {
"type": "boolean",
"description": "Whether all result rows have been delivered."
},
"row_set_offsets": {
"type": "object",
"required": [
"annual_ledgers",
"selections",
"firms",
"issue_codes",
"targeted_entities",
"selected_filings",
"activities",
"raw_filings"
],
"properties": {
"firms": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Firm breakdown records."
},
"activities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected activity records."
},
"selections": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Version-selection decisions."
},
"issue_codes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Issue breakdown records."
},
"raw_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Acquired filing versions."
},
"annual_ledgers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Annual ledger records."
},
"selected_filings": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Selected filing records."
},
"targeted_entities": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Targeted entity records."
}
},
"description": "Selected-set rows delivered or deferred before this window; others zero.",
"additionalProperties": false
},
"canvas_available": {
"type": "boolean",
"description": "SQL canvas support is enabled."
},
"records_deferred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Oversized parents available through handles."
},
"records_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Complete records delivered in this window."
},
"selected_filings": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaFiling"
},
"description": "Complete selected filings in this window."
},
"attribution_basis": {
"type": "string",
"const": "whole_filing_mentions_issue",
"description": "Whole filings mentioning an issue; buckets overlap."
},
"cursor_expires_at": {
"type": "string",
"description": "Continuation expiry ISO timestamp."
},
"effective_filters": {
"type": "object",
"description": "Normalized effective scope.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"targeted_entities": {
"type": "array",
"items": {
"type": "object",
"required": [
"entity",
"filing_uuids"
],
"properties": {
"entity": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Targeted entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"filing_uuids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Source reports."
}
},
"description": "Government entity and supporting filings.",
"additionalProperties": false
},
"description": "Targeted entities in this window."
},
"snapshot_source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official snapshot URLs."
},
"snapshot_retrieved_at": {
"type": "string",
"description": "FARA snapshot retrieval timestamp."
},
"snapshot_last_modified": {
"type": "string",
"description": "Upstream Last-Modified header."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}uslobbying_search_lobbyists — Uslobbying Search Lobbyists
Find lobbyists by name or registrant in mode search, then retrieve filing-scoped evidence with mode activity, lobbyist_id and filing_year. Pass an evidence filing_uuid to uslobbying_search_filings for the complete filing. Covered positions are disclosed text, not verified present employment. Activity mode checks the requested lobbyist locally. Follow next_cursor for all results.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"enum": [
"search",
"activity"
],
"type": "string",
"description": "search (default) finds identities by name or registrant; activity requires lobbyist_id and filing_year. Omit with cursor."
},
"name": {
"type": "string",
"description": "Lobbyist identity name substring."
},
"cursor": {
"type": "string",
"description": "Continue the original scope; other query fields may be omitted."
},
"client_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Optional activity client relationship record ID from candidates[].id in uslobbying_get_client_profile resolve mode; candidates[].client_id is secondary."
},
"max_pages": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Source pages per call; positive integers clamp to five, default one for discovery, five for analysis."
},
"page_size": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Upstream rows per page; positive integers clamp to 25, default 25."
},
"filing_year": {
"type": "integer",
"maximum": 2026,
"minimum": 1999,
"description": "Required report year in activity mode."
},
"lobbyist_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Required in activity mode."
},
"record_path": {
"type": "string",
"default": "",
"description": "JSON Pointer to a stored value; empty selects the root."
},
"record_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum object entries or array items, clamped to 25; text fragments use the response byte budget."
},
"record_handle": {
"type": "string",
"description": "Tenant/tool-bound deferred record handle."
},
"record_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Key, item or Unicode-code-point offset."
},
"registrant_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant identity ID."
},
"registrant_name": {
"type": "string",
"description": "Registrant identity name substring."
},
"covered_positions_only": {
"type": "boolean",
"description": "Activity only: require this lobbyist’s nonblank covered-position disclosure."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
},
"LdaLobbyist": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist identifier."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Source last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Source first name."
},
"registrant": {
"$ref": "#/$defs/LdaRegistrant",
"description": "Registrant embedded by identity search."
},
"middle_name": {
"type": [
"string",
"null"
],
"description": "Source middle name."
}
},
"description": "Disclosed lobbyist identity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaRegistrant": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant identifier."
},
"name": {
"type": "string",
"description": "Source registrant name."
},
"description": {
"type": [
"string",
"null"
],
"description": "Reported business description."
},
"house_registrant_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "House identifier when supplied."
}
},
"description": "Registrant relationship and disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaActivityLobbyist": {
"type": "object",
"required": [
"lobbyist"
],
"properties": {
"new": {
"type": [
"boolean",
"null"
],
"description": "Source new-lobbyist flag."
},
"lobbyist": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist identifier."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Source last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Source first name."
},
"middle_name": {
"type": [
"string",
"null"
],
"description": "Source middle name."
}
},
"description": "Filing identity; registrant comes from the parent. All source fields are retained.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"covered_position": {
"type": [
"string",
"null"
],
"description": "Reported covered-position text, not verified employment."
}
},
"description": "Filing-scoped lobbyist participation.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaLobbyingActivity": {
"type": "object",
"required": [
"general_issue_code"
],
"properties": {
"lobbyists": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaActivityLobbyist"
},
"description": "All disclosed participants."
},
"description": {
"type": [
"string",
"null"
],
"description": "Complete specific-issues description."
},
"general_issue_code": {
"type": "string",
"description": "Official general issue code."
},
"government_entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Official entity ID."
},
"name": {
"type": [
"string",
"null"
],
"description": "Source entity name."
}
},
"description": "Disclosed government entity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "All targeted government entities."
},
"foreign_entity_issues": {
"type": [
"string",
"null"
],
"description": "Disclosed foreign issues."
}
},
"description": "Complete reported lobbying activity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"source",
"retrieved_at",
"effective_filters",
"notices",
"coverage"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"enum": [
"search",
"activity"
],
"type": "string",
"description": "Resolved operation."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"cursor_invalid",
"acquisition_storage_unavailable",
"pagination_invalid",
"source_schema_changed"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: Invalid scope, identifier, reference code or mode combination. `cursor_invalid`: Unknown, expired, stale or mismatched continuation. `acquisition_storage_unavailable`: Storage cannot safely retain a checkpoint. `pagination_invalid`: Invalid or nonprogressing upstream pagination. `source_schema_changed`: Successful source response violates its verified schema. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Final record delivery offset."
},
"source": {
"enum": [
"lda",
"fara"
],
"type": "string",
"description": "Official source system."
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limitations and success notices."
},
"coverage": {
"type": "object",
"required": [
"complete",
"pages_fetched",
"records_fetched",
"unique_records",
"started_at"
],
"properties": {
"complete": {
"type": "boolean",
"description": "Whether every source partition has been exhausted."
},
"started_at": {
"type": "string",
"description": "Acquisition start ISO timestamp."
},
"finished_at": {
"type": "string",
"description": "Acquisition end ISO timestamp."
},
"next_cursor": {
"type": "string",
"description": "Opaque acquisition or output continuation."
},
"pages_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Committed upstream pages fetched."
},
"unique_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unique acquired source records."
},
"upstream_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Latest partition counts summed only when all are known; includes duplicates, not an immutable snapshot."
},
"records_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows before UUID deduplication."
}
},
"description": "Acquisition progress, independent of delivery.",
"additionalProperties": false
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"required": [
"lobbyist",
"filing_uuid",
"filing_year",
"filing_period",
"filing_type",
"dt_posted",
"registrant_id",
"client_id",
"activity_index",
"lobbyist_index",
"general_issue_code",
"activity"
],
"properties": {
"new": {
"type": [
"boolean",
"null"
],
"description": "Source new-lobbyist flag."
},
"activity": {
"$ref": "#/$defs/LdaLobbyingActivity",
"description": "Complete matched activity."
},
"lobbyist": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist identifier."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Source last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Source first name."
},
"middle_name": {
"type": [
"string",
"null"
],
"description": "Source middle name."
}
},
"description": "Filing identity; registrant comes from the parent. All source fields are retained.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"client_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string source relationship identifier."
},
{
"type": "null"
}
],
"description": "Parent client relationship."
},
"dt_posted": {
"type": "string",
"description": "Parent posting time."
},
"filing_type": {
"type": "string",
"description": "Parent report type."
},
"filing_uuid": {
"type": "string",
"description": "Parent filing UUID."
},
"filing_year": {
"type": "integer",
"maximum": 2026,
"minimum": 1999,
"description": "Parent report year."
},
"filing_period": {
"type": "string",
"description": "Parent period."
},
"registrant_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string source relationship identifier."
},
{
"type": "null"
}
],
"description": "Parent registrant."
},
"activity_index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Original activity index."
},
"lobbyist_index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Original participant index."
},
"covered_position": {
"type": [
"string",
"null"
],
"description": "Reported covered-position text, not verified employment."
},
"general_issue_code": {
"type": "string",
"description": "Activity issue code."
},
"filing_document_url": {
"type": [
"string",
"null"
],
"description": "Returned document URL."
}
},
"description": "Complete filing-scoped lobbyist evidence.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "Matched filing-based participant evidence in activity mode."
},
"lobbyists": {
"type": "array",
"items": {
"$ref": "#/$defs/LdaLobbyist"
},
"description": "Complete identity records in search mode."
},
"truncated": {
"type": "boolean",
"description": "More of the parent value remains available through record windows."
},
"attribution": {
"type": "string",
"description": "Required verbatim attribution for LDA data."
},
"next_cursor": {
"type": "string",
"description": "Next acquisition or output window cursor."
},
"retrieved_at": {
"type": "string",
"description": "Retrieval ISO timestamp."
},
"record_window": {
"oneOf": [
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"entries"
],
"properties": {
"kind": {
"type": "string",
"const": "object",
"description": "Object-entry window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"path"
],
"properties": {
"key": {
"type": "string",
"description": "Original key."
},
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Key and pointer; value only when it fits.",
"additionalProperties": false
},
"description": "Key-ordered object window."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Complete or deferred object children.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"const": "array",
"description": "Array-item window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Original child index."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Original index and child pointer.",
"additionalProperties": false
},
"description": "Indexed array window."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Array items preserving original indexes.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "string",
"description": "Unicode text window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"text": {
"type": "string",
"description": "Complete-code-point text fragment."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unicode-code-point text fragment.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"value"
],
"properties": {
"kind": {
"type": "string",
"const": "scalar",
"description": "Complete scalar value."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"value": {
"anyOf": [
{
"type": "null",
"description": "Null value."
},
{
"type": "boolean",
"description": "Boolean value."
},
{
"type": "number",
"description": "Finite numeric value."
}
],
"description": "Exact scalar value."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unfragmented non-text scalar.",
"additionalProperties": false
}
],
"description": "Lossless stored parent window."
},
"total_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact final record count when known."
},
"record_handles": {
"type": "array",
"items": {
"type": "object",
"required": [
"record_handle",
"source_id",
"record_bytes",
"expires_at",
"retrieval_tool"
],
"properties": {
"source_id": {
"type": "string",
"description": "Original source identity."
},
"expires_at": {
"type": "string",
"description": "Retained parent expiry ISO timestamp."
},
"record_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Serialized parent UTF-8 bytes."
},
"record_handle": {
"type": "string",
"description": "Opaque retained parent handle."
},
"retrieval_tool": {
"type": "string",
"description": "Source tool for record windows."
}
},
"description": "Deferred parent retrieval.",
"additionalProperties": false
},
"description": "Deferred complete parents."
},
"retrieval_tool": {
"type": "string",
"description": "Tool that retrieves this parent."
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"output_complete": {
"type": "boolean",
"description": "Whether all result rows have been delivered."
},
"records_deferred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Oversized parents available through handles."
},
"records_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Complete records delivered in this window."
},
"cursor_expires_at": {
"type": "string",
"description": "Continuation expiry ISO timestamp."
},
"effective_filters": {
"type": "object",
"description": "Normalized effective scope.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"snapshot_source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official snapshot URLs."
},
"snapshot_retrieved_at": {
"type": "string",
"description": "FARA snapshot retrieval timestamp."
},
"snapshot_last_modified": {
"type": "string",
"description": "Upstream Last-Modified header."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}uslobbying_get_contributions — Uslobbying Get Contributions
Retrieve complete semiannual LD-203 reports, contributions, PAC relationships and certifications, preserving original and amended reports. Child predicates must match the same item; full parent contribution lists and matched_item_indexes remain available. Report counts are not donation counts and no cross-report donation total is inferred.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"payee": {
"type": "string",
"description": "Case-insensitive literal payee substring."
},
"cursor": {
"type": "string",
"description": "Continue the original scope; other query fields may be omitted."
},
"honoree": {
"type": "string",
"description": "Case-insensitive literal honoree substring."
},
"max_pages": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Source pages per call; positive integers clamp to five, default one for discovery, five for analysis."
},
"page_size": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Upstream rows per page; positive integers clamp to 25, default 25."
},
"amount_max": {
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$",
"description": "Inclusive local same-item maximum exact decimal USD; complete parent lists remain available."
},
"amount_min": {
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$",
"description": "Inclusive local same-item minimum exact decimal USD; complete parent lists remain available."
},
"contributor": {
"type": "string",
"description": "Case-insensitive literal contributor substring."
},
"filing_year": {
"type": "integer",
"maximum": 2026,
"minimum": 2008,
"description": "Required first-call reporting year, 2008 through current UTC year."
},
"lobbyist_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist filer ID."
},
"record_path": {
"type": "string",
"default": "",
"description": "JSON Pointer to a stored value; empty selects the root."
},
"record_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum object entries or array items, clamped to 25; text fragments use the response byte budget."
},
"filing_period": {
"enum": [
"mid_year",
"year_end"
],
"type": "string",
"description": "Semiannual period."
},
"lobbyist_name": {
"type": "string",
"description": "Lobbyist name upstream search."
},
"record_handle": {
"type": "string",
"description": "Tenant/tool-bound deferred record handle."
},
"record_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Key, item or Unicode-code-point offset."
},
"registrant_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant ID."
},
"registrant_name": {
"type": "string",
"description": "Registrant name upstream search."
},
"contribution_type": {
"type": "string",
"description": "Official feca, he, me, ple or pic payment code."
},
"contribution_date_after": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Inclusive earliest item calendar date."
},
"contribution_date_before": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "Inclusive latest item calendar date."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
},
"LdaLobbyist": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lobbyist identifier."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Source last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Source first name."
},
"registrant": {
"$ref": "#/$defs/LdaRegistrant",
"description": "Registrant embedded by identity search."
},
"middle_name": {
"type": [
"string",
"null"
],
"description": "Source middle name."
}
},
"description": "Disclosed lobbyist identity.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"LdaRegistrant": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Registrant identifier."
},
"name": {
"type": "string",
"description": "Source registrant name."
},
"description": {
"type": [
"string",
"null"
],
"description": "Reported business description."
},
"house_registrant_id": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d+$",
"description": "Digit-string identifier; leading zeroes are meaningful."
},
{
"type": "null"
}
],
"description": "House identifier when supplied."
}
},
"description": "Registrant relationship and disclosures.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"source",
"retrieved_at",
"effective_filters",
"notices",
"coverage"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"cursor_invalid",
"acquisition_storage_unavailable",
"pagination_invalid",
"source_schema_changed"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: Invalid scope, identifier, reference code or mode combination. `cursor_invalid`: Unknown, expired, stale or mismatched continuation. `acquisition_storage_unavailable`: Storage cannot safely retain a checkpoint. `pagination_invalid`: Invalid or nonprogressing upstream pagination. `source_schema_changed`: Successful source response violates its verified schema. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Final record delivery offset."
},
"source": {
"enum": [
"lda",
"fara"
],
"type": "string",
"description": "Official source system."
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limitations and success notices."
},
"reports": {
"type": "array",
"items": {
"type": "object",
"required": [
"filing_uuid",
"filing_type",
"filing_year",
"filing_period",
"dt_posted",
"contribution_items"
],
"properties": {
"pacs": {
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
},
"description": "All disclosed PAC relationships."
},
"comments": {
"type": [
"string",
"null"
],
"description": "Complete source comments."
},
"lobbyist": {
"anyOf": [
{
"$ref": "#/$defs/LdaLobbyist"
},
{
"type": "null"
}
],
"description": "Reported lobbyist filer."
},
"dt_posted": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Source posting timestamp used in analytical selection."
},
"filer_type": {
"type": [
"string",
"null"
],
"description": "Source filer category."
},
"registrant": {
"anyOf": [
{
"$ref": "#/$defs/LdaRegistrant"
},
{
"type": "null"
}
],
"description": "Reported registrant."
},
"filing_type": {
"type": "string",
"description": "Official filing type, including amendments."
},
"filing_uuid": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Filing UUID."
},
"filing_year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Reported filing year."
},
"filing_period": {
"type": "string",
"description": "Source quarterly or semiannual period."
},
"no_contributions": {
"type": [
"boolean",
"null"
],
"description": "Source no-contribution declaration."
},
"contribution_items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": [
"string",
"null"
],
"description": "Reported contribution calendar date."
},
"amount": {
"anyOf": [
{
"type": "string",
"pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
},
{
"type": "null"
}
],
"description": "Exact reported USD amount."
},
"payee_name": {
"type": [
"string",
"null"
],
"description": "Disclosed payee."
},
"honoree_name": {
"type": [
"string",
"null"
],
"description": "Disclosed honoree."
},
"contributor_name": {
"type": [
"string",
"null"
],
"description": "Disclosed contributor."
},
"contribution_type": {
"type": [
"string",
"null"
],
"description": "Source payment category."
}
},
"description": "One contribution item within its parent report.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "Complete child list, never a filtered subset."
},
"filing_document_url": {
"type": [
"string",
"null"
],
"description": "Official filing-document URL."
},
"matched_item_indexes": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"description": "Derived indexes satisfying all local child predicates."
},
"filing_document_content_type": {
"type": [
"string",
"null"
],
"description": "Source document media type."
}
},
"description": "Complete contribution report and child lists.",
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "Full parent reports and complete child lists."
},
"coverage": {
"type": "object",
"required": [
"complete",
"pages_fetched",
"records_fetched",
"unique_records",
"started_at"
],
"properties": {
"complete": {
"type": "boolean",
"description": "Whether every source partition has been exhausted."
},
"started_at": {
"type": "string",
"description": "Acquisition start ISO timestamp."
},
"finished_at": {
"type": "string",
"description": "Acquisition end ISO timestamp."
},
"next_cursor": {
"type": "string",
"description": "Opaque acquisition or output continuation."
},
"pages_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Committed upstream pages fetched."
},
"unique_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unique acquired source records."
},
"upstream_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Latest partition counts summed only when all are known; includes duplicates, not an immutable snapshot."
},
"records_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows before UUID deduplication."
}
},
"description": "Acquisition progress, independent of delivery.",
"additionalProperties": false
},
"truncated": {
"type": "boolean",
"description": "More of the parent value remains available through record windows."
},
"attribution": {
"type": "string",
"description": "Required verbatim attribution for LDA data."
},
"next_cursor": {
"type": "string",
"description": "Next acquisition or output window cursor."
},
"retrieved_at": {
"type": "string",
"description": "Retrieval ISO timestamp."
},
"record_window": {
"oneOf": [
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"entries"
],
"properties": {
"kind": {
"type": "string",
"const": "object",
"description": "Object-entry window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"path"
],
"properties": {
"key": {
"type": "string",
"description": "Original key."
},
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Key and pointer; value only when it fits.",
"additionalProperties": false
},
"description": "Key-ordered object window."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Complete or deferred object children.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"const": "array",
"description": "Array-item window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Original child index."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Original index and child pointer.",
"additionalProperties": false
},
"description": "Indexed array window."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Array items preserving original indexes.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "string",
"description": "Unicode text window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"text": {
"type": "string",
"description": "Complete-code-point text fragment."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unicode-code-point text fragment.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"value"
],
"properties": {
"kind": {
"type": "string",
"const": "scalar",
"description": "Complete scalar value."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"value": {
"anyOf": [
{
"type": "null",
"description": "Null value."
},
{
"type": "boolean",
"description": "Boolean value."
},
{
"type": "number",
"description": "Finite numeric value."
}
],
"description": "Exact scalar value."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unfragmented non-text scalar.",
"additionalProperties": false
}
],
"description": "Lossless stored parent window."
},
"total_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact final record count when known."
},
"record_handles": {
"type": "array",
"items": {
"type": "object",
"required": [
"record_handle",
"source_id",
"record_bytes",
"expires_at",
"retrieval_tool"
],
"properties": {
"source_id": {
"type": "string",
"description": "Original source identity."
},
"expires_at": {
"type": "string",
"description": "Retained parent expiry ISO timestamp."
},
"record_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Serialized parent UTF-8 bytes."
},
"record_handle": {
"type": "string",
"description": "Opaque retained parent handle."
},
"retrieval_tool": {
"type": "string",
"description": "Source tool for record windows."
}
},
"description": "Deferred parent retrieval.",
"additionalProperties": false
},
"description": "Deferred complete parents."
},
"retrieval_tool": {
"type": "string",
"description": "Tool that retrieves this parent."
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"output_complete": {
"type": "boolean",
"description": "Whether all result rows have been delivered."
},
"amendment_policy": {
"type": "string",
"const": "all_versions",
"description": "Amendments remain separate reports."
},
"records_deferred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Oversized parents available through handles."
},
"records_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Complete records delivered in this window."
},
"cursor_expires_at": {
"type": "string",
"description": "Continuation expiry ISO timestamp."
},
"effective_filters": {
"type": "object",
"description": "Normalized effective scope.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"item_count_in_batch": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Items in returned complete parent lists."
},
"snapshot_source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official snapshot URLs."
},
"report_count_in_batch": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Complete parent reports returned."
},
"snapshot_retrieved_at": {
"type": "string",
"description": "FARA snapshot retrieval timestamp."
},
"snapshot_last_modified": {
"type": "string",
"description": "Upstream Last-Modified header."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}uslobbying_search_foreign_agents — Search foreign agents
Search official FARA daily registrant or foreign-principal snapshots, or retrieve one registration principal, short-form or document collection. Follow cursors to pinned local windows; principal status differs from registrant status. Disclosure records do not establish wrongdoing or influence.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"enum": [
"search",
"detail"
],
"type": "string",
"description": "Search daily snapshots or fetch one registration detail collection; defaults to search."
},
"cursor": {
"type": "string",
"minLength": 1,
"description": "Opaque continuation; original filters may be omitted or repeated unchanged."
},
"detail": {
"enum": [
"foreign_principals",
"short_forms",
"documents"
],
"type": "string",
"description": "Detail collection, default foreign_principals; unavailable in search mode."
},
"entity": {
"enum": [
"registrants",
"foreign_principals"
],
"type": "string",
"description": "Search entity, default registrants; unavailable in detail mode."
},
"status": {
"enum": [
"active",
"terminated",
"all"
],
"type": "string",
"description": "Selected entity status, default active; documents require all."
},
"country": {
"type": "string",
"description": "Exact represented country/location label, foreign-principal search only."
},
"page_size": {
"type": "number",
"minimum": 1,
"multipleOf": 1,
"description": "Maximum records in one local output window; positive integers clamp to 25, default 25."
},
"record_path": {
"type": "string",
"default": "",
"description": "JSON Pointer to a stored value; empty selects the root."
},
"record_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum object entries or array items, clamped to 25; text fragments use the response byte budget."
},
"name_contains": {
"type": "string",
"description": "Search-only literal case-insensitive token-AND match over entity names."
},
"record_handle": {
"type": "string",
"minLength": 1,
"description": "Opaque tenant/tool-bound deferred record handle; exclusive with source selectors and cursor."
},
"record_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Key, item or Unicode-code-point offset."
},
"registration_number": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lossless digit-string registration number, required for detail mode."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"source",
"retrieved_at",
"effective_filters",
"notices",
"coverage",
"truncated"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"mode": {
"enum": [
"search",
"detail"
],
"type": "string",
"description": "Original acquisition mode."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"cursor_invalid",
"acquisition_storage_unavailable",
"source_schema_changed",
"snapshot_unavailable",
"source_rate_limited",
"result_too_large"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: Required detail identifier is absent, selectors conflict, or country/status is invalid. `cursor_invalid`: Continuation or record handle is unavailable, expired or belongs to another scope. `acquisition_storage_unavailable`: Retained-data capacity prevents a safe checkpoint. `source_schema_changed`: A source response violates the verified schema or uses an unsupported redirect. `snapshot_unavailable`: Required bulk snapshot cannot be downloaded or decoded. `source_rate_limited`: FARA returns HTTP 429 after bounded retries. `result_too_large`: Complete result metadata exceeds the response window. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"detail": {
"enum": [
"foreign_principals",
"short_forms",
"documents"
],
"type": "string",
"description": "Selected detail collection."
},
"entity": {
"enum": [
"registrants",
"foreign_principals"
],
"type": "string",
"description": "Selected search entity."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position in the pinned result set."
},
"source": {
"enum": [
"lda",
"fara"
],
"type": "string",
"description": "Official source system."
},
"status": {
"enum": [
"active",
"terminated",
"all"
],
"type": "string",
"description": "Effective selected entity status."
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limitations and success notices."
},
"records": {
"type": "array",
"items": {
"type": "object",
"required": [
"registration_number",
"name",
"entity",
"listing_url",
"raw"
],
"properties": {
"raw": {
"type": "object",
"description": "Complete validated source record, original keys and values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"name": {
"type": "string",
"description": "Selected entity name."
},
"entity": {
"enum": [
"registrants",
"foreign_principals",
"short_forms",
"documents"
],
"type": "string",
"description": "Record grain."
},
"status": {
"enum": [
"active",
"terminated"
],
"type": "string",
"description": "Selected entity status; omitted for documents."
},
"country": {
"type": [
"string",
"null"
],
"description": "Source represented country/location label; never guessed ISO code."
},
"last_name": {
"type": [
"string",
"null"
],
"description": "Disclosed short-form last name."
},
"first_name": {
"type": [
"string",
"null"
],
"description": "Disclosed short-form first name."
},
"listing_url": {
"type": "string",
"description": "Official registrant listing URL."
},
"date_stamped": {
"type": [
"string",
"null"
],
"description": "Normalized document stamped calendar date if known."
},
"document_url": {
"type": "string",
"description": "Official URL returned by document source."
},
"document_type": {
"type": [
"string",
"null"
],
"description": "Source document classification."
},
"registrant_name": {
"type": [
"string",
"null"
],
"description": "Related registrant name."
},
"short_form_name": {
"type": [
"string",
"null"
],
"description": "Individual named by a document."
},
"date_stamped_raw": {
"type": [
"string",
"null"
],
"description": "Original document stamped date."
},
"termination_date": {
"type": [
"string",
"null"
],
"description": "Selected entity calendar termination date if known."
},
"registrant_status": {
"enum": [
"active",
"terminated"
],
"type": "string",
"description": "Separate registrant status when known."
},
"registration_date": {
"type": [
"string",
"null"
],
"description": "Normalized calendar registration date if known."
},
"registration_number": {
"type": "string",
"pattern": "^\\d+$",
"description": "Lossless normalized registration number."
},
"termination_date_raw": {
"type": [
"string",
"null"
],
"description": "Source termination date spelling."
},
"registration_date_raw": {
"type": [
"string",
"null"
],
"description": "Source registration date spelling."
},
"foreign_principal_name": {
"type": [
"string",
"null"
],
"description": "Principal named by a document."
}
},
"description": "FARA entity with complete original source fields.",
"additionalProperties": false
},
"description": "Complete normalized parent records delivered in this window."
},
"coverage": {
"type": "object",
"required": [
"complete",
"pages_fetched",
"records_fetched",
"unique_records",
"started_at"
],
"properties": {
"complete": {
"type": "boolean",
"description": "Whether every source partition has been exhausted."
},
"started_at": {
"type": "string",
"description": "Acquisition start ISO timestamp."
},
"finished_at": {
"type": "string",
"description": "Acquisition end ISO timestamp."
},
"next_cursor": {
"type": "string",
"description": "Opaque acquisition or output continuation."
},
"pages_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Committed upstream pages fetched."
},
"unique_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unique acquired source records."
},
"upstream_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Latest partition counts summed only when all are known; includes duplicates, not an immutable snapshot."
},
"records_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows before UUID deduplication."
}
},
"description": "Acquisition progress, independent of delivery.",
"additionalProperties": false
},
"truncated": {
"type": "boolean",
"description": "More data is available through next_cursor, record_handles or record windows; no source data was discarded."
},
"attribution": {
"type": "string",
"description": "Required verbatim attribution for LDA data."
},
"next_cursor": {
"type": "string",
"description": "Opaque next local result window."
},
"source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official source URLs actually acquired."
},
"retrieved_at": {
"type": "string",
"description": "Retrieval ISO timestamp."
},
"record_window": {
"oneOf": [
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"entries"
],
"properties": {
"kind": {
"type": "string",
"const": "object",
"description": "Object-entry window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"path"
],
"properties": {
"key": {
"type": "string",
"description": "Original key."
},
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Key and pointer; value only when it fits.",
"additionalProperties": false
},
"description": "Key-ordered object window."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Complete or deferred object children.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"const": "array",
"description": "Array-item window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Original child index."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Original index and child pointer.",
"additionalProperties": false
},
"description": "Indexed array window."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Array items preserving original indexes.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "string",
"description": "Unicode text window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"text": {
"type": "string",
"description": "Complete-code-point text fragment."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unicode-code-point text fragment.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"value"
],
"properties": {
"kind": {
"type": "string",
"const": "scalar",
"description": "Complete scalar value."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"value": {
"anyOf": [
{
"type": "null",
"description": "Null value."
},
{
"type": "boolean",
"description": "Boolean value."
},
{
"type": "number",
"description": "Finite numeric value."
}
],
"description": "Exact scalar value."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unfragmented non-text scalar.",
"additionalProperties": false
}
],
"description": "Exact recursive window of a retained parent."
},
"total_matches": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact matched records in the pinned acquisition."
},
"record_handles": {
"type": "array",
"items": {
"type": "object",
"required": [
"record_handle",
"source_id",
"record_bytes",
"expires_at",
"retrieval_tool"
],
"properties": {
"source_id": {
"type": "string",
"description": "Original source identity."
},
"expires_at": {
"type": "string",
"description": "Retained parent expiry ISO timestamp."
},
"record_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Serialized parent UTF-8 bytes."
},
"record_handle": {
"type": "string",
"description": "Opaque retained parent handle."
},
"retrieval_tool": {
"type": "string",
"description": "Source tool for record windows."
}
},
"description": "Deferred parent retrieval.",
"additionalProperties": false
},
"description": "Retained oversized parents, excluded from full records delivered."
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"output_complete": {
"type": "boolean",
"description": "Whether every matched parent has been delivered or deferred."
},
"records_deferred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Oversized parents represented by handles."
},
"records_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Full records delivered in this window."
},
"cursor_expires_at": {
"type": "string",
"description": "Continuation expiry ISO timestamp."
},
"effective_filters": {
"type": "object",
"description": "Normalized effective scope.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"snapshot_source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official snapshot URLs."
},
"snapshot_retrieved_at": {
"type": "string",
"description": "FARA snapshot retrieval timestamp."
},
"snapshot_last_modified": {
"type": "string",
"description": "Upstream Last-Modified header."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}uslobbying_list_reference — Uslobbying List Reference
List official issue codes, filing types, government entities, contribution types and countries, or explain identifiers, methodology and FARA rules. Optional filter performs case-insensitive literal token-AND matching across the complete vocabulary. Follow next_cursor for pinned result windows; retrieve oversized entries with this tool using record_handle and record_path. Countries include separately attributed LDA codes and FARA source labels; FARA labels are not guessed ISO codes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"topic": {
"enum": [
"issue_codes",
"filing_types",
"government_entities",
"contribution_types",
"countries",
"identifiers",
"methodology",
"fara_rules"
],
"type": "string",
"description": "Vocabulary or explanatory topic; required on the first call."
},
"cursor": {
"type": "string",
"minLength": 1,
"description": "Pinned continuation; omit original topic/filter or repeat them unchanged."
},
"filter": {
"type": "string",
"description": "Every whitespace-separated token must occur literally in an entry."
},
"record_path": {
"type": "string",
"default": "",
"description": "JSON Pointer to a stored value; empty selects the root."
},
"record_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum object entries or array items, clamped to 25; text fragments use the response byte budget."
},
"record_handle": {
"type": "string",
"description": "Tenant/tool-bound deferred record handle."
},
"record_offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Key, item or Unicode-code-point offset."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"topic",
"total_entries",
"matched_entries",
"retrieved_at",
"source_urls",
"notices",
"truncated"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"cursor_invalid",
"acquisition_storage_unavailable",
"result_too_large",
"source_schema_changed",
"snapshot_unavailable"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: Topic is missing, continuation scope changes, or record selectors conflict or select an invalid path. `cursor_invalid`: A cursor or record handle is unavailable, expired or belongs to another tenant or tool. `acquisition_storage_unavailable`: Storage cannot retain the complete vocabulary or its checkpoint safely. `result_too_large`: Complete metadata leaves no space for a result window. `source_schema_changed`: Source vocabulary violates its verified schema. `snapshot_unavailable`: Required FARA country snapshot is unavailable. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"topic": {
"enum": [
"issue_codes",
"filing_types",
"government_entities",
"contribution_types",
"countries",
"identifiers",
"methodology",
"fara_rules"
],
"type": "string",
"description": "Requested vocabulary."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position in the pinned filtered vocabulary."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"name",
"source"
],
"properties": {
"name": {
"type": "string",
"description": "Source label or explanation title."
},
"value": {
"type": "string",
"description": "Official code or explanatory identifier."
},
"source": {
"enum": [
"lda",
"fara",
"methodology"
],
"type": "string",
"description": "Vocabulary source."
},
"description": {
"type": "string",
"description": "Interpretation and limitations."
}
},
"description": "One attributed vocabulary entry or methodology explanation.",
"additionalProperties": false
},
"description": "Complete entries delivered in this pinned vocabulary window."
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Source limitations and empty-result recovery."
},
"truncated": {
"type": "boolean",
"description": "More entries or deferred record values remain retrievable."
},
"next_cursor": {
"type": "string",
"description": "Opaque continuation of the pinned vocabulary."
},
"source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official source references."
},
"retrieved_at": {
"type": "string",
"description": "Vocabulary retrieval timestamp."
},
"record_window": {
"oneOf": [
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"entries"
],
"properties": {
"kind": {
"type": "string",
"const": "object",
"description": "Object-entry window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"entries": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"path"
],
"properties": {
"key": {
"type": "string",
"description": "Original key."
},
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Key and pointer; value only when it fits.",
"additionalProperties": false
},
"description": "Key-ordered object window."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Complete or deferred object children.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"items"
],
"properties": {
"kind": {
"type": "string",
"const": "array",
"description": "Array-item window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"index",
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Child JSON Pointer."
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Original child index."
},
"value": {
"$ref": "#/$defs/__schema0",
"description": "Whole child value only when it fits."
}
},
"description": "Original index and child pointer.",
"additionalProperties": false
},
"description": "Indexed array window."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Array items preserving original indexes.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "string",
"description": "Unicode text window."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"text": {
"type": "string",
"description": "Complete-code-point text fragment."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unicode-code-point text fragment.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"record_handle",
"path",
"total",
"offset",
"returned",
"complete",
"kind",
"value"
],
"properties": {
"kind": {
"type": "string",
"const": "scalar",
"description": "Complete scalar value."
},
"path": {
"type": "string",
"description": "Selected JSON Pointer."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Total keys, items or code points at this path."
},
"value": {
"anyOf": [
{
"type": "null",
"description": "Null value."
},
{
"type": "boolean",
"description": "Boolean value."
},
{
"type": "number",
"description": "Finite numeric value."
}
],
"description": "Exact scalar value."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position."
},
"complete": {
"type": "boolean",
"description": "This path and included children are fully delivered."
},
"returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Delivered entries or code points."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered position."
},
"record_handle": {
"type": "string",
"description": "Stored parent handle."
}
},
"description": "Unfragmented non-text scalar.",
"additionalProperties": false
}
],
"description": "Exact recursive window of a deferred vocabulary entry."
},
"total_entries": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Entries before local filtering."
},
"record_handles": {
"type": "array",
"items": {
"type": "object",
"required": [
"record_handle",
"source_id",
"record_bytes",
"expires_at",
"retrieval_tool"
],
"properties": {
"source_id": {
"type": "string",
"description": "Original source identity."
},
"expires_at": {
"type": "string",
"description": "Retained parent expiry ISO timestamp."
},
"record_bytes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Serialized parent UTF-8 bytes."
},
"record_handle": {
"type": "string",
"description": "Opaque retained parent handle."
},
"retrieval_tool": {
"type": "string",
"description": "Source tool for record windows."
}
},
"description": "Deferred parent retrieval.",
"additionalProperties": false
},
"description": "Oversized entries retrievable through this same tool."
},
"retrieval_tool": {
"type": "string",
"const": "uslobbying_list_reference",
"description": "Tool used to retrieve deferred vocabulary entries."
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"matched_entries": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Entries matching every literal filter token."
},
"output_complete": {
"type": "boolean",
"description": "Every matched entry has been delivered or deferred."
},
"records_deferred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Oversized entries retained behind handles."
},
"records_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Complete entries delivered in this window."
},
"cursor_expires_at": {
"type": "string",
"description": "Absolute expiry of retained entries and continuations."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}uslobbying_dataframe_query — Query disclosure tables
Run one read-only SELECT over staged disclosure tables, materialize the complete result, then retrieve whole rows by result_table and next_offset without rerunning SQL. Inspect columns with uslobbying_dataframe_describe first.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"canvas_id"
],
"properties": {
"sql": {
"type": "string",
"minLength": 1,
"description": "One read-only SELECT; exclusive with result_table and offset."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Canonical row offset for result_table, default zero."
},
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Canvas token returned by a disclosure analytical tool."
},
"row_limit": {
"type": "number",
"default": 25,
"minimum": 1,
"multipleOf": 1,
"description": "Maximum whole rows in this response; positive integers clamp to 100, then to any lower provider ceiling."
},
"register_as": {
"type": "string",
"minLength": 1,
"description": "Fresh result table name for a new SQL call; omit for a generated name."
},
"result_table": {
"type": "string",
"minLength": 1,
"description": "Previously materialized result table; exclusive with sql and register_as."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"canvas_id",
"describe_tool",
"query_tool",
"guidance",
"dataset",
"result_table",
"columns",
"rows",
"row_count",
"rows_returned",
"offset",
"output_complete",
"truncated",
"row_order"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"rows": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"description": "Whole JSON-safe rows."
},
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"invalid_filter",
"canvas_unavailable",
"canvas_not_found",
"missing_table",
"invalid_sql",
"sql_parse_error",
"sql_execution_error",
"non_select_statement",
"multi_statement",
"denied_function",
"sql_read_only",
"plan_operator_not_allowed",
"register_as_clash",
"query_row_too_large"
],
"description": "Machine-readable failure mode. Declared by this tool: `invalid_filter`: New SQL and result-table selectors are missing or combined. `canvas_unavailable`: Canvas is not configured. `canvas_not_found`: Canvas token is unknown or expired. `missing_table`: Named table is absent or expired. `invalid_sql`: SQL binding fails. `sql_parse_error`: SQL parsing fails. `sql_execution_error`: SQL execution or conversion fails. `non_select_statement`: SQL is not SELECT. `multi_statement`: SQL contains multiple statements. `denied_function`: SQL uses a prohibited function. `sql_read_only`: SQL violates read-only execution. `plan_operator_not_allowed`: SQL plan contains a prohibited operator. `register_as_clash`: Requested result name already exists. `query_row_too_large`: One complete row or metadata exceeds the wire budget. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Canonical-order starting row offset."
},
"columns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type",
"nullable"
],
"properties": {
"name": {
"type": "string",
"description": "Column name."
},
"type": {
"type": "string",
"description": "Provider column type."
},
"nullable": {
"type": "boolean",
"description": "Whether null values are permitted."
}
},
"description": "Provider column.",
"additionalProperties": false
},
"description": "Complete result schema."
},
"dataset": {
"type": "object",
"required": [
"canvas_id",
"describe_tool",
"query_tool",
"guidance",
"tables"
],
"properties": {
"tables": {
"type": "array",
"items": {
"type": "object",
"required": [
"table_name",
"row_count",
"columns",
"grain",
"complete",
"created_at",
"expires_at"
],
"properties": {
"grain": {
"type": "string",
"description": "Meaning of one row; activity rows have no money."
},
"columns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type",
"nullable"
],
"properties": {
"name": {
"type": "string",
"description": "Column name."
},
"type": {
"type": "string",
"description": "Provider column type."
},
"nullable": {
"type": "boolean",
"description": "Whether null values are permitted."
}
},
"description": "Provider column.",
"additionalProperties": false
},
"description": "Explicit complete schema."
},
"complete": {
"type": "boolean",
"description": "Whether every intended row is registered."
},
"row_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact registered row count."
},
"created_at": {
"type": "string",
"description": "Table creation ISO timestamp."
},
"expires_at": {
"type": "string",
"description": "Table expiry ISO timestamp."
},
"table_name": {
"type": "string",
"description": "Registered table name."
}
},
"description": "Complete table metadata.",
"additionalProperties": false
},
"description": "Dataset tables."
},
"guidance": {
"type": "string",
"description": "Table names and dataframe instructions."
},
"canvas_id": {
"type": "string",
"description": "Tenant-scoped canvas access token."
},
"query_tool": {
"type": "string",
"const": "uslobbying_dataframe_query",
"description": "Query or retrieve materialized table rows."
},
"describe_tool": {
"type": "string",
"const": "uslobbying_dataframe_describe",
"description": "Inspect exact table schemas before SQL."
}
},
"description": "Materialized dataset and routing.",
"additionalProperties": false
},
"guidance": {
"type": "string",
"description": "Table names and dataframe instructions."
},
"canvas_id": {
"type": "string",
"description": "Tenant-scoped canvas access token."
},
"row_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact materialized result count."
},
"row_order": {
"type": "string",
"const": "canonical_values",
"description": "Delivery orders by all materialized values."
},
"truncated": {
"type": "boolean",
"description": "More materialized rows remain; continue with next_offset."
},
"query_tool": {
"type": "string",
"const": "uslobbying_dataframe_query",
"description": "Query or retrieve materialized table rows."
},
"next_offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Next undelivered row offset."
},
"result_table": {
"type": "string",
"description": "Stable materialized result table."
},
"describe_tool": {
"type": "string",
"const": "uslobbying_dataframe_describe",
"description": "Inspect exact table schemas before SQL."
},
"rows_returned": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows actually delivered."
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"output_complete": {
"type": "boolean",
"description": "Whether this result has no remaining delivery rows."
},
"effective_row_limit": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Effective row limit when a delivery or provider ceiling lowers the requested limit.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}uslobbying_dataframe_describe — Describe disclosure tables
Inspect exact staged table schemas, row counts, lifecycle, acquisition coverage and provenance before SQL.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"canvas_id"
],
"properties": {
"canvas_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{10}$",
"description": "Canvas token returned by an analytical disclosure tool."
},
"table_name": {
"type": "string",
"minLength": 1,
"description": "Existing table to inspect; omit for every table in this canvas."
}
},
"additionalProperties": false
}{
"type": "object",
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
}
]
}
},
"anyOf": [
{
"not": {
"required": [
"error"
]
},
"required": [
"canvas_id",
"describe_tool",
"query_tool",
"guidance",
"tables"
]
},
{
"required": [
"error"
]
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"error": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "JSON-RPC error code for this failure."
},
"data": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"examples": [
"query_row_too_large",
"canvas_unavailable",
"canvas_not_found",
"missing_table"
],
"description": "Machine-readable failure mode. Declared by this tool: `query_row_too_large`: Complete table metadata exceeds the result byte budget. `canvas_unavailable`: Canvas is not configured. `canvas_not_found`: Canvas token is unknown or expired. `missing_table`: Named table is absent or expired. Other values are possible when a failure originates below the handler."
},
"recovery": {
"type": "object",
"required": [
"hint"
],
"properties": {
"hint": {
"type": "string"
}
},
"description": "Actionable next step for the caller.",
"additionalProperties": {}
},
"retryable": {
"type": "boolean",
"description": "Whether retrying may succeed."
}
},
"additionalProperties": {}
},
"message": {
"type": "string",
"description": "Human-readable description of what went wrong."
}
},
"description": "Present when the call failed. Absent on success.",
"additionalProperties": {}
},
"tables": {
"type": "array",
"items": {
"type": "object",
"required": [
"table_name",
"row_count",
"columns",
"grain",
"complete",
"created_at",
"expires_at",
"source_tool"
],
"properties": {
"sql": {
"type": "string",
"description": "SQL that materialized a derived table."
},
"grain": {
"type": "string",
"description": "Meaning of one row; activity rows have no money."
},
"columns": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type",
"nullable"
],
"properties": {
"name": {
"type": "string",
"description": "Column name."
},
"type": {
"type": "string",
"description": "Provider column type."
},
"nullable": {
"type": "boolean",
"description": "Whether null values are permitted."
}
},
"description": "Provider column.",
"additionalProperties": false
},
"description": "Explicit complete schema."
},
"complete": {
"type": "boolean",
"description": "Whether every intended row is registered."
},
"row_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Exact registered row count."
},
"created_at": {
"type": "string",
"description": "Table creation ISO timestamp."
},
"expires_at": {
"type": "string",
"description": "Table expiry ISO timestamp."
},
"provenance": {
"type": "object",
"required": [
"source",
"retrieved_at",
"effective_filters",
"notices",
"coverage"
],
"properties": {
"source": {
"enum": [
"lda",
"fara"
],
"type": "string",
"description": "Official source system."
},
"notices": {
"type": "array",
"items": {
"type": "string"
},
"description": "Limitations and success notices."
},
"coverage": {
"type": "object",
"required": [
"complete",
"pages_fetched",
"records_fetched",
"unique_records",
"started_at"
],
"properties": {
"complete": {
"type": "boolean",
"description": "Whether every source partition has been exhausted."
},
"started_at": {
"type": "string",
"description": "Acquisition start ISO timestamp."
},
"finished_at": {
"type": "string",
"description": "Acquisition end ISO timestamp."
},
"next_cursor": {
"type": "string",
"description": "Opaque acquisition or output continuation."
},
"pages_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Committed upstream pages fetched."
},
"unique_records": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unique acquired source records."
},
"upstream_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Latest partition counts summed only when all are known; includes duplicates, not an immutable snapshot."
},
"records_fetched": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Rows before UUID deduplication."
}
},
"description": "Acquisition progress, independent of delivery.",
"additionalProperties": false
},
"attribution": {
"type": "string",
"description": "Required verbatim attribution for LDA data."
},
"retrieved_at": {
"type": "string",
"description": "Retrieval ISO timestamp."
},
"delivery_limits": {
"type": "object",
"description": "Clamped controls for this call; an empty map means no clamp. Immediate cursor replay retains its original values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"requested",
"effective"
],
"properties": {
"effective": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Applied delivery ceiling.",
"exclusiveMinimum": 0
},
"requested": {
"type": "number",
"multipleOf": 1,
"description": "Caller-requested positive integer.",
"exclusiveMinimum": 0
}
},
"description": "Requested and effective delivery control.",
"additionalProperties": false
}
},
"cursor_expires_at": {
"type": "string",
"description": "Continuation expiry ISO timestamp."
},
"effective_filters": {
"type": "object",
"description": "Normalized effective scope.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/$defs/__schema0"
}
},
"snapshot_source_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Official snapshot URLs."
},
"snapshot_retrieved_at": {
"type": "string",
"description": "FARA snapshot retrieval timestamp."
},
"snapshot_last_modified": {
"type": "string",
"description": "Upstream Last-Modified header."
}
},
"description": "Original disclosure acquisition provenance.",
"additionalProperties": false
},
"table_name": {
"type": "string",
"description": "Registered table name."
},
"source_tool": {
"type": "string",
"description": "Tool that created this table."
}
},
"description": "Table schema, lifecycle, source provenance and materializing SQL.",
"additionalProperties": false
},
"description": "Complete table metadata, or an empty array for an empty canvas."
},
"guidance": {
"type": "string",
"description": "Table names and dataframe instructions."
},
"canvas_id": {
"type": "string",
"description": "Tenant-scoped canvas access token."
},
"query_tool": {
"type": "string",
"const": "uslobbying_dataframe_query",
"description": "Query or retrieve materialized table rows."
},
"describe_tool": {
"type": "string",
"const": "uslobbying_dataframe_describe",
"description": "Inspect exact table schemas before SQL."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}Prompts
0 advertised
Resources
0 advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 633 ms
- 95th percentile latency
- 633 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 633 ms · metadata changed · 9 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http us-lobbying-mcp-server-caseyjhand https://us-lobbying.caseyjhand.com/mcpCodex
codex mcp add us-lobbying-mcp-server-caseyjhand --url https://us-lobbying.caseyjhand.com/mcpCursor
{
"mcpServers": {
"us-lobbying-mcp-server-caseyjhand": {
"url": "https://us-lobbying.caseyjhand.com/mcp"
}
}
}Cline
{
"mcpServers": {
"us-lobbying-mcp-server-caseyjhand": {
"type": "streamableHttp",
"url": "https://us-lobbying.caseyjhand.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"us-lobbying-mcp-server-caseyjhand": {
"type": "http",
"url": "https://us-lobbying.caseyjhand.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http us-lobbying-mcp-server-caseyjhand https://us-lobbying.caseyjhand.com/mcpClaude Desktop
{
"mcpServers": {
"us-lobbying-mcp-server-caseyjhand": {
"url": "https://us-lobbying.caseyjhand.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"us-lobbying-mcp-server-caseyjhand": {
"serverUrl": "https://us-lobbying.caseyjhand.com/mcp"
}
}
}Let your agent find its tools
Find servers like us-lobbying-mcp-server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.