Skip to content

docs(openapi): surface player_id on EVOpportunity (#213)#258

Merged
Mlaz-code merged 1 commit into
mainfrom
feat/issue-213-player-id-openapi
Jun 2, 2026
Merged

docs(openapi): surface player_id on EVOpportunity (#213)#258
Mlaz-code merged 1 commit into
mainfrom
feat/issue-213-player-id-openapi

Conversation

@Mlaz-code

Copy link
Copy Markdown
Collaborator

What

Documents the canonical cross-book player_id now emitted on /api/v1/opportunities/ev. Brings the OpenAPI spec + reference docs in line with the live response — the producer flip (atlas_players active capture) is live on prod and the EV API already returns player_id (sharp-api-go #717 + #720).

Changes

  • public/openapi.json — add nullable player_id to the EVOpportunity schema (properties + required, mirroring player_name's "always-present, may-be-null" shape) and the example response. Bump info.version 3.0.0 → 3.1.0 (MINOR — additive field; passes check-openapi-version.mjs with the CHANGELOG entry).
  • CHANGELOG.md## 3.1.0 entry.
  • content/{en,de,es,pt-BR}/api-reference/opportunities-ev.mdxplayer_id row in the response field table + "player_id": null in both JSON examples per locale.

Verification

  • jq parses; EVOpportunity.required contains player_id and properties.player_id exists.
  • node scripts/check-openapi-version.mjs <origin/main> <head>info.version 3.0.0 -> 3.1.0; OK.
  • Live prod (/api/v1/opportunities/ev): 200/200 rows carry the player_id key; 40/40 player props populated (e.g. Juan Soto → baseball_mlb_juan_soto).

Additive, backward-compatible. null until a book resolves a canonical id; consumers group on player_id and fall back to player_name.

Type: docs
Refs Mlaz-code/sharp-api-go#213

🤖 Generated with Claude Code

Document the canonical cross-book player_id now emitted by the EV API
(/api/v1/opportunities/ev). The producer flip (atlas_players active capture)
is live on prod — pinnacle and others resolve canonical ids, and the EV feed
already returns player_id (sharp-api-go #717 + #720). This brings the spec in
line with the live response.

- public/openapi.json: add nullable `player_id` to the EVOpportunity schema
  (properties + required, mirroring player_name) and the example response;
  bump info.version 3.0.0 -> 3.1.0 (MINOR, additive field).
- CHANGELOG.md: 3.1.0 entry.
- opportunities-ev reference docs (en/de/es/pt-BR): player_id row in the
  response field table + JSON examples.

Type: docs
Refs Mlaz-code/sharp-api-go#213

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Mlaz-code Mlaz-code merged commit 6667df0 into main Jun 2, 2026
1 check passed
@Mlaz-code Mlaz-code deleted the feat/issue-213-player-id-openapi branch June 2, 2026 23:50
@Mlaz-code

Copy link
Copy Markdown
Collaborator Author

Merge gate (auto-classified): gate=fixes-issue — auto-classified by the gate-log enforcer (10min after merge, no Merge gate: audit comment found). Reviewer agent: please correct if wrong by replying with Merge gate: gate=<correct-word> — <evidence>. The audit log keys on the first such token; your correction overrides this auto-classified guess.

Posted by scripts/gate-log-enforcer.py because instruction-level rules about the gate= template aren't binding (0/N adoption); structural enforcement fills the log either way.

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.

1 participant