feat: add QUOTE_RATE_UNAVAILABLE outgoing transaction failure reason - #846
feat: add QUOTE_RATE_UNAVAILABLE outgoing transaction failure reason#846ls-bolt[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
A refused exchange rate is a distinct outcome from a quote whose expiry window elapsed: nothing was exchanged in either case, but only one is about timing. Callers currently see QUOTE_EXPIRED for both and cannot tell them apart.
f0252e6 to
c10f85b
Compare
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
✱ Stainless preview builds for gridThis PR will update the cli go kotlin openapi php python ruby typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-typescript studio · code · diff
✅ grid-openapi studio · code · diff
✅ grid-ruby studio · code · diff
✅ grid-go studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-python studio · code · diff
✅ grid-php studio · code · diff
✅ grid-cli studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
…847) ## Summary - Adds `QUOTE_RATE_UNAVAILABLE` to `OutgoingTransactionFailureReason`, for a quote whose exchange rate was refused at execution time - Today that outcome is reported as `QUOTE_EXPIRED`, which is indistinguishable from a quote whose expiry window genuinely elapsed. Both mean nothing was exchanged, but only one is about timing, and only one is fixed by executing faster - Documents the recovery in the quote-system guide alongside the existing `QUOTE_EXPIRED` example: identical (create a new quote), so callers can handle both together ## Changes: 4 files - `openapi/components/schemas/transactions/OutgoingTransactionFailureReason.yaml` — new enum value + description-table row - `openapi.yaml`, `mintlify/openapi.yaml` — rebundled (`npm run build:openapi`) - `mintlify/platform-overview/core-concepts/quote-system.mdx` — error-handling example covers both codes ## Test plan - `make lint-openapi` — "Woohoo! Your API description is valid. 🎉" - Adding an enum value is additive, but a caller switching exhaustively on failure reasons will see a new variant — flagging for the `openapi-breaking-changes` check rather than working around it Requested by @jklein24 Original PR: #846

Summary
QUOTE_RATE_UNAVAILABLEtoOutgoingTransactionFailureReason, for a quote whose exchange rate was refused at execution timeQUOTE_EXPIRED, which is indistinguishable from a quote whose expiry window genuinely elapsed. Both mean nothing was exchanged, but only one is about timing, and only one is fixed by executing fasterQUOTE_EXPIREDexample: identical (create a new quote), so callers can handle both togetherChanges: 4 files
openapi/components/schemas/transactions/OutgoingTransactionFailureReason.yaml— new enum value + description-table rowopenapi.yaml,mintlify/openapi.yaml— rebundled (npm run build:openapi)mintlify/platform-overview/core-concepts/quote-system.mdx— error-handling example covers both codesTest plan
make lint-openapi— "Woohoo! Your API description is valid. 🎉"openapi-breaking-changescheck rather than working around itRequested by @jklein24