Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions mintlify/openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 2 additions & 4 deletions openapi.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,10 @@ allOf:
or intra-network transfers, or non-direct-destination transactions)
or before a rail is resolved.
railSelectionMode:
anyOf:
- $ref: ../common/RailSelectionMode.yaml
- type: 'null'
$ref: ../common/RailSelectionMode.yaml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Unversioned response contract break

For the existing API version, railSelectionMode: null was a valid response value. Removing the null branch makes those payloads fail schema validation or deserialization, while the contract still uses version and server path 2025-10-13. The repository requires a new info.version and matching server URL when a breaking change ships. Preserve nullability for this version or publish the narrowed contract under a new version.

Context Used: CLAUDE.md (source)

Knowledge Base Used: Grid API contract

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/transactions/OutgoingTransaction.yaml
Line: 85

Comment:
**Unversioned response contract break**

For the existing API version, `railSelectionMode: null` was a valid response value. Removing the `null` branch makes those payloads fail schema validation or deserialization, while the contract still uses version and server path `2025-10-13`. The repository requires a new `info.version` and matching server URL when a breaking change ships. Preserve nullability for this version or publish the narrowed contract under a new version.

**Context Used:** CLAUDE.md ([source](https://github.com/lightsparkdev/grid-api/blob/main/CLAUDE.md))

**Knowledge Base Used:** [Grid API contract](https://app.greptile.com/lightspark/-/custom-context/knowledge-base/lightsparkdev/grid-api/-/docs/api-contract.md)

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not being used

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Understood — if the server never emits null, there may be no runtime impact for current responses. My concern is that the published 2025-10-13 schema still advertises null as valid, so clients or validators may rely on that contract even if it is not currently observed. Narrowing it is therefore still a breaking schema change; either retain nullability for that version or publish the narrowed contract under a new API version/server path.

description: >-
How the rail was chosen — MANUAL when the platform specified a
paymentRail on the destination, AUTO when Lightspark selects it. Null
when no rail is resolved.
paymentRail on the destination, AUTO when Lightspark selects it.
expectedSettlementAt:
type:
- string
Expand Down
Loading