Skip to content

docs(quotes): document that quote create and execute require TRANSACT - #842

Closed
ls-bolt[bot] wants to merge 1 commit into
mainfrom
08-18-document-transact-permission-on-quotes
Closed

docs(quotes): document that quote create and execute require TRANSACT#842
ls-bolt[bot] wants to merge 1 commit into
mainfrom
08-18-document-transact-permission-on-quotes

Conversation

@ls-bolt

@ls-bolt ls-bolt Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

This PR has been claimed. The active PR is now #843.

Summary

Neither POST /quotes nor POST /quotes/{quoteId}/execute stated which token permission it requires, and neither documented a 403 for a permission refusal on execute.

Execute is the one worth spelling out. Its description covers Grid-Wallet-Signature in detail for EMBEDDED_WALLET sources, which reads as though the signature is the whole authorization story. It isn't: the signature proves the wallet holder approved the payment, while TRANSACT is what authorizes your integration to release it. An integrator building a read-only service could reasonably conclude a VIEW token plus a signature was a supported way to execute.

Changes

  • openapi/paths/quotes/quotes_{quoteId}_execute.yaml — state the TRANSACT requirement and how it relates to Grid-Wallet-Signature; add the 403
  • openapi/paths/quotes/quotes.yaml — state the TRANSACT requirement (a quote is the instrument execute draws on, and immediatelyExecute moves funds in the same request); extend the existing 403 description, which previously named only the End User Terms case
  • Regenerated bundles via make build: openapi.yaml, mintlify/openapi.yaml

Verification

  • make build — bundles regenerate cleanly; the bundle diff is exactly these four additions, no reformatting of unrelated paths
  • make lint"Woohoo! Your API description is valid.", 0 errors (pre-existing warnings/infos on unrelated beneficiary schemas only)

@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
grid-flow-builder Ignored Ignored Preview Aug 18, 2026 6:25pm
grid-wallet-demo Ignored Ignored Preview Aug 18, 2026 6:25pm

Request Review

@ls-bolt ls-bolt Bot added the bolt label Aug 18, 2026
Neither endpoint stated which permission it needs. Execute in particular reads
as though the Grid-Wallet-Signature header is the whole authorization story on
an EMBEDDED_WALLET source, so spell out that the signature and the token
permission answer two different questions.

Co-Authored-By: dhruvpareek <dhruvpareek@users.noreply.github.com>
@ls-bolt
ls-bolt Bot force-pushed the 08-18-document-transact-permission-on-quotes branch from ccb618c to ccff1a6 Compare August 18, 2026 18:24

Copy link
Copy Markdown

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

This PR will update the grid SDKs with the following commit messages.

cli

chore(internal): regenerate SDK with no functional changes

go

docs(api): add TRANSACT permission requirements to quote methods

kotlin

docs(api): add permission requirements to quotes create and execute methods

openapi

feat(api): add 403 error response to executeQuote

php

docs(api): add TRANSACT permission requirements to quotes create/execute

python

docs(api): clarify permission requirements for quotes create and execute methods

ruby

docs(api): add permission requirements to quotes create and execute

typescript

docs(api): add permission requirements to quotes create/execute methods

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-typescript studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ✅

npm install https://pkg.stainless.com/s/grid-typescript/5fae675da98465bc0987c22c3edfe63f7d2439a9/dist.tar.gz
grid-openapi studio · code · diff

Your SDK build had at least one "warning" diagnostic, but this did not represent a regression.
generate ⚠️

grid-ruby studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ✅test ✅

grid-go studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ❗

go get github.com/stainless-sdks/grid-go@b4e570ceb83d3196d539881a76806c6baf49e3ac
grid-kotlin studio · code · diff

Your SDK build had at least one "warning" diagnostic, but this did not represent a regression.
generate ⚠️build ✅lint ✅test ❗

grid-python studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅build ✅lint ❗test ❗

pip install https://pkg.stainless.com/s/grid-python/a677aa8902818c6cd967d6b11ce0b09f2e314733/grid-0.0.1-py3-none-any.whl
grid-php studio · code · diff

Your SDK build had at least one "note" diagnostic, but this did not represent a regression.
generate ✅lint ✅test ✅

grid-cli studio · code · diff

Your SDK build had at least one "warning" diagnostic, but this did not represent a regression.
generate ⚠️build ❗lint ❗test ❗


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-08-18 18:32:25 UTC

@mintlify

mintlify Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Grid 🟢 Ready View Preview Aug 18, 2026, 6:27 PM

@greptile-apps

greptile-apps Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR clarifies that creating and executing quotes requires the TRANSACT token permission and documents the associated forbidden responses.

  • Explains how TRANSACT authorization differs from an Embedded Wallet holder's signature.
  • Adds the execute endpoint's 403 response and expands the create endpoint's existing 403 description.
  • Regenerates both committed OpenAPI bundles from the modular source specification.

Confidence Score: 5/5

The documentation-only changes appear safe to merge.

The source path updates are internally consistent with the token permission and shared error schemas, and both generated OpenAPI bundles contain the corresponding changes without unrelated drift.

Important Files Changed

Filename Overview
openapi/paths/quotes/quotes.yaml Documents the TRANSACT requirement for quote creation and accurately expands the existing Error403 response description.
openapi/paths/quotes/quotes_{quoteId}_execute.yaml Documents the distinct integration-token and wallet-holder authorization requirements and adds a schema-consistent Error403 response.
openapi.yaml Regenerated root bundle matches the quote path source changes.
mintlify/openapi.yaml Regenerated Mintlify bundle remains synchronized with the root OpenAPI bundle.

Reviews (1): Last reviewed commit: "docs(quotes): document that quote create..." | Re-trigger Greptile

DhruvPareek added a commit that referenced this pull request Aug 21, 2026
…#843)

## Summary

Neither `POST /quotes` nor `POST /quotes/{quoteId}/execute` stated which token permission it requires, and neither documented a `403` for a permission refusal on execute.

Execute is the one worth spelling out. Its description covers `Grid-Wallet-Signature` in detail for `EMBEDDED_WALLET` sources, which reads as though the signature is the whole authorization story. It isn't: the signature proves the **wallet holder** approved the payment, while `TRANSACT` is what authorizes **your integration** to release it. An integrator building a read-only service could reasonably conclude a `VIEW` token plus a signature was a supported way to execute.

## Changes

- `openapi/paths/quotes/quotes_{quoteId}_execute.yaml` — state the `TRANSACT` requirement and how it relates to `Grid-Wallet-Signature`; add the `403`
- `openapi/paths/quotes/quotes.yaml` — state the `TRANSACT` requirement (a quote is the instrument execute draws on, and `immediatelyExecute` moves funds in the same request); extend the existing `403` description, which previously named only the End User Terms case
- Regenerated bundles via `make build`: `openapi.yaml`, `mintlify/openapi.yaml`

## Verification

- `make build` — bundles regenerate cleanly; the bundle diff is exactly these four additions, no reformatting of unrelated paths
- `make lint` — *"Woohoo! Your API description is valid."*, **0 errors** (pre-existing warnings/infos on unrelated beneficiary schemas only)

Original PR: #842
@DhruvPareek
DhruvPareek deleted the 08-18-document-transact-permission-on-quotes branch August 21, 2026 20:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants