Skip to content

Reconcile OpenAPI 3.32.0 portfolio/perps drift (v17.1.0) - #526

Merged
TexasCoding merged 1 commit into
mainfrom
fix/525-portfolio-settlement-status
Sep 30, 2026
Merged

TexasCoding merged 1 commit into
mainfrom
fix/525-portfolio-settlement-status

Conversation

@TexasCoding

Copy link
Copy Markdown
Owner

Summary

Reconciles nightly Spec Drift Detection failures on main (Closes #525).

Upstream OpenAPI 3.31.0 → 3.32.0 plus matching perps OpenAPI and AsyncAPI updates:

  • Added (optional): settlement_status on portfolio.positions / positions_all (sync + async). Previously a phantom removed in v0.7.0; now a real query param (server default unsettled).
  • Added: Perps funding.premium_index(*, ticker, start_ts, end_ts) + MarginPremiumIndexPoint / GetMarginPremiumIndexResponse. Optional premium_index / premium_index_ts on MarginFundingRateEstimate.

Re-vendored specs:

  • openapi.yaml b8a5c773e8f5bf1f9836fe29dc5449bbded8c8510e11e3471df86e552bbfe507
  • asyncapi.yaml 902d9a36fdf52821eac5577caa1d8f694baa1788144c76b5527731e851089522
  • perps_openapi.yaml e3b906ebbb3eb26cbb555b778ee52ef08843f174bc78b0b6d1052dfb3589a6ef

Non-breaking (minor 17.1.0).

Test plan

  • uv run ruff check .
  • uv run mypy kalshi/
  • uv run pytest tests/ --ignore=tests/integration -q (4616 passed locally)
  • tests/test_contracts.py green (842 passed)
  • CI green on PR

Closes #525. Non-breaking: optional settlement_status on portfolio
positions/positions_all; perps funding.premium_index + estimate premium
fields. Re-vendors OpenAPI 3.32.0 and matching perps/AsyncAPI specs.
@TexasCoding
TexasCoding merged commit 6bbc012 into main Sep 30, 2026
6 checks passed
@TexasCoding
TexasCoding deleted the fix/525-portfolio-settlement-status branch September 30, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nightly spec-drift: strict contract tests failing (since 2026-09-30)

1 participant