feat(openapi): add CardTransaction to TransactionOneOf for the transaction list#621
feat(openapi): add CardTransaction to TransactionOneOf for the transaction list#621ls-bolt[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
✱ Stainless preview builds for gridThis PR will update the cli csharp go kotlin openapi php python ruby typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-cli studio · code · diff
✅ grid-python studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-go studio · code · diff
✅ grid-csharp studio · code · diff
✅ grid-php studio · code · diff
✅ grid-ruby studio · code · diff
✅ grid-openapi studio · code · diff
✅ grid-typescript studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
…ction list
Add CardTransaction as a third TransactionOneOf member with a CARD discriminator
so card transactions appear in GET /transactions and deserialize cleanly via the
discriminator. Add a type: CARD discriminator property to CardTransaction and
relax cardId / pullSummary / refundSummary / settlementSummary to optional so the
served card-transaction shape (the GET /transactions/{id} projection) validates.
Document on the list endpoint that card transactions are identified by type: CARD
and that this is how integrators discover a CardTransaction id in Sandbox.
3edcf11 to
4db282d
Compare
…ction list (#622) ## Summary (draft / PoC — PR 2 of 2 spec change) Adds `CardTransaction` as a third `TransactionOneOf` member with a `CARD` discriminator so card transactions appear in `GET /transactions` and deserialize cleanly via the discriminator. This is the canonical spec change behind the Lightspark webdev SDK regen + sparkcore handler change (the companion PR) that unblocks the documented Grid sandbox card loop (simulate auth → list → simulate clearing → simulate return): integrators discover the `cardTransactionId` from the public transaction list instead of needing the internal dashboard. ### Changes - `TransactionOneOf`: add `CardTransaction` + `CARD` discriminator mapping. - `CardTransaction`: add a `type: CARD` discriminator property; relax `cardId`, `pullSummary`, `refundSummary`, `settlementSummary` to optional so the served card-transaction shape (the `GET /transactions/{id}` projection) validates and the list deserializes cleanly even for card transactions without a resolved card. - `GET /transactions`: document that card transactions are identified by `type: CARD` and that this is how integrators discover a `CardTransaction` id in Sandbox. The bundled `openapi.yaml` / `mintlify/openapi.yaml` carry only this change (the redocly rebundle reorders unrelated schemas, so the diff is scoped to the actual change; run `make build` on merge to fully re-normalize). ### Known limitations (PoC) - The served card payload uses `processorTransactionToken`; the schema exposes `issuerTransactionToken`. SDK deserialization still succeeds (the loop works via `id`), but the token isn't surfaced under the typed field — flagged for a follow-up rename. - `GET /transactions?type=CARD` is not yet a valid filter (`TransactionType` is `INCOMING`/`OUTGOING`); clients filter client-side on `type: CARD`. Follow-up. --- 🤖 [arcing-fulcrum](https://zeus.dev.dev.sparkinfra.net/#/arc?id=arcing-fulcrum)[(#1)](https://zeus.dev.dev.sparkinfra.net/#/instance?id=arcing-fulcrum) | [Feedback](https://zeus.dev.dev.sparkinfra.net/feedback) Original PR: #621 --------- Co-authored-by: Bolt Agent <bolt@lightspark.com> Co-authored-by: greptile-apps[bot] <greptile-apps[bot]@users.noreply.github.com>

Summary (draft / PoC — PR 2 of 2 spec change)
Adds
CardTransactionas a thirdTransactionOneOfmember with aCARDdiscriminator so card transactions appear inGET /transactionsand deserialize cleanly via the discriminator. This is the canonical spec change behind the Lightspark webdev SDK regen + sparkcore handler change (the companion PR) that unblocks the documented Grid sandbox card loop (simulate auth → list → simulate clearing → simulate return): integrators discover thecardTransactionIdfrom the public transaction list instead of needing the internal dashboard.Changes
TransactionOneOf: addCardTransaction+CARDdiscriminator mapping.CardTransaction: add atype: CARDdiscriminator property; relaxcardId,pullSummary,refundSummary,settlementSummaryto optional so the served card-transaction shape (theGET /transactions/{id}projection) validates and the list deserializes cleanly even for card transactions without a resolved card.GET /transactions: document that card transactions are identified bytype: CARDand that this is how integrators discover aCardTransactionid in Sandbox.The bundled
openapi.yaml/mintlify/openapi.yamlcarry only this change (the redocly rebundle reorders unrelated schemas, so the diff is scoped to the actual change; runmake buildon merge to fully re-normalize).Known limitations (PoC)
processorTransactionToken; the schema exposesissuerTransactionToken. SDK deserialization still succeeds (the loop works viaid), but the token isn't surfaced under the typed field — flagged for a follow-up rename.GET /transactions?type=CARDis not yet a valid filter (TransactionTypeisINCOMING/OUTGOING); clients filter client-side ontype: CARD. Follow-up.🤖 arcing-fulcrum(#1) | Feedback