feat(spec): GET /api/v1/parlays lists frame parlays (0.66.0) #20

Merged
peterswimm merged 1 commit from feat/spec-parlay-list into main 2026-10-09 17:26:26 +00:00
Owner

Part of toilville-design#177. This documents GET /api/v1/parlays, which ritual-engine#904 serves over spel#1098's core.list_frame_parlays.

Scope

  • openapi.yaml 0.66.0:
    • GET /api/v1/parlays (listParlays, tag governance). It lists frame parlays, newest first, in the item shape view.parlay.row and view.parlay.card bind.
      • status is pending_parlay (the default) or completed. limit is 1–200 (default 50). A value outside either is a 422 with a WishWriteError body.
      • Only the steward, acting as themselves, sees parlays. Everyone else gets an empty list.
    • New schemas: FrameParlay and FrameParlayList.
  • CHANGELOG.md: a new entry under Unreleased.

Testing

  • openapi-spec-validator: the document is valid.
  • Real output against FrameParlayList (Draft 2020-12, with format checks). The output comes from the spel#1098 shadow database:
    • a pending entry and a decided entry both validate;
    • a control entry whose item_count is a string is rejected.
  • tools/check_schema_registry.py reports the registry is consistent. pytest: 18 passed, 1 xfailed, as on main.

Impact Statement

  • Existing features: None.
  • Public APIs / contracts: documents one new endpoint. The change is additive.
  • Schemas: adds two OpenAPI component schemas. No file under schemas/ changes.
  • Data / artifacts: None.
  • Integrations: clients generated from the spec gain listParlays.
  • Mappings: FrameParlay.frame_id is the parlay_id path parameter of /api/v1/parlays/{parlay_id}/commands.
  • Backward compatibility: additive, minor version bump.
Part of toilville-design#177. This documents `GET /api/v1/parlays`, which ritual-engine#904 serves over spel#1098's `core.list_frame_parlays`. ## Scope - **`openapi.yaml` 0.66.0:** - **`GET /api/v1/parlays`** (`listParlays`, tag `governance`). It lists frame parlays, newest first, in the item shape `view.parlay.row` and `view.parlay.card` bind. - `status` is `pending_parlay` (the default) or `completed`. `limit` is 1–200 (default 50). A value outside either is a 422 with a `WishWriteError` body. - Only the steward, acting as themselves, sees parlays. Everyone else gets an empty list. - New schemas: `FrameParlay` and `FrameParlayList`. - **`CHANGELOG.md`:** a new entry under Unreleased. ## Testing - `openapi-spec-validator`: the document is valid. - **Real output against `FrameParlayList`** (Draft 2020-12, with format checks). The output comes from the spel#1098 shadow database: - a pending entry and a decided entry both validate; - a control entry whose `item_count` is a string is rejected. - `tools/check_schema_registry.py` reports the registry is consistent. `pytest`: 18 passed, 1 xfailed, as on main. ## Impact Statement - **Existing features:** None. - **Public APIs / contracts:** documents one new endpoint. The change is additive. - **Schemas:** adds two OpenAPI component schemas. No file under `schemas/` changes. - **Data / artifacts:** None. - **Integrations:** clients generated from the spec gain `listParlays`. - **Mappings:** `FrameParlay.frame_id` is the `parlay_id` path parameter of `/api/v1/parlays/{parlay_id}/commands`. - **Backward compatibility:** additive, minor version bump.
feat(spec): GET /api/v1/parlays lists frame parlays (0.66.0)
All checks were successful
PR policy check / policy-gate (pull_request) Successful in 1s
CI / schema-registry (pull_request) Successful in 8s
830a18f6f4
peterswimm deleted branch feat/spec-parlay-list 2026-10-09 17:26:26 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Toilville/rituals-api-spec!20
No description provided.