{
  "openapi": "3.1.0",
  "info": {
    "title": "Ezana API",
    "version": "1.0.0",
    "description": "Signals from public disclosures: congressional trades, committees, lobbying, campaign finance, federal contracts, prediction markets and SEC filings. Endpoints marked x-status: roadmap return 501.",
    "contact": {
      "name": "Ezana API",
      "email": "api@ezana.world",
      "url": "https://ezana.world/ezana-api"
    },
    "license": {
      "name": "Ezana data license",
      "url": "https://ezana.world/terms-of-service"
    }
  },
  "servers": [
    {
      "url": "https://ezana.world"
    }
  ],
  "security": [
    {
      "bearer": []
    }
  ],
  "tags": [
    {
      "name": "Congressional trading",
      "description": "Insider-flow signal: what informed, access-rich actors are trading, structured for signal extraction, not just raw disclosures."
    },
    {
      "name": "Lobbying & influence",
      "description": "Influence-flow signal: map corporate influence spend to sector and price exposure before the thesis is consensus."
    },
    {
      "name": "Campaign finance (FEC)",
      "description": "Political-capital signal: who funds whom, tied back to the sectors and issuers with the most at stake."
    },
    {
      "name": "Government contracts (USAspending)",
      "description": "Revenue-visibility signal: federal award flow mapped to publicly traded recipients, ahead of guidance."
    },
    {
      "name": "Prediction markets",
      "description": "Consensus and odds signal: real-money probabilities for the events your positions are exposed to."
    },
    {
      "name": "Institutional & insider (SEC)",
      "description": "Smart-money signal: what large funds hold and add, who takes activist stakes, and what insiders buy and sell."
    },
    {
      "name": "News engineering",
      "description": "News structured, entity-tagged and linked to tickers, events and odds so headlines become machine-usable features."
    },
    {
      "name": "Market data & signals",
      "description": "The price layer and composite features. Prices stay on the roadmap until a licence allows redistribution."
    },
    {
      "name": "Cross-dimensional signals",
      "description": "Joins across influence, capital and consensus that no single-vendor feed can reconstruct."
    },
    {
      "name": "Trend relationships & lead-lag",
      "description": "Which trend leads which, by how long, and when the usual link breaks."
    }
  ],
  "paths": {
    "/v1/congress/trades": {
      "get": {
        "operationId": "congress_trades",
        "summary": "Disclosed House and Senate trades, filterable by member, ticker, party, chamber and trade date, newest trade first.",
        "tags": [
          "Congressional trading"
        ],
        "x-status": "live",
        "x-scope": "congress",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "member",
            "in": "query",
            "required": false,
            "description": "Bioguide id of a member of Congress (for example P000197).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "party",
            "in": "query",
            "required": false,
            "description": "Party: D, R or I.",
            "schema": {
              "type": "string",
              "enum": [
                "D",
                "R",
                "I"
              ]
            }
          },
          {
            "name": "chamber",
            "in": "query",
            "required": false,
            "description": "house or senate.",
            "schema": {
              "type": "string",
              "enum": [
                "house",
                "senate"
              ]
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "min_amount",
            "in": "query",
            "required": false,
            "description": "Minimum amount in USD.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "member": {
                            "type": "object"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "transaction": {
                            "type": "string"
                          },
                          "amount_min": {
                            "type": "number"
                          },
                          "amount_max": {
                            "type": "number"
                          },
                          "owner": {
                            "type": "string"
                          },
                          "traded_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "disclosed_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "disclosure_lag_days": {
                            "type": "integer"
                          },
                          "source": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/congress/trades/{id}": {
      "get": {
        "operationId": "congress_trade",
        "summary": "A single disclosure with its filing date and disclosure lag.",
        "tags": [
          "Congressional trading"
        ],
        "x-status": "live",
        "x-scope": "congress",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "member": {
                          "type": "object"
                        },
                        "ticker": {
                          "type": "string"
                        },
                        "asset": {
                          "type": "string"
                        },
                        "transaction": {
                          "type": "string"
                        },
                        "amount_min": {
                          "type": "number"
                        },
                        "amount_max": {
                          "type": "number"
                        },
                        "owner": {
                          "type": "string"
                        },
                        "traded_at": {
                          "type": "string",
                          "format": "date"
                        },
                        "disclosed_at": {
                          "type": "string",
                          "format": "date"
                        },
                        "disclosure_lag_days": {
                          "type": "integer"
                        },
                        "source": {
                          "type": "string"
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/congress/members": {
      "get": {
        "operationId": "congress_members",
        "summary": "Members of Congress with party, chamber, state and district.",
        "tags": [
          "Congressional trading"
        ],
        "x-status": "live",
        "x-scope": "congress",
        "parameters": [
          {
            "name": "party",
            "in": "query",
            "required": false,
            "description": "Party: D, R or I.",
            "schema": {
              "type": "string",
              "enum": [
                "D",
                "R",
                "I"
              ]
            }
          },
          {
            "name": "chamber",
            "in": "query",
            "required": false,
            "description": "house or senate.",
            "schema": {
              "type": "string",
              "enum": [
                "house",
                "senate"
              ]
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Text search over names or questions.",
            "schema": {
              "type": "string",
              "maxLength": 120
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "bioguide_id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "first_name": {
                            "type": "string"
                          },
                          "last_name": {
                            "type": "string"
                          },
                          "chamber": {
                            "type": "string"
                          },
                          "party": {
                            "type": "string"
                          },
                          "state": {
                            "type": "string"
                          },
                          "district": {
                            "type": "integer"
                          },
                          "in_office": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/congress/members/{id}/trades": {
      "get": {
        "operationId": "congress_member_trades",
        "summary": "Full trade history for one member (bioguide id), newest first.",
        "tags": [
          "Congressional trading"
        ],
        "x-status": "live",
        "x-scope": "congress",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "min_amount",
            "in": "query",
            "required": false,
            "description": "Minimum amount in USD.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "member": {
                            "type": "object"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "transaction": {
                            "type": "string"
                          },
                          "amount_min": {
                            "type": "number"
                          },
                          "amount_max": {
                            "type": "number"
                          },
                          "owner": {
                            "type": "string"
                          },
                          "traded_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "disclosed_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "disclosure_lag_days": {
                            "type": "integer"
                          },
                          "source": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/congress/committees": {
      "get": {
        "operationId": "congress_committees",
        "summary": "Committees and subcommittees with their seat counts.",
        "tags": [
          "Congressional trading"
        ],
        "x-status": "live",
        "x-scope": "committees",
        "parameters": [
          {
            "name": "chamber",
            "in": "query",
            "required": false,
            "description": "house or senate.",
            "schema": {
              "type": "string",
              "enum": [
                "house",
                "senate"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "chamber": {
                            "type": "string"
                          },
                          "parent_id": {
                            "type": "string"
                          },
                          "is_subcommittee": {
                            "type": "boolean"
                          },
                          "seats": {
                            "type": "integer"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/congress/committees/{id}/activity": {
      "get": {
        "operationId": "congress_committee_activity",
        "summary": "Trades in the last 12 months by the committee's members, newest first. The committee itself is in meta.committee.",
        "tags": [
          "Congressional trading"
        ],
        "x-status": "live",
        "x-scope": "committees",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "member": {
                            "type": "object"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "asset": {
                            "type": "string"
                          },
                          "transaction": {
                            "type": "string"
                          },
                          "amount_min": {
                            "type": "number"
                          },
                          "amount_max": {
                            "type": "number"
                          },
                          "owner": {
                            "type": "string"
                          },
                          "traded_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "disclosed_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "disclosure_lag_days": {
                            "type": "integer"
                          },
                          "source": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/congress/signals/insider-flow": {
      "get": {
        "operationId": "v1_congress_signals_insider_flow",
        "summary": "Pre-computed insider-flow score per ticker, ranking names by informed-actor accumulation.",
        "tags": [
          "Congressional trading"
        ],
        "x-status": "roadmap",
        "x-scope": "congress",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/lobbying/filings": {
      "get": {
        "operationId": "lobbying_filings",
        "summary": "Lobbying Disclosure Act filings by registrant and client with reported spend, newest posted first.",
        "tags": [
          "Lobbying & influence"
        ],
        "x-status": "live",
        "x-scope": "lobbying",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Text search over names or questions.",
            "schema": {
              "type": "string",
              "maxLength": 120
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "min_amount",
            "in": "query",
            "required": false,
            "description": "Minimum amount in USD.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "uuid": {
                            "type": "string"
                          },
                          "filing_year": {
                            "type": "integer"
                          },
                          "period": {
                            "type": "string"
                          },
                          "filing_type": {
                            "type": "string"
                          },
                          "registrant": {
                            "type": "object"
                          },
                          "client": {
                            "type": "object"
                          },
                          "amount": {
                            "type": "number"
                          },
                          "lobbyist_count": {
                            "type": "integer"
                          },
                          "issue_areas": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "posted_at": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "document_url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/lobbying/filings/{uuid}": {
      "get": {
        "operationId": "lobbying_filing",
        "summary": "One filing with its issue areas, lobbyist count and reported spend.",
        "tags": [
          "Lobbying & influence"
        ],
        "x-status": "live",
        "x-scope": "lobbying",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "uuid": {
                          "type": "string"
                        },
                        "filing_year": {
                          "type": "integer"
                        },
                        "period": {
                          "type": "string"
                        },
                        "filing_type": {
                          "type": "string"
                        },
                        "registrant": {
                          "type": "object"
                        },
                        "client": {
                          "type": "object"
                        },
                        "amount": {
                          "type": "number"
                        },
                        "lobbyist_count": {
                          "type": "integer"
                        },
                        "issue_areas": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "posted_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "document_url": {
                          "type": "string"
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/lobbying/top-spenders": {
      "get": {
        "operationId": "lobbying_top_spenders",
        "summary": "Clients ranked by reported lobbying spend in a calendar year.",
        "tags": [
          "Lobbying & influence"
        ],
        "x-status": "live",
        "x-scope": "lobbying",
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "required": false,
            "description": "Calendar year (default: the current year).",
            "schema": {
              "type": "integer",
              "minimum": 1999,
              "maximum": 2100
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "client": {
                            "type": "string"
                          },
                          "client_id": {
                            "type": "integer"
                          },
                          "filings": {
                            "type": "integer"
                          },
                          "amount": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/lobbying/clients/{id}": {
      "get": {
        "operationId": "v1_lobbying_clients_id",
        "summary": "Spend history and issue exposure for a single client.",
        "tags": [
          "Lobbying & influence"
        ],
        "x-status": "roadmap",
        "x-scope": "lobbying",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/lobbying/issues/mix": {
      "get": {
        "operationId": "v1_lobbying_issues_mix",
        "summary": "Breakdown of spend by issue area.",
        "tags": [
          "Lobbying & influence"
        ],
        "x-status": "roadmap",
        "x-scope": "lobbying",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/lobbying/registrants/{id}": {
      "get": {
        "operationId": "v1_lobbying_registrants_id",
        "summary": "Activity for a lobbying firm across its client book.",
        "tags": [
          "Lobbying & influence"
        ],
        "x-status": "roadmap",
        "x-scope": "lobbying",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/lobbying/signals/policy-exposure": {
      "get": {
        "operationId": "v1_lobbying_signals_policy_exposure",
        "summary": "Per-ticker policy-exposure score blending spend, issues and contract adjacency.",
        "tags": [
          "Lobbying & influence"
        ],
        "x-status": "roadmap",
        "x-scope": "lobbying",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/fec/candidates/{id}/funding": {
      "get": {
        "operationId": "fec_candidate_funding",
        "summary": "Funding totals for a candidate by cycle. The id is a bioguide id or an FEC candidate id.",
        "tags": [
          "Campaign finance (FEC)"
        ],
        "x-status": "live",
        "x-scope": "fec",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "bioguide_id": {
                            "type": "string"
                          },
                          "candidate_id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "party": {
                            "type": "string"
                          },
                          "office": {
                            "type": "string"
                          },
                          "state": {
                            "type": "string"
                          },
                          "cycle": {
                            "type": "integer"
                          },
                          "receipts": {
                            "type": "number"
                          },
                          "disbursements": {
                            "type": "number"
                          },
                          "cash_on_hand": {
                            "type": "number"
                          },
                          "individual_contributions": {
                            "type": "number"
                          },
                          "pac_contributions": {
                            "type": "number"
                          },
                          "debts": {
                            "type": "number"
                          },
                          "coverage_start": {
                            "type": "string",
                            "format": "date"
                          },
                          "coverage_end": {
                            "type": "string",
                            "format": "date"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/fec/contributions": {
      "get": {
        "operationId": "v1_fec_contributions",
        "summary": "Itemized contributions by contributor, committee, cycle and employer.",
        "tags": [
          "Campaign finance (FEC)"
        ],
        "x-status": "roadmap",
        "x-scope": "fec",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/fec/committees/{id}": {
      "get": {
        "operationId": "v1_fec_committees_id",
        "summary": "A committee's receipts, disbursements and affiliations over a cycle.",
        "tags": [
          "Campaign finance (FEC)"
        ],
        "x-status": "roadmap",
        "x-scope": "fec",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/fec/signals/sector-giving": {
      "get": {
        "operationId": "v1_fec_signals_sector_giving",
        "summary": "Net political giving by sector as a directional signal.",
        "tags": [
          "Campaign finance (FEC)"
        ],
        "x-status": "roadmap",
        "x-scope": "fec",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/contracts/awards": {
      "get": {
        "operationId": "contracts_awards",
        "summary": "Federal contract awards by recipient, agency and action date, with the recipient's listed parent and ticker where known.",
        "tags": [
          "Government contracts (USAspending)"
        ],
        "x-status": "live",
        "x-scope": "contracts",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "agency",
            "in": "query",
            "required": false,
            "description": "Awarding agency name (case-insensitive match).",
            "schema": {
              "type": "string",
              "maxLength": 120
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Text search over names or questions.",
            "schema": {
              "type": "string",
              "maxLength": 120
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "min_amount",
            "in": "query",
            "required": false,
            "description": "Minimum amount in USD.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "piid": {
                            "type": "string"
                          },
                          "recipient": {
                            "type": "object"
                          },
                          "parent": {
                            "type": "string"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "is_public": {
                            "type": "boolean"
                          },
                          "amount": {
                            "type": "number"
                          },
                          "agency": {
                            "type": "string"
                          },
                          "sub_agency": {
                            "type": "string"
                          },
                          "action_date": {
                            "type": "string",
                            "format": "date"
                          },
                          "award_type": {
                            "type": "string"
                          },
                          "fiscal_year": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/contracts/recipients/{id}": {
      "get": {
        "operationId": "contracts_recipient",
        "summary": "Award history for one recipient (USAspending recipient id), newest first.",
        "tags": [
          "Government contracts (USAspending)"
        ],
        "x-status": "live",
        "x-scope": "contracts",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "piid": {
                            "type": "string"
                          },
                          "recipient": {
                            "type": "object"
                          },
                          "parent": {
                            "type": "string"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "is_public": {
                            "type": "boolean"
                          },
                          "amount": {
                            "type": "number"
                          },
                          "agency": {
                            "type": "string"
                          },
                          "sub_agency": {
                            "type": "string"
                          },
                          "action_date": {
                            "type": "string",
                            "format": "date"
                          },
                          "award_type": {
                            "type": "string"
                          },
                          "fiscal_year": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/contracts/agencies/{id}/spending": {
      "get": {
        "operationId": "v1_contracts_agencies_id_spending",
        "summary": "Spending by agency and program.",
        "tags": [
          "Government contracts (USAspending)"
        ],
        "x-status": "roadmap",
        "x-scope": "contracts",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/contracts/signals/award-momentum": {
      "get": {
        "operationId": "v1_contracts_signals_award_momentum",
        "summary": "Per-ticker award-momentum score.",
        "tags": [
          "Government contracts (USAspending)"
        ],
        "x-status": "roadmap",
        "x-scope": "contracts",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/predictions/markets": {
      "get": {
        "operationId": "predictions_markets",
        "summary": "Prediction markets with reported volume, largest first, with current odds.",
        "tags": [
          "Prediction markets"
        ],
        "x-status": "live",
        "x-scope": "predictions",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Text search over names or questions.",
            "schema": {
              "type": "string",
              "maxLength": 120
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "description": "Market status.",
            "schema": {
              "type": "string",
              "enum": [
                "active",
                "closed"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "question": {
                            "type": "string"
                          },
                          "category": {
                            "type": "string"
                          },
                          "platform": {
                            "type": "string"
                          },
                          "probability": {
                            "type": "number"
                          },
                          "volume": {
                            "type": "number"
                          },
                          "liquidity": {
                            "type": "number"
                          },
                          "ends_at": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "status": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/predictions/markets/{id}": {
      "get": {
        "operationId": "predictions_market",
        "summary": "One market with current odds, volume and liquidity.",
        "tags": [
          "Prediction markets"
        ],
        "x-status": "live",
        "x-scope": "predictions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "question": {
                          "type": "string"
                        },
                        "category": {
                          "type": "string"
                        },
                        "platform": {
                          "type": "string"
                        },
                        "probability": {
                          "type": "number"
                        },
                        "volume": {
                          "type": "number"
                        },
                        "liquidity": {
                          "type": "number"
                        },
                        "ends_at": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "status": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/predictions/markets/{id}/history": {
      "get": {
        "operationId": "v1_predictions_markets_id_history",
        "summary": "Point-in-time odds series for a market.",
        "tags": [
          "Prediction markets"
        ],
        "x-status": "roadmap",
        "x-scope": "predictions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/predictions/consensus": {
      "get": {
        "operationId": "v1_predictions_consensus",
        "summary": "Aggregated consensus probability across correlated markets for a theme.",
        "tags": [
          "Prediction markets"
        ],
        "x-status": "roadmap",
        "x-scope": "predictions",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/predictions/movers": {
      "get": {
        "operationId": "v1_predictions_movers",
        "summary": "Markets with the largest odds moves over a window.",
        "tags": [
          "Prediction markets"
        ],
        "x-status": "roadmap",
        "x-scope": "predictions",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/institutional/holdings": {
      "get": {
        "operationId": "institutional_holdings",
        "summary": "Form 13F holdings by filer, most recently loaded first. Tickers are mapped from CUSIP; unmapped securities carry the issuer name.",
        "tags": [
          "Institutional & insider (SEC)"
        ],
        "x-status": "live",
        "x-scope": "institutional",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "filer",
            "in": "query",
            "required": false,
            "description": "SEC CIK of the filer.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "filer": {
                            "type": "object"
                          },
                          "period": {
                            "type": "string",
                            "format": "date"
                          },
                          "filed_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "issuer": {
                            "type": "string"
                          },
                          "cusip": {
                            "type": "string"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "value": {
                            "type": "number"
                          },
                          "shares": {
                            "type": "number"
                          },
                          "share_type": {
                            "type": "string"
                          },
                          "put_call": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/institutional/activist-stakes": {
      "get": {
        "operationId": "institutional_activist_stakes",
        "summary": "Schedule 13D and 13G stakes, newest filed first.",
        "tags": [
          "Institutional & insider (SEC)"
        ],
        "x-status": "live",
        "x-scope": "institutional",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "accession_no": {
                            "type": "string"
                          },
                          "filer": {
                            "type": "object"
                          },
                          "form": {
                            "type": "string"
                          },
                          "filed_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "event_date": {
                            "type": "string",
                            "format": "date"
                          },
                          "company": {
                            "type": "string"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "percent_of_class": {
                            "type": "number"
                          },
                          "shares": {
                            "type": "number"
                          },
                          "is_amendment": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/institutional/whale-moves": {
      "get": {
        "operationId": "institutional_whale_moves",
        "summary": "Fund moves scored by conviction (position size against the filer's own book, newness and concentration), newest first.",
        "tags": [
          "Institutional & insider (SEC)"
        ],
        "x-status": "live",
        "x-scope": "institutional",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "quarter",
            "in": "query",
            "required": false,
            "description": "Reporting quarter, for example CY2026Q2.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "filer": {
                            "type": "object"
                          },
                          "ticker": {
                            "type": "string"
                          },
                          "issuer": {
                            "type": "string"
                          },
                          "quarter": {
                            "type": "string"
                          },
                          "change": {
                            "type": "string"
                          },
                          "value": {
                            "type": "number"
                          },
                          "conviction_pct": {
                            "type": "number"
                          },
                          "percent_of_class": {
                            "type": "number"
                          },
                          "whale_score": {
                            "type": "number"
                          },
                          "tier": {
                            "type": "string"
                          },
                          "form": {
                            "type": "string"
                          },
                          "filed_at": {
                            "type": "string",
                            "format": "date"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/insider/transactions": {
      "get": {
        "operationId": "insider_transactions",
        "summary": "Form 4 transactions by officers, directors and 10% owners, newest filed first.",
        "tags": [
          "Institutional & insider (SEC)"
        ],
        "x-status": "live",
        "x-scope": "insider",
        "parameters": [
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Filter to a symbol. Repeat for a universe (up to 20).",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 10
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "code",
            "in": "query",
            "required": false,
            "description": "Form 4 transaction code (P open-market buy, S sale, A award, M exercise, F tax withholding, G gift).",
            "schema": {
              "type": "string",
              "enum": [
                "P",
                "S",
                "A",
                "M",
                "F",
                "G",
                "D",
                "C",
                "X",
                "J"
              ]
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Inclusive start date (ISO 8601, for example 2026-01-01).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Inclusive end date (ISO 8601).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "min_amount",
            "in": "query",
            "required": false,
            "description": "Minimum amount in USD.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Page size, 1 to 200 (default 50).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from the previous page's page.next.",
            "schema": {
              "type": "string",
              "maxLength": 400
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "filed_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "issuer": {
                            "type": "object"
                          },
                          "insider": {
                            "type": "object"
                          },
                          "security": {
                            "type": "string"
                          },
                          "transaction_date": {
                            "type": "string",
                            "format": "date"
                          },
                          "code": {
                            "type": "string"
                          },
                          "acquired_disposed": {
                            "type": "string"
                          },
                          "shares": {
                            "type": "number"
                          },
                          "price": {
                            "type": "number"
                          },
                          "value": {
                            "type": "number"
                          },
                          "shares_owned_after": {
                            "type": "number"
                          },
                          "ownership": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "page": {
                      "$ref": "#/components/schemas/Page"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  },
                  "required": [
                    "data",
                    "meta"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/Error"
          },
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "403": {
            "$ref": "#/components/responses/Error"
          },
          "404": {
            "$ref": "#/components/responses/Error"
          },
          "429": {
            "$ref": "#/components/responses/Error"
          },
          "500": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/news/search": {
      "get": {
        "operationId": "v1_news_search",
        "summary": "Semantic search over structured, deduplicated articles.",
        "tags": [
          "News engineering"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/news/{id}/entities": {
      "get": {
        "operationId": "v1_news_id_entities",
        "summary": "Entities resolved from one article to tickers, people and issues.",
        "tags": [
          "News engineering"
        ],
        "x-status": "roadmap",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/news/{id}/related-markets": {
      "get": {
        "operationId": "v1_news_id_related_markets",
        "summary": "Prediction markets and securities an article is linked to.",
        "tags": [
          "News engineering"
        ],
        "x-status": "roadmap",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/news/signals/odds-moves": {
      "get": {
        "operationId": "v1_news_signals_odds_moves",
        "summary": "News items time-aligned to the odds moves they preceded.",
        "tags": [
          "News engineering"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/news/sentiment/by-entity": {
      "get": {
        "operationId": "v1_news_sentiment_by_entity",
        "summary": "Rolling entity-level sentiment from structured news flow.",
        "tags": [
          "News engineering"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/markets/quotes": {
      "get": {
        "operationId": "v1_markets_quotes",
        "summary": "Reference and end-of-day market data for a symbol universe.",
        "tags": [
          "Market data & signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/markets/signals": {
      "get": {
        "operationId": "v1_markets_signals",
        "summary": "Composite Ezana signals blending the datasets above into one score per name.",
        "tags": [
          "Market data & signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/signals/correlations": {
      "get": {
        "operationId": "v1_signals_correlations",
        "summary": "Relationships between datasets and price.",
        "tags": [
          "Market data & signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/signals/backtests/{id}": {
      "get": {
        "operationId": "v1_signals_backtests_id",
        "summary": "Point-in-time backtest results for a signal spec.",
        "tags": [
          "Market data & signals"
        ],
        "x-status": "roadmap",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/cross/influence-to-capital": {
      "get": {
        "operationId": "v1_cross_influence_to_capital",
        "summary": "Lobbying and campaign-finance spend against later institutional accumulation per issuer.",
        "tags": [
          "Cross-dimensional signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/cross/contract-to-insider": {
      "get": {
        "operationId": "v1_cross_contract_to_insider",
        "summary": "Federal contract momentum joined with insider buying on the awarded issuer.",
        "tags": [
          "Cross-dimensional signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/cross/policy-to-price": {
      "get": {
        "operationId": "v1_cross_policy_to_price",
        "summary": "Bill progression and agency rulings mapped onto the sector baskets they move.",
        "tags": [
          "Cross-dimensional signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/cross/consensus-vs-fundamentals": {
      "get": {
        "operationId": "v1_cross_consensus_vs_fundamentals",
        "summary": "Prediction-market odds against the fundamentals path for the same event.",
        "tags": [
          "Cross-dimensional signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/cross/demand-to-guidance": {
      "get": {
        "operationId": "v1_cross_demand_to_guidance",
        "summary": "Consumer demand signals against forward guidance and revisions.",
        "tags": [
          "Cross-dimensional signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/cross/macro-regime-overlay": {
      "get": {
        "operationId": "v1_cross_macro_regime_overlay",
        "summary": "Every signal tagged with the prevailing macro and geopolitical regime.",
        "tags": [
          "Cross-dimensional signals"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/cross/composite/{ticker}": {
      "get": {
        "operationId": "v1_cross_composite_ticker",
        "summary": "A per-ticker rollup of the cross-dimensional signals.",
        "tags": [
          "Cross-dimensional signals"
        ],
        "x-status": "roadmap",
        "parameters": [
          {
            "name": "ticker",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/relationships/lead-lag": {
      "get": {
        "operationId": "v1_relationships_lead_lag",
        "summary": "Estimated lead-lag between two dimension series for a ticker or sector.",
        "tags": [
          "Trend relationships & lead-lag"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/relationships/divergence": {
      "get": {
        "operationId": "v1_relationships_divergence",
        "summary": "Where two normally correlated dimensions have decoupled.",
        "tags": [
          "Trend relationships & lead-lag"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/relationships/confirmation": {
      "get": {
        "operationId": "v1_relationships_confirmation",
        "summary": "How many independent dimensions currently agree on a name.",
        "tags": [
          "Trend relationships & lead-lag"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/relationships/network/{entity}": {
      "get": {
        "operationId": "v1_relationships_network_entity",
        "summary": "The influence graph around an entity across dimensions.",
        "tags": [
          "Trend relationships & lead-lag"
        ],
        "x-status": "roadmap",
        "parameters": [
          {
            "name": "entity",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/relationships/regime-shift": {
      "get": {
        "operationId": "v1_relationships_regime_shift",
        "summary": "When a cross-dimensional relationship structurally changes.",
        "tags": [
          "Trend relationships & lead-lag"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    },
    "/v1/relationships/backtest": {
      "get": {
        "operationId": "v1_relationships_backtest",
        "summary": "Point-in-time backtest of a relationship with disclosure lag preserved.",
        "tags": [
          "Trend relationships & lead-lag"
        ],
        "x-status": "roadmap",
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error"
          },
          "501": {
            "$ref": "#/components/responses/Error"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearer": {
        "type": "http",
        "scheme": "bearer",
        "description": "Authorization: Bearer ezk_live_..."
      }
    },
    "schemas": {
      "Page": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer"
          },
          "has_more": {
            "type": "boolean"
          },
          "next": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "Meta": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string"
          },
          "source": {
            "type": [
              "string",
              "null"
            ]
          },
          "delayed_days": {
            "type": "integer"
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "invalid_param",
                  "invalid_key",
                  "not_in_scope",
                  "not_found",
                  "rate_limited",
                  "not_available",
                  "internal_error"
                ]
              },
              "status": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              },
              "docs": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "status",
              "message",
              "request_id"
            ]
          }
        }
      }
    },
    "responses": {
      "Error": {
        "description": "Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  },
  "x-tiers": [
    {
      "id": "developer",
      "rate_limit_per_min": 60,
      "delay_days": 30,
      "scopes": [
        "congress",
        "lobbying",
        "fec",
        "contracts",
        "predictions"
      ]
    },
    {
      "id": "trader",
      "rate_limit_per_min": 600,
      "delay_days": 0,
      "scopes": [
        "congress",
        "lobbying",
        "fec",
        "contracts",
        "predictions",
        "committees"
      ]
    },
    {
      "id": "quant_firm",
      "rate_limit_per_min": 1500,
      "delay_days": 0,
      "scopes": [
        "congress",
        "committees",
        "lobbying",
        "fec",
        "contracts",
        "predictions",
        "institutional",
        "insider"
      ]
    },
    {
      "id": "institution",
      "rate_limit_per_min": null,
      "delay_days": 0,
      "scopes": [
        "congress",
        "committees",
        "lobbying",
        "fec",
        "contracts",
        "predictions",
        "institutional",
        "insider"
      ]
    }
  ]
}