You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
OrdersResource.fills / fills_all hits /portfolio/fills — belongs on PortfolioResource #351
PortfolioResource owns the /portfolio/* family — balance, positions, settlements, deposits, withdrawals — except for fills, which sits on OrdersResource even though the URL is /portfolio/fills and the response shape (Page[Fill] with cursor + min_ts/max_ts/ticker filters) matches settlements() exactly.
A user discovering the SDK via autocomplete on client.portfolio. will not find their fills and may infer the endpoint doesn't exist. The grouping also breaks the README's framing of portfolio.deposits() / portfolio.withdrawals() as the cost-introspection family.
Evidence
kalshi/resources/orders.py:584-608 — fills lives on OrdersResource and hits /portfolio/fills
kalshi/resources/portfolio.py:144,220,254 — settlements, deposits, withdrawals all live on PortfolioResource with identical Page[T] shape.
Suggested fix
Add fills / fills_all to PortfolioResource (and AsyncPortfolioResource) with the same signatures. Leave a one-version forwarding shim on OrdersResource.fills / fills_all that emits DeprecationWarning and delegates to the new location. Update docs/resources/orders.md and docs/resources/portfolio.md to reflect the migration, and add a test that asserts both spellings resolve during the transition.
Deferred to v3.0.0 per Round-3 audit closure plan.
Reason: this change renames public methods, so it cannot ship in a v2.x minor without adding deprecation aliases + warnings + alias tests for every renamed symbol. Bundling all such renames into v3.0.0 keeps v2.7 a clean polish release and avoids alias drift.
Linked plan: /tmp/kalshi-review-r3/PLAN.md Wave 4. Re-opens (well, stays open) for scheduling when v3.0.0 work begins.
Activity
TexasCoding commentedon May 22, 2026
Deferred to v3.0.0 per Round-3 audit closure plan.
Reason: this change renames public methods, so it cannot ship in a v2.x minor without adding deprecation aliases + warnings + alias tests for every renamed symbol. Bundling all such renames into v3.0.0 keeps v2.7 a clean polish release and avoids alias drift.
Linked plan:
/tmp/kalshi-review-r3/PLAN.mdWave 4. Re-opens (well, stays open) for scheduling when v3.0.0 work begins.release: 2.7.0 — post-v2.6 independent multi-LLM reviewer SDK audit c…
release: 3.0.0 — public-API rename release (#348, #349, #351) (#378)
test(integration): close v3.0.0 coverage gaps; fix demo-drift error t…