{
  "openapi": "3.1.0",
  "info": {
    "title": "FatCat Watch API",
    "version": "1.0.0",
    "summary": "US congressional (STOCK Act) and corporate-insider (SEC Form 4) stock trades, reproduced as filed. Congressional amounts are disclosed brackets, never exact figures; insider values are shares × the reported price.",
    "description": "Read-only public API over US congressional STOCK Act disclosures and SEC Form 4 insider trades. No key; GET only; CORS open.\n\n**Rules for quoting — every response repeats them in `meta.caveats`:**\n\n1. **Congressional amounts are ranges.** Congressional amounts are STOCK Act brackets (e.g. $1,001–$15,000), not figures: quote the range, never a single number.\n2. **Midpoints are estimates.** Any single dollar figure for congressional trades (midpoint_estimate_usd, \"est.\") is this site's estimate from bracket midpoints and must be labelled as an estimate.\n3. **The top bracket has no ceiling.** Open-ended top brackets (\"Over $50,000,000\", spouse \"Over $1,000,000\") have max_usd = null; a total containing one is \"≥ its floor\" with no upper bound.\n4. **Exact figures only when filed.** amount.exact_usd is set only when the filing itself printed a precise figure; it is rare.\n5. **Scanned paper filings stay out of totals.** Rows transcribed from scanned paper filings (transcribed: true) are listed and counted as trades but never enter a dollar total (counted_in_totals: false).\n6. **Disclosure delay is trade date to filing date.** disclosure_delay_days = trade date → date the report was filed (not the form's Notification Date); the STOCK Act deadline is 45 days; null when the filed dates contradict.\n7. **Dates are reproduced as filed.** Dates are as filed; a few are mistyped (e.g. future trade dates) and are flagged, never corrected.\n8. **Insider values are shares × reported price.** Form 4 values are shares × the price as filed (possibly a weighted average); an unpriced row has value null, never 0.\n9. **Congressional and insider data are never combined.** Congressional and corporate-insider data are separate datasets: never add, rank or average them together.\n10. **Recent weeks are incomplete.** Members have 45 days to disclose (and some file later), so recent periods are always under-reported.\n11. **The track record is a stock's move, not a profit.** Track-record figures are how a stock moved after a member's trade minus SPY over the same trading days, signed by direction, in points: never the member's profit, return or skill, and shrunk toward zero for small samples.\n12. **Not investment advice.** Public disclosures shown for information; not investment advice and not evidence of wrongdoing.\n\nFull context: https://www.fatcatwatch.com/llms-full.txt · Methodology: https://www.fatcatwatch.com/methodology",
    "license": {
      "name": "Public-domain source data (US government filings)",
      "identifier": "CC0-1.0"
    }
  },
  "externalDocs": {
    "description": "Methodology and rules for quoting",
    "url": "https://www.fatcatwatch.com/methodology"
  },
  "servers": [
    {
      "url": "https://www.fatcatwatch.com"
    }
  ],
  "security": [],
  "tags": [
    {
      "name": "congress",
      "description": "STOCK Act disclosures by members of Congress. Amounts are brackets."
    },
    {
      "name": "insiders",
      "description": "SEC Form 4 corporate-insider trades. Never combined with congressional data."
    },
    {
      "name": "meta",
      "description": "Index and coverage."
    }
  ],
  "paths": {
    "/api/v1": {
      "get": {
        "operationId": "getIndex",
        "tags": [
          "meta"
        ],
        "summary": "Endpoints, live coverage and caveats",
        "responses": {
          "200": {
            "description": "Index",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "version": {
                          "type": "string"
                        },
                        "endpoints": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "path": {
                                "type": "string"
                              },
                              "summary": {
                                "type": "string"
                              },
                              "example": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        },
                        "coverage": {
                          "$ref": "#/components/schemas/Coverage"
                        }
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/trades": {
      "get": {
        "operationId": "listTrades",
        "tags": [
          "congress"
        ],
        "summary": "Congressional trades, newest first",
        "description": "The feed's filters as query parameters. `meta.total` aggregates every matching row, not just the page returned: quote `meta.total.volume.disclosed` as the range; `midpoint_estimate_usd` is an estimate.",
        "parameters": [
          {
            "name": "member_id",
            "in": "query",
            "required": false,
            "description": "Member's Bioguide ID, e.g. P000197. Mutually exclusive with `member`.",
            "schema": {
              "type": "string",
              "maxLength": 7
            }
          },
          {
            "name": "member",
            "in": "query",
            "required": false,
            "description": "Member's display name exactly as listed (for a filer the roster did not match).",
            "schema": {
              "type": "string",
              "maxLength": 120
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Ticker symbol, case-insensitive.",
            "schema": {
              "type": "string",
              "maxLength": 15
            }
          },
          {
            "name": "action",
            "in": "query",
            "required": false,
            "description": "`buy` (purchases) or `sell` (full and partial sales).",
            "schema": {
              "type": "string",
              "enum": [
                "buy",
                "sell"
              ]
            }
          },
          {
            "name": "chamber",
            "in": "query",
            "required": false,
            "description": "Chamber the filing came from.",
            "schema": {
              "type": "string",
              "enum": [
                "house",
                "senate"
              ]
            }
          },
          {
            "name": "party",
            "in": "query",
            "required": false,
            "description": "Party on the roster.",
            "schema": {
              "type": "string",
              "enum": [
                "D",
                "R",
                "I",
                "L"
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Two-letter House asset-type code, e.g. ST (stock), OP (option), EF (ETF).",
            "schema": {
              "type": "string",
              "maxLength": 2
            }
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "description": "Whose account: the member's own, spouse, joint or dependent child.",
            "schema": {
              "type": "string",
              "enum": [
                "self",
                "spouse",
                "joint",
                "dependent_child"
              ]
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Earliest trade date, inclusive (YYYY-MM-DD).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Latest trade date, inclusive (YYYY-MM-DD).",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "scans",
            "in": "query",
            "required": false,
            "description": "`only` or `exclude` rows transcribed from scanned paper filings (which never enter totals).",
            "schema": {
              "type": "string",
              "enum": [
                "only",
                "exclude"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows to return, 1–500. Larger values are clamped to 500 and reported in meta.notices.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 50
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Rows to skip, for pagination; meta.pagination.next carries the next page's URL.",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000000,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Matching trades",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Trade"
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "total": {
                              "type": "object",
                              "properties": {
                                "trades": {
                                  "type": "integer"
                                },
                                "volume": {
                                  "$ref": "#/components/schemas/Volume"
                                }
                              }
                            },
                            "pagination": {
                              "type": "object",
                              "properties": {
                                "limit": {
                                  "type": "integer"
                                },
                                "offset": {
                                  "type": "integer"
                                },
                                "returned": {
                                  "type": "integer"
                                },
                                "next": {
                                  "type": [
                                    "string",
                                    "null"
                                  ]
                                }
                              }
                            },
                            "filters": {
                              "type": "object"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No such member, ticker or issuer in the data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/members": {
      "get": {
        "operationId": "listMembers",
        "tags": [
          "congress"
        ],
        "summary": "Members who have disclosed trades",
        "parameters": [
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort key. `volume` sorts on the midpoint ESTIMATE; `range` (tickers) on the disclosed floor.",
            "schema": {
              "type": "string",
              "enum": [
                "member",
                "trades",
                "tickers",
                "buysell",
                "volume",
                "delay",
                "late",
                "lag"
              ]
            }
          },
          {
            "name": "dir",
            "in": "query",
            "required": false,
            "description": "Sort direction; defaults to the key's natural direction.",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "days",
            "in": "query",
            "required": false,
            "description": "Rolling window on trade date, in days back from today (future-dated typos excluded).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 3650
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows to return, 1–500. Larger values are clamped to 500 and reported in meta.notices.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Members",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Member"
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {}
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/members/{bioguide_id}": {
      "get": {
        "operationId": "getMember",
        "tags": [
          "congress"
        ],
        "summary": "One member's record, top tickers and recent trades",
        "description": "Totals are over the member's whole record. Append `.md` to the id for Markdown.",
        "parameters": [
          {
            "name": "bioguide_id",
            "in": "path",
            "required": true,
            "description": "Bioguide ID, e.g. P000197; append `.md` for Markdown.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]\\d{6}(\\.md)?$"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows to return, 1–500. Larger values are clamped to 500 and reported in meta.notices.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Member. With `.md` appended to the path segment: the same data as Markdown.",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "member": {
                          "$ref": "#/components/schemas/MemberDetail"
                        },
                        "top_tickers": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MemberTicker"
                          }
                        },
                        "recent_trades": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Trade"
                          }
                        },
                        "track_record": {
                          "type": "object",
                          "description": "The member's track record (see /api/v1/track-record): by_horizon entries shaped like TrackRecordEntry, or available: false while it is being computed."
                        }
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "recent_trades_returned": {
                              "type": "integer"
                            },
                            "all_trades": {
                              "type": "string"
                            },
                            "markdown": {
                              "type": "string"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No such member, ticker or issuer in the data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tickers": {
      "get": {
        "operationId": "listTickers",
        "tags": [
          "congress"
        ],
        "summary": "Tickers members traded",
        "parameters": [
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Sort key. `volume` sorts on the midpoint ESTIMATE; `range` (tickers) on the disclosed floor.",
            "schema": {
              "type": "string",
              "enum": [
                "ticker",
                "asset",
                "members",
                "trades",
                "buysell",
                "volume",
                "range"
              ]
            }
          },
          {
            "name": "dir",
            "in": "query",
            "required": false,
            "description": "Sort direction; defaults to the key's natural direction.",
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            }
          },
          {
            "name": "days",
            "in": "query",
            "required": false,
            "description": "Rolling window on trade date, in days back from today (future-dated typos excluded).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 3650
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows to return, 1–500. Larger values are clamped to 500 and reported in meta.notices.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Tickers",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Ticker"
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "total": {
                              "type": "integer",
                              "description": "Tickers in the whole result before the limit."
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tickers/{symbol}": {
      "get": {
        "operationId": "getTicker",
        "tags": [
          "congress"
        ],
        "summary": "One ticker's congressional totals, members and recent trades",
        "description": "Congressional data only; Form 4 insider data is at /api/v1/insiders/{symbol}. Append `.md` for Markdown.",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Ticker symbol; append `.md` for Markdown.",
            "schema": {
              "type": "string",
              "maxLength": 18
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows to return, 1–500. Larger values are clamped to 500 and reported in meta.notices.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Ticker. With `.md` appended to the path segment: the same data as Markdown.",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ticker": {
                          "$ref": "#/components/schemas/Ticker"
                        },
                        "members": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TickerMember"
                          }
                        },
                        "recent_trades": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Trade"
                          }
                        }
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "recent_trades_returned": {
                              "type": "integer"
                            },
                            "all_trades": {
                              "type": "string"
                            },
                            "insiders": {
                              "type": "string"
                            },
                            "markdown": {
                              "type": "string"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No such member, ticker or issuer in the data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/insiders/{symbol}": {
      "get": {
        "operationId": "getInsiderIssuer",
        "tags": [
          "insiders"
        ],
        "summary": "SEC Form 4 insider activity for one issuer",
        "description": "Values are shares × reported price (possibly a weighted average), never a disclosed range. An unpriced value is null, never 0. Separate dataset: never add these figures to congressional ones.",
        "parameters": [
          {
            "name": "symbol",
            "in": "path",
            "required": true,
            "description": "Issuer ticker symbol.",
            "schema": {
              "type": "string",
              "maxLength": 15
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Rows to return, 1–500. Larger values are clamped to 500 and reported in meta.notices.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Issuer",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "dataset": {
                          "type": "string",
                          "const": "sec_form4"
                        },
                        "issuer": {
                          "$ref": "#/components/schemas/InsiderIssuer"
                        },
                        "insiders": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Insider"
                          }
                        },
                        "recent_trades": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InsiderTrade"
                          }
                        }
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "dataset_note": {
                              "type": "string"
                            },
                            "recent_trades_returned": {
                              "type": "integer"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "No such member, ticker or issuer in the data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/track-record": {
      "get": {
        "operationId": "getTrackRecord",
        "tags": [
          "congress"
        ],
        "summary": "Members ranked by how the stocks they traded moved afterwards against SPY",
        "description": "A stock's move after each disclosed trade minus SPY's over the same trading days, signed by direction, in percentage points — never the member's profit or return, and no dollar amount enters it. Scores are shrunk toward zero for small samples; members below the minimum are listed under `not_enough_matured_decisions`, never ranked. `available` is false while the pipeline has not computed it yet.",
        "parameters": [
          {
            "name": "horizon",
            "in": "query",
            "required": false,
            "description": "horizon",
            "schema": {
              "type": "string",
              "enum": [
                "30",
                "90",
                "180"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Track record",
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                },
                "description": "Public, cached for five minutes at the CDN."
              },
              "Access-Control-Allow-Origin": {
                "schema": {
                  "type": "string",
                  "const": "*"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "dataset": {
                          "type": "string",
                          "const": "congress"
                        },
                        "available": {
                          "type": "boolean"
                        },
                        "horizon_trading_days": {
                          "type": "integer",
                          "enum": [
                            30,
                            90,
                            180
                          ]
                        },
                        "benchmark": {
                          "type": "string",
                          "const": "SPY"
                        },
                        "measure": {
                          "type": "string"
                        },
                        "ranking": {
                          "type": "string"
                        },
                        "minimum_decisions_to_rank": {
                          "type": [
                            "integer",
                            "null"
                          ]
                        },
                        "model": {
                          "type": "object",
                          "description": "Per clock: shrinkage_k, all_decisions_mean_excess_move_pts, decisions_measured, members_measured, members_ranked."
                        },
                        "ranked": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TrackRecordEntry"
                          }
                        },
                        "not_enough_matured_decisions": {
                          "type": "array",
                          "items": {
                            "type": "object"
                          }
                        },
                        "coverage": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "outcome": {
                                "type": "string"
                              },
                              "description": {
                                "type": "string"
                              },
                              "rows": {
                                "type": "integer"
                              },
                              "decisions": {
                                "type": "integer"
                              }
                            }
                          }
                        },
                        "computed_at": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "status": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "meta": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Meta"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "page": {
                              "type": "string"
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/feed.md": {
      "get": {
        "operationId": "getFeedMarkdown",
        "tags": [
          "congress"
        ],
        "summary": "Latest trades, top tickers and coverage as Markdown",
        "responses": {
          "200": {
            "description": "Markdown",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Unknown parameter, repeated parameter or malformed value.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "The database could not be read.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Meta": {
        "type": "object",
        "required": [
          "generated_at",
          "data_as_of",
          "caveats",
          "docs"
        ],
        "properties": {
          "generated_at": {
            "type": "string",
            "format": "date-time",
            "description": "When this response was built."
          },
          "data_as_of": {
            "type": [
              "string",
              "null"
            ],
            "description": "Time of the last pipeline write: how fresh the data is."
          },
          "caveats": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The rules for quoting, one line each.",
            "examples": [
              [
                "Congressional amounts are STOCK Act brackets (e.g. $1,001–$15,000), not figures: quote the range, never a single number.",
                "Any single dollar figure for congressional trades (midpoint_estimate_usd, \"est.\") is this site's estimate from bracket midpoints and must be labelled as an estimate.",
                "Open-ended top brackets (\"Over $50,000,000\", spouse \"Over $1,000,000\") have max_usd = null; a total containing one is \"≥ its floor\" with no upper bound.",
                "amount.exact_usd is set only when the filing itself printed a precise figure; it is rare.",
                "Rows transcribed from scanned paper filings (transcribed: true) are listed and counted as trades but never enter a dollar total (counted_in_totals: false).",
                "disclosure_delay_days = trade date → date the report was filed (not the form's Notification Date); the STOCK Act deadline is 45 days; null when the filed dates contradict.",
                "Dates are as filed; a few are mistyped (e.g. future trade dates) and are flagged, never corrected.",
                "Form 4 values are shares × the price as filed (possibly a weighted average); an unpriced row has value null, never 0.",
                "Congressional and corporate-insider data are separate datasets: never add, rank or average them together.",
                "Members have 45 days to disclose (and some file later), so recent periods are always under-reported.",
                "Track-record figures are how a stock moved after a member's trade minus SPY over the same trading days, signed by direction, in points: never the member's profit, return or skill, and shrunk toward zero for small samples.",
                "Public disclosures shown for information; not investment advice and not evidence of wrongdoing."
              ]
            ]
          },
          "docs": {
            "type": "object",
            "properties": {
              "llms_full": {
                "type": "string"
              },
              "openapi": {
                "type": "string"
              },
              "methodology": {
                "type": "string"
              }
            }
          },
          "notices": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Adjustments made to the request, e.g. a clamped limit."
          }
        }
      },
      "Error": {
        "type": "object",
        "required": [
          "error",
          "meta"
        ],
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "status": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "meta": {
            "$ref": "#/components/schemas/Meta"
          }
        }
      },
      "Amount": {
        "type": "object",
        "description": "A congressional trade's disclosed amount. Quote `disclosed`; never present `midpoint_estimate_usd` as the amount.",
        "required": [
          "kind",
          "min_usd",
          "max_usd",
          "exact_usd",
          "disclosed",
          "midpoint_estimate_usd"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "range",
              "open_ended",
              "exact",
              "unknown"
            ],
            "description": "`range` (a bracket), `open_ended` (top bracket, no ceiling), `exact` (the filing printed a figure) or `unknown` (no amount filed)."
          },
          "min_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "Bracket floor in US dollars."
          },
          "max_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "Bracket ceiling in US dollars; null for the open-ended top bracket (no upper bound)."
          },
          "exact_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "Set only when the filing itself states a precise figure; otherwise null."
          },
          "disclosed": {
            "type": [
              "string",
              "null"
            ],
            "description": "The amount as disclosed, ready to quote: \"$1,001–$15,000\", \"≥$50,000,000\" or an exact figure.",
            "examples": [
              "$1,001–$15,000"
            ]
          },
          "midpoint_estimate_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "Bracket midpoint: an ESTIMATE computed by this site, not a disclosed figure. Null for an open-ended bracket. Label it as an estimate if used."
          }
        }
      },
      "Volume": {
        "type": "object",
        "description": "A sum of congressional amounts over counted rows (transcribed rows excluded).",
        "required": [
          "min_usd",
          "max_usd",
          "open_ended",
          "disclosed",
          "midpoint_estimate_usd",
          "transcribed_rows_excluded"
        ],
        "properties": {
          "min_usd": {
            "type": "number",
            "description": "Sum of the disclosed floors of every counted row."
          },
          "max_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "Sum of the disclosed ceilings; null once any counted row is in the open-ended top bracket."
          },
          "open_ended": {
            "type": "boolean",
            "description": "True when the total has no upper bound (quote it as ≥ min_usd)."
          },
          "disclosed": {
            "type": "string",
            "description": "The range, ready to quote: \"$X–$Y\", or \"≥$X\" when open-ended."
          },
          "midpoint_estimate_usd": {
            "type": "number",
            "description": "Sum of bracket midpoints (an open-ended row counts at its floor): an ESTIMATE, not a disclosed figure. The dashboard's \"est.\" volume."
          },
          "transcribed_rows_excluded": {
            "type": "integer",
            "description": "Rows transcribed from scanned filings that are in the trade count but excluded from this total."
          }
        }
      },
      "MemberRef": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "bioguide_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "party": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "district": {
            "type": [
              "string",
              "null"
            ]
          },
          "chamber": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "api_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "Trade": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Row id in this database; stable between runs but not an official identifier."
          },
          "trade_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Transaction date as filed (YYYY-MM-DD)."
          },
          "filing_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date the report was filed with the House Clerk or Senate eFD."
          },
          "notification_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "The form's Notification Date (House only): when the member learned of the trade."
          },
          "disclosure_delay_days": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Days from trade_date to filing_date; null when the filed dates contradict. Over 45 is late under the STOCK Act."
          },
          "late": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "disclosure_delay_days > 45; null when the delay is unknown."
          },
          "dates_inconsistent": {
            "type": "boolean",
            "description": "The filing's own dates contradict each other; shown as filed, not corrected."
          },
          "action": {
            "type": "string",
            "enum": [
              "purchase",
              "sale",
              "sale_partial",
              "exchange"
            ],
            "description": "`purchase`, `sale`, `sale_partial` or `exchange`."
          },
          "ticker": {
            "type": [
              "string",
              "null"
            ],
            "description": "Ticker as filed (or read from the asset name); null for assets without one."
          },
          "asset_name": {
            "type": "string",
            "description": "Asset description as filed."
          },
          "asset_type": {
            "type": [
              "string",
              "null"
            ],
            "description": "House asset-type code (ST stock, OP option, EF ETF, GS government debt …); null when the Senate label has no equivalent."
          },
          "owner": {
            "type": "string",
            "description": "`self`, `spouse`, `joint` or `dependent_child`."
          },
          "option": {
            "description": "The option contract when the filing's text names one: kind (call/put), strike_usd, expiry. Never guessed.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string"
                  },
                  "strike_usd": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "expiry": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            ]
          },
          "amount": {
            "$ref": "#/components/schemas/Amount",
            "description": "The disclosed amount (see Amount)."
          },
          "transcribed": {
            "type": "boolean",
            "description": "True when the row was transcribed from a scanned paper filing. Such rows never enter a dollar total."
          },
          "counted_in_totals": {
            "type": "boolean",
            "description": "Whether this row's amount enters dollar totals (false for transcribed rows)."
          },
          "member": {
            "$ref": "#/components/schemas/MemberRef",
            "description": "Who filed: name, bioguide_id (null if the roster did not match), party, state, district, chamber, url, api_url."
          },
          "industry_group": {
            "type": [
              "string",
              "null"
            ],
            "description": "The issuer's industry group from its SEC SIC code; null when unclassified."
          },
          "source_url": {
            "type": "string",
            "format": "uri",
            "description": "The original filing: a House Clerk PDF or a Senate eFD page."
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "This trade's member page on the dashboard."
          },
          "ticker_url": {
            "type": [
              "string",
              "null"
            ],
            "description": "The ticker's page on the dashboard."
          }
        }
      },
      "Member": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "bioguide_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "party": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "district": {
            "type": [
              "string",
              "null"
            ]
          },
          "chamber": {
            "type": [
              "string",
              "null"
            ]
          },
          "trades": {
            "type": "integer",
            "description": "Counted trades, transcribed rows included."
          },
          "tickers": {
            "type": "integer"
          },
          "buys": {
            "type": "integer"
          },
          "sells": {
            "type": "integer"
          },
          "volume": {
            "$ref": "#/components/schemas/Volume"
          },
          "transcribed_trades": {
            "type": "integer"
          },
          "avg_disclosure_delay_days": {
            "type": [
              "number",
              "null"
            ],
            "description": "Mean days from trade date to filing date."
          },
          "late_trades": {
            "type": "integer",
            "description": "Trades filed more than 45 days after the trade. A reporting fact, not an allegation."
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "api_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "MemberDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Member"
          },
          {
            "type": "object",
            "properties": {
              "filings": {
                "type": "integer"
              },
              "avg_notification_lag_days": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Mean days until the member learned of the trade. Not a compliance measure."
              },
              "first_trade_date": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "last_trade_date": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ]
      },
      "MemberTicker": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string"
          },
          "asset_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "trades": {
            "type": "integer"
          },
          "buys": {
            "type": "integer"
          },
          "sells": {
            "type": "integer"
          },
          "volume": {
            "$ref": "#/components/schemas/Volume"
          },
          "last_trade_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "api_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "Ticker": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string"
          },
          "asset_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "members": {
            "type": "integer",
            "description": "Distinct members who traded it."
          },
          "buy_members": {
            "type": "integer"
          },
          "sell_members": {
            "type": "integer"
          },
          "trades": {
            "type": "integer"
          },
          "buys": {
            "type": "integer"
          },
          "sells": {
            "type": "integer"
          },
          "volume": {
            "$ref": "#/components/schemas/Volume"
          },
          "transcribed_trades": {
            "type": "integer"
          },
          "last_trade_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "api_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "TickerMember": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "bioguide_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "party": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "district": {
            "type": [
              "string",
              "null"
            ]
          },
          "chamber": {
            "type": [
              "string",
              "null"
            ]
          },
          "trades": {
            "type": "integer"
          },
          "buys": {
            "type": "integer"
          },
          "sells": {
            "type": "integer"
          },
          "volume": {
            "$ref": "#/components/schemas/Volume"
          },
          "last_trade_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "api_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "InsiderSide": {
        "type": "object",
        "description": "One direction's Form 4 value: shares × reported price summed over priced rows.",
        "properties": {
          "trades": {
            "type": "integer"
          },
          "value_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "Null when no row in this direction has a usable price: unknown, not zero."
          },
          "unpriced_trades": {
            "type": "integer",
            "description": "Rows without a usable price, absent from value_usd."
          },
          "value_is_partial": {
            "type": "boolean",
            "description": "True when some (not all) rows are unpriced, so value_usd understates the direction."
          }
        }
      },
      "InsiderIssuer": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "issuer_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "issuer_cik": {
            "type": "string"
          },
          "insiders": {
            "type": "integer",
            "description": "Distinct primary reporting owners: a joint filing is one decision."
          },
          "buy_insiders": {
            "type": "integer"
          },
          "sell_insiders": {
            "type": "integer"
          },
          "filings": {
            "type": "integer"
          },
          "trades": {
            "type": "integer"
          },
          "bought": {
            "$ref": "#/components/schemas/InsiderSide"
          },
          "sold": {
            "$ref": "#/components/schemas/InsiderSide"
          },
          "value_basis": {
            "type": "string",
            "const": "shares × reported price"
          },
          "last_trade_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "Insider": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "cik": {
            "type": "string"
          },
          "is_director": {
            "type": "boolean"
          },
          "is_officer": {
            "type": "boolean"
          },
          "is_ten_percent_owner": {
            "type": "boolean"
          },
          "officer_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "filings": {
            "type": "integer"
          },
          "buys": {
            "type": "integer"
          },
          "sells": {
            "type": "integer"
          },
          "bought_priced_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "shares × reported price over this insider's priced purchases only."
          },
          "sold_priced_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "shares × reported price over this insider's priced sales only."
          }
        }
      },
      "TrackRecordEntry": {
        "type": "object",
        "description": "One member's track record at one horizon. A stock's move against SPY after their trades, never a profit.",
        "properties": {
          "rank": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Rank by `after_trade.shrunk_excess_move_pts` among members with enough measured decisions; null when not ranked."
          },
          "member": {
            "type": "object"
          },
          "horizon_trading_days": {
            "type": "integer",
            "description": "30, 90 or 180 trading days after each clock's start."
          },
          "decisions_measured": {
            "type": "integer",
            "description": "Decisions (member, ticker, direction, filing) measured on both clocks at this horizon. Each counts once: no dollar amount weights it."
          },
          "filings": {
            "type": "integer",
            "description": "Filings those decisions come from."
          },
          "ranked": {
            "type": "boolean"
          },
          "after_trade": {
            "type": "object",
            "description": "From the first close on or after the trade date: `shrunk_excess_move_pts` (the mean signed move vs SPY in percentage points, × n/(n+k)), `unshrunk_mean_excess_move_pts`, `interval_90_pts` (bootstrap over filings; null if not ranked), `hit_rate`, `share_of_same_date_random_portfolios_beaten` (null without a comparable universe)."
          },
          "after_disclosure": {
            "type": "object",
            "description": "The same, from the first close strictly after the filing date: what a member of the public could have copied."
          },
          "timing_lost_to_disclosure_delay_pts": {
            "type": "number",
            "description": "after_trade minus after_disclosure (shrunk scores, same decisions)."
          }
        }
      },
      "InsiderTrade": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "trade_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "Transaction date as filed."
          },
          "trade_date_as_filed": {
            "type": [
              "string",
              "null"
            ]
          },
          "filing_date": {
            "type": "string",
            "description": "Date the Form 4 was filed with the SEC."
          },
          "disclosure_delay_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "late": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Filed after the two-business-day Form 4 deadline (federal holidays excluded)."
          },
          "timeliness_box": {
            "type": [
              "string",
              "null"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "purchase",
              "sale"
            ],
            "description": "`purchase` (code P) or `sale` (code S)."
          },
          "transaction_code": {
            "type": "string"
          },
          "security_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "shares": {
            "type": [
              "number",
              "null"
            ],
            "description": "Shares as filed."
          },
          "price_per_share_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "Price as filed; may be a weighted average over several executions."
          },
          "value_usd": {
            "type": [
              "number",
              "null"
            ],
            "description": "shares × reported price. Null when the row has no price or its as-filed value is implausible: unknown, never 0."
          },
          "value_basis": {
            "type": "string",
            "const": "shares × reported price",
            "description": "Always \"shares × reported price\": computed, not a disclosed range."
          },
          "implausible": {
            "type": "boolean",
            "description": "The as-filed value is beyond belief; shown, never counted."
          },
          "counted_in_totals": {
            "type": "boolean"
          },
          "ownership": {
            "type": [
              "string",
              "null"
            ]
          },
          "nature_of_ownership": {
            "type": [
              "string",
              "null"
            ]
          },
          "rule_10b5_1": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "insider": {
            "type": "object",
            "description": "The primary reporting owner: name, CIK, roles.",
            "properties": {
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "cik": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "is_director": {
                "type": "boolean"
              },
              "is_officer": {
                "type": "boolean"
              },
              "is_ten_percent_owner": {
                "type": "boolean"
              },
              "officer_title": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "reporting_owners_on_filing": {
            "type": "integer"
          },
          "footnotes": {
            "type": [
              "string",
              "null"
            ],
            "description": "The filing's footnotes; a weighted-average price range is stated here."
          },
          "accession": {
            "type": "string"
          },
          "source_url": {
            "type": "string",
            "format": "uri",
            "description": "The filing index on SEC EDGAR."
          }
        }
      },
      "Coverage": {
        "type": "object",
        "properties": {
          "generated_at": {
            "type": "string"
          },
          "data_as_of": {
            "type": [
              "string",
              "null"
            ]
          },
          "congress": {
            "type": "object"
          },
          "insiders": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "type": "object"
              }
            ]
          }
        }
      }
    }
  }
}
