Skip to content

feat(webhooks): add wallet-operation partner webhook - #802

Draft
carsonp6 wants to merge 1 commit into
mainfrom
grid-api-wallet-operation-webhook
Draft

feat(webhooks): add wallet-operation partner webhook#802
carsonp6 wants to merge 1 commit into
mainfrom
grid-api-wallet-operation-webhook

Conversation

@carsonp6

@carsonp6 carsonp6 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What

Add the wallet-operation partner webhook to the public Grid API spec: the webhook entry plus its WalletOperationWebhook / WalletOperationWebhookData / OperationError schemas, and the two WALLET_OPERATION.* values in the central WebhookType enum.

This documents a webhook that already fires from the backend on terminal transitions of asynchronous embedded-wallet operations — WALLET_OPERATION.COMPLETED on terminal success, WALLET_OPERATION.FAILED on terminal failure. We are just formalizing the public contract.

Shape

  • Webhook envelope type (UPPERCASE, matching the OBJECT.EVENT convention): WALLET_OPERATION.COMPLETED, WALLET_OPERATION.FAILED.
  • data.status (lowercase): completed, failed.
  • data.operationType (the specific op): auth_credential.delete, session.revoke, wallet.export.
  • data.error ({ code }) present only on failure; null/omitted otherwise.
  • The webhook carries no sensitive result material. For a data-returning op (wallet.export), the result is never delivered in the webhook — it is retrieved by resubmitting the original signed export request until it returns the result.

Notes

Status

DRAFT — first of a two-step change; the monorepo regen + emitter casing alignment lands separately.

Document the wallet-operation webhook that fires when an asynchronous
embedded-wallet operation reaches a terminal state:
WALLET_OPERATION.COMPLETED on terminal success, WALLET_OPERATION.FAILED
on terminal failure. The specific op is carried in data.operationType
(auth_credential.delete, session.revoke, wallet.export); data.status is
lowercase completed/failed.

Adds WalletOperationWebhook / WalletOperationWebhookData / OperationError
schemas, the two WALLET_OPERATION.* WebhookType enum values, and
registers the webhook in the root spec. Additive only; no API version
bump. A data-returning result (wallet.export) is retrieved by
resubmitting the original signed request until it returns the result --
never delivered in the webhook.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Aug 5, 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 5, 2026, 9:34 PM

@vercel

vercel Bot commented Aug 5, 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 Aug 5, 2026 9:32pm
grid-wallet-demo Ignored Ignored Aug 5, 2026 9:32pm

Request Review

@github-actions

github-actions Bot commented Aug 5, 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

feat(api): add wallet operation webhook event type

kotlin

feat(api): add walletOperation webhook event type

openapi

feat(api): add wallet operation completed/failed webhook

php

feat(api): add WalletOperationWebhookEvent to webhooks

python

feat(api): add WalletOperationWebhookEvent webhook type

ruby

feat(api): add WalletOperationWebhookEvent to webhooks

typescript

feat(api): add WalletOperationWebhookEvent to webhooks

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/fe24eb93c27c2e4d3e27a026abfa47b085f4a635/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@590d98faa18be0fbbbe0c28236993ee0d98b6ff4
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/7b6a0fb2607e0e03893c185189f2608ef4251581/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-05 21:38:30 UTC

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