Skip to content

docs(cards): panEmbedUrl is nullable and minted only on GET /cards/{id}#657

Open
benwgold wants to merge 6 commits into
mainfrom
07-06-pan-embed-url-fetch-on-demand-docs
Open

docs(cards): panEmbedUrl is nullable and minted only on GET /cards/{id}#657
benwgold wants to merge 6 commits into
mainfrom
07-06-pan-embed-url-fetch-on-demand-docs

Conversation

@benwgold

@benwgold benwgold commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up #2 from webdev#29877 (Lithic card PAN-reveal POC) — brings the public docs in line with the actual reveal model: the signed panEmbedUrl is minted only on GET /cards/{id}, is short-lived (~5 min TTL), and is null everywhere else (list/create/update responses and webhook payloads).

  • openapi/components/schemas/cards/Card.yamlpanEmbedUrl is now nullable (type: [string, 'null']), with a description stating it's populated only on the single-card GET, is short-lived, and should be fetched right before rendering the iframe (never cached).
  • openapi/paths/cards/cards_{id}.yamlGET /cards/{id} description now calls out that it's the only endpoint that mints a fresh panEmbedUrl.
  • mintlify/snippets/cards/issuing-cards.mdx (rendered by mintlify/cards/card-management/issuing-cards.mdx, which just imports the snippet) — removed panEmbedUrl from the fields the CARD.STATE_CHANGE webhook delivers; added a "Revealing the PAN" section with the fetch-on-demand pattern.
  • Consistency fixes in the other stale references the task called out as inconsistent: mintlify/snippets/cards/webhooks.mdx and quickstart.mdx (webhook example payloads now show panEmbedUrl: null; reveal notes rewritten to fetch-on-demand), terminology.mdx (PAN embed URL definition mentions single-GET-only + short-lived), and the activated example in openapi/webhooks/card-state-change.yaml.

Verification

  • make build — rebundled openapi.yaml + mintlify/openapi.yaml (both included).
  • make lint — passes with 0 errors; remaining warnings/infos are pre-existing on main (verified by diffing against a baseline lint run on main).
  • Local Codex review: no findings.

Note: the Stainless Build SDKs csharp preview check is expected to go red — it currently fails for any codegen-delta change, content-independently (csharp target is unpublished; precedent: #633, #637 merged through it). Lint / Breaking Changes / Docs build are the real gates here.


🤖 thundering-graviton(#1) | Feedback

Original PR: #654

Make Card.panEmbedUrl nullable in the OpenAPI schema and document the
fetch-on-demand reveal pattern: the signed URL is populated only on the
single-card GET, is short-lived, and must be fetched right before
rendering the PAN-reveal iframe. Update the issuing-cards, quickstart,
webhooks, and terminology docs (and the CARD.STATE_CHANGE webhook
example) that previously showed panEmbedUrl arriving populated in the
webhook payload.

Follow-up #2 from webdev#29877.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ls-bolt ls-bolt Bot added bolt breaking-change Introduces a breaking change to the OpenAPI spec labels Jul 7, 2026
@benwgold benwgold requested a review from AaryamanBhute July 7, 2026 00:58
@benwgold benwgold marked this pull request as ready for review July 7, 2026 00:58
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

⚠️ Breaking OpenAPI changes detected

This PR introduces breaking changes to openapi.yaml:

API Changelog 2026-06-29 vs. 2026-06-29

API Changes

GET /agents/approvals

  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /agents/me/actions

  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /agents/me/actions/{actionId}

  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /agents/me/external-accounts

  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /agents/me/external-accounts

  • ⚠️ the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/vpa became required
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/bankName
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/rail
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

GET /agents/me/external-accounts/{externalAccountId}

  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /agents/me/internal-accounts

  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /agents/me/quotes

  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

GET /agents/me/quotes/{quoteId}

  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /agents/me/quotes/{quoteId}/execute

  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /agents/me/transactions

  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /agents/me/transactions/{transactionId}

  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /agents/me/transfer-in

  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

POST /agents/me/transfer-out

  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

POST /agents/{agentId}/actions/{actionId}/approve

  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /agents/{agentId}/actions/{actionId}/reject

  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /cards

  • ⚠️ the response property data/items/panEmbedUrl became nullable for the status 200

POST /cards

  • ⚠️ the response property panEmbedUrl became nullable for the status 201

GET /cards/{id}

  • ⚠️ the response property panEmbedUrl became nullable for the status 200

PATCH /cards/{id}

  • ⚠️ the response property panEmbedUrl became nullable for the status 200

GET /customers/external-accounts

  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /customers/external-accounts

  • ⚠️ the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/vpa became required
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/bankName
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc
  • ⚠️ removed the request property allOf[subschema #1]/accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/rail
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

GET /customers/external-accounts/{externalAccountId}

  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /customers/internal-accounts

  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

PATCH /internal-accounts/{id}

  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /platform/external-accounts

  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /platform/external-accounts

  • ⚠️ the request property accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/vpa became required
  • ⚠️ removed the request property accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber
  • ⚠️ removed the request property accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/bankName
  • ⚠️ removed the request property accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc
  • ⚠️ removed the request property accountInfo/oneOf[subschema #17: INR Account]/allOf[#/components/schemas/InrAccountInfoBase]/rail
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

GET /platform/external-accounts/{externalAccountId}

  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #1]/accountInfo/oneOf[subschema #16: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /platform/internal-accounts

  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /quotes

  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

GET /quotes/{quoteId}

  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /quotes/{quoteId}/execute

  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /sandbox/internal-accounts/{accountId}/fund

  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /sandbox/send

  • ⚠️ removed the optional property allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /transactions

  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property data/items/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

GET /transactions/{transactionId}

  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /transactions/{transactionId}/confirm

  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 200 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 200 status

POST /transfer-in

  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

POST /transfer-out

  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber from the response with the 201 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName from the response with the 201 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc from the response with the 201 status
  • ⚠️ removed the optional property oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail from the response with the 201 status

POST webhook:agent-action

  • ⚠️ the request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/vpa became required
  • ⚠️ the request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/vpa became required
  • ⚠️ removed the enum value NEFT of the request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the enum value NEFT of the request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the enum value RTGS of the request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the enum value RTGS of the request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber
  • ⚠️ removed the request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName
  • ⚠️ removed the request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc
  • ⚠️ removed the request property allOf[subschema #2]/data/quote/allOf[#/components/schemas/Quote]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail
  • ⚠️ removed the request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber
  • ⚠️ removed the request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName
  • ⚠️ removed the request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc
  • ⚠️ removed the request property allOf[subschema #2]/data/transaction/allOf[#/components/schemas/TransactionOneOf]/oneOf[subschema #2: Outgoing Transaction]/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail

POST webhook:internal-account-status

  • ⚠️ the request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/vpa became required
  • ⚠️ removed the enum value NEFT of the request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the enum value RTGS of the request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber
  • ⚠️ removed the request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName
  • ⚠️ removed the request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc
  • ⚠️ removed the request property allOf[subschema #2]/data/fundingPaymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail

POST webhook:outgoing-payment

  • ⚠️ the request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/vpa became required
  • ⚠️ removed the enum value NEFT of the request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the enum value RTGS of the request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[subschema #2]/paymentRails/items/
  • ⚠️ removed the request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/accountNumber
  • ⚠️ removed the request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/bankName
  • ⚠️ removed the request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/ifsc
  • ⚠️ removed the request property allOf[subschema #2]/data/allOf[subschema #2]/paymentInstructions/items/accountOrWalletInfo/oneOf[subschema #6: INR Account]/allOf[#/components/schemas/InrAccountInfo]/allOf[#/components/schemas/InrAccountInfoBase]/rail

Detected by oasdiff. This PR will need approval from an API reviewer before merge.

akanter commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

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

cli

docs(api): update card retrieve method documentation

csharp

docs(api): clarify panEmbedUrl behavior in cards retrieve method

go

docs(api): clarify panEmbedUrl only populated on card Get method

kotlin

docs(api): clarify panEmbedUrl behavior in Card model and retrieve method

openapi

fix(types): make panEmbedUrl nullable in Card model

php

docs(api): clarify panEmbedUrl behavior in card model and retrieve method

python

docs(api): update panEmbedUrl documentation in cards

ruby

docs(api): clarify pan_embed_url behavior in card model and retrieve method

typescript

docs(api): update cards retrieve method and panEmbedUrl field docs

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

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 ✅ (prev: 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 ✅ (prev: build ⏭️) → lint ❗test ❗

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

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

⚠️ grid-typescript studio · code · diff

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ✅build ✅ (prev: build ⏭️) → lint ❗ (prev: lint ⏭️) → test ✅

npm install https://pkg.stainless.com/s/grid-typescript/6fc6bb0bcb19fc0317b2d7bac3bef6c9ac0650ae/dist.tar.gz
⚠️ grid-python studio · code · diff

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ✅build ✅ (prev: build ⏭️) → lint ❗ (prev: lint ⏭️) → test ❗

pip install https://pkg.stainless.com/s/grid-python/fd1f3d393bc92e9c72c0db467a175c8911c1574f/grid-0.0.1-py3-none-any.whl
⚠️ grid-csharp studio · code · diff

Your SDK build had a failure in the build CI job, which is a regression from the base state.
generate ⚠️build ❗ (prev: build ⏭️) → lint ✅ (prev: lint ⏭️) → test ❗

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-07-07 02:21:26 UTC

@greptile-apps

greptile-apps Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR corrects the public documentation to accurately reflect that panEmbedUrl is minted only on GET /cards/{id}, is short-lived, and is null in all other contexts (list, create, update, and webhook payloads). The schema is updated with the correct OpenAPI 3.1 nullable type and all Mintlify docs are updated consistently.

  • Card.yamlpanEmbedUrl type changed to [string, 'null'] (valid OAS 3.1 nullable); description updated to document the single-GET-only, short-lived contract.
  • cards_{id}.yamlGET /cards/{id} description now explicitly identifies this as the sole endpoint that mints the URL.
  • Mintlify snippetsissuing-cards.mdx gains a "Revealing the PAN" fetch-on-demand section; quickstart.mdx, webhooks.mdx, and terminology.mdx all updated to show panEmbedUrl: null in webhook examples and rewritten reveal notes.

Confidence Score: 5/5

Documentation-only change that corrects an inaccurate description; no application logic is touched.

All nine changed files are documentation (OpenAPI YAML descriptions/examples and Mintlify MDX snippets). The schema change to nullable panEmbedUrl is correct OAS 3.1 syntax, the bundled output files are in sync, and every doc surface is updated consistently. The one minor gap — frozen and issuerRejected webhook examples omit the field rather than explicitly showing null — is a cosmetic inconsistency, not a factual error.

openapi/webhooks/card-state-change.yaml — the frozen and issuerRejected examples could also include panEmbedUrl: null for consistency with the updated activated example.

Important Files Changed

Filename Overview
openapi/components/schemas/cards/Card.yaml Adds nullable type ([string, 'null']) to panEmbedUrl — correct OpenAPI 3.1 syntax — and updates the description to document the single-GET-only, short-lived nature of the URL.
openapi/paths/cards/cards_{id}.yaml Extends the GET /cards/{id} description to explicitly call out that this is the only endpoint that mints a fresh panEmbedUrl. No schema changes.
openapi/webhooks/card-state-change.yaml Updates the activated example to show panEmbedUrl: null. The frozen and issuerRejected examples still omit the field rather than explicitly setting it to null, creating a minor inconsistency with the activated example.
mintlify/snippets/cards/issuing-cards.mdx Removes panEmbedUrl from the list of fields populated in the activation webhook and adds a clear "Revealing the PAN" section with the fetch-on-demand pattern.
mintlify/snippets/cards/quickstart.mdx Webhook example payload updated to panEmbedUrl: null and the note rewritten to point users to GET /cards/{id} for the reveal URL.
mintlify/snippets/cards/webhooks.mdx Webhook payload example updated to show panEmbedUrl: null and the bullet for the ACTIVE branch rewritten to direct integrators to call GET /cards/{id} before rendering the iframe.
mintlify/snippets/cards/terminology.mdx Appends a sentence to the panEmbedUrl definition clarifying it's short-lived and available only on the single-card GET.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant Platform
    participant Grid API
    participant Webhook

    Platform->>Grid API: POST /cards
    Grid API-->>Platform: 200 { state: PROCESSING, panEmbedUrl: null }
    Grid API->>Webhook: CARD.STATE_CHANGE { state: ACTIVE, panEmbedUrl: null }
    Note over Webhook: panEmbedUrl is always null in webhook payloads

    Platform->>Grid API: GET /cards/{id}
    Grid API-->>Platform: 200 { state: ACTIVE, panEmbedUrl: "https://embed.lithic.com/iframe/...?t=..." }
    Note over Platform,Grid API: Fresh signed URL minted on each GET /cards/{id} call (~5 min TTL)

    Platform->>Platform: Render panEmbedUrl in iframe
    Note over Platform: Cardholder sees PAN/CVV/expiry — credentials never cross Grid or platform servers
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant Platform
    participant Grid API
    participant Webhook

    Platform->>Grid API: POST /cards
    Grid API-->>Platform: 200 { state: PROCESSING, panEmbedUrl: null }
    Grid API->>Webhook: CARD.STATE_CHANGE { state: ACTIVE, panEmbedUrl: null }
    Note over Webhook: panEmbedUrl is always null in webhook payloads

    Platform->>Grid API: GET /cards/{id}
    Grid API-->>Platform: 200 { state: ACTIVE, panEmbedUrl: "https://embed.lithic.com/iframe/...?t=..." }
    Note over Platform,Grid API: Fresh signed URL minted on each GET /cards/{id} call (~5 min TTL)

    Platform->>Platform: Render panEmbedUrl in iframe
    Note over Platform: Cardholder sees PAN/CVV/expiry — credentials never cross Grid or platform servers
Loading

Comments Outside Diff (1)

  1. openapi/webhooks/card-state-change.yaml, line 86-106 (link)

    P2 The frozen and issuerRejected examples silently omit panEmbedUrl, while the activated example now explicitly shows panEmbedUrl: null. This mixed pattern — null vs. absent — leaves integrators unsure whether the field is present-but-null or not included in those payloads. Since the PR establishes that panEmbedUrl is always null in webhook payloads, adding the field explicitly to the other examples would make the examples self-consistent and reinforce that guarantee.

    Prompt To Fix With AI
    This is a comment left during a code review.
    Path: openapi/webhooks/card-state-change.yaml
    Line: 86-106
    
    Comment:
    The `frozen` and `issuerRejected` examples silently omit `panEmbedUrl`, while the `activated` example now explicitly shows `panEmbedUrl: null`. This mixed pattern — null vs. absent — leaves integrators unsure whether the field is present-but-null or not included in those payloads. Since the PR establishes that `panEmbedUrl` is always null in webhook payloads, adding the field explicitly to the other examples would make the examples self-consistent and reinforce that guarantee.
    
    
    
    How can I resolve this? If you propose a fix, please make it concise.

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
openapi/webhooks/card-state-change.yaml:86-106
The `frozen` and `issuerRejected` examples silently omit `panEmbedUrl`, while the `activated` example now explicitly shows `panEmbedUrl: null`. This mixed pattern — null vs. absent — leaves integrators unsure whether the field is present-but-null or not included in those payloads. Since the PR establishes that `panEmbedUrl` is always null in webhook payloads, adding the field explicitly to the other examples would make the examples self-consistent and reinforce that guarantee.

```suggestion
          frozen:
            summary: Card frozen by the platform
            value:
              id: Webhook:019542f5-b3e7-1d02-0000-000000000022
              type: CARD.STATE_CHANGE
              timestamp: '2026-05-09T09:00:00Z'
              data:
                id: Card:019542f5-b3e7-1d02-0000-000000000010
                cardholderId: Customer:019542f5-b3e7-1d02-0000-000000000001
                state: FROZEN
                stateReason: null
                brand: VISA
                form: VIRTUAL
                last4: '4242'
                expMonth: 12
                expYear: 2029
                panEmbedUrl: null
                fundingSources:
                  - InternalAccount:019542f5-b3e7-1d02-0000-000000000002
                currency: USD
                createdAt: '2026-05-08T14:10:00Z'
                updatedAt: '2026-05-09T09:00:00Z'
```

Reviews (1): Last reviewed commit: "docs(cards): panEmbedUrl is nullable and..." | Re-trigger Greptile

…ples

The frozen and issuerRejected examples omitted the field while activated
showed it as null; the serializer always emits the key, so all three now
match the wire format.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 7, 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 Jul 7, 2026 2:17am
grid-wallet-demo Ignored Ignored Preview Jul 7, 2026 2:17am

Request Review

@ls-bolt

ls-bolt Bot commented Jul 7, 2026

Copy link
Copy Markdown

Applied. Added explicit panEmbedUrl: null to the frozen and issuerRejected examples in openapi/webhooks/card-state-change.yaml (d573002), so all three webhook examples now consistently show the field as present-but-null — which matches the wire format, since the serializer always emits the key. Rebundled openapi.yaml + mintlify/openapi.yaml; make lint passes.


🤖 thundering-graviton(#2) | Feedback

Folded in from #656 so this PR's preview check goes green on its own.

Co-Authored-By: mohamedwane <mohamedwane@users.noreply.github.com>
Co-Authored-By: benwgold <benwgold@users.noreply.github.com>
@ls-bolt

ls-bolt Bot commented Jul 7, 2026

Copy link
Copy Markdown

Folded #656 into this PR per ben's request ("can probably merge into one"): commit 0bc4ba1 adds skip: true on the unpublished Stainless csharp target (whose broken upstream build CI was the only thing turning the preview check red on any codegen-delta PR — validated 2/2 green on #656), plus the small GTQ bankName description clarification that rode along with it. make build + make lint pass; the fresh CI run on this push should now show preview green. Closing #656.


🤖 radiant-quark(#1) | Feedback

benwgold and others added 2 commits July 7, 2026 01:26
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
skip: true doesn't stop the target's build CI job from gating the
preview check (656's green runs passed only because their base build
had no cached csharp success to regress from). With no csharp target
in the config there is no head build outcome to compare, so the broken
upstream csharp build CI can't fail the check.

Co-Authored-By: benwgold <benwgold@users.noreply.github.com>
@ls-bolt

ls-bolt Bot commented Jul 7, 2026

Copy link
Copy Markdown

Correction to my earlier comment: the folded-in skip: true turned out to be a no-op for the preview check, so I replaced it with removing the csharp target from .stainless/stainless.yml entirely (commit 069ad9a).

What the sticky Stainless comment revealed: on this PR the head csharp build ran its build CI (build ❗) while the base build was a cache reuse (build ⏭️ pointing at an older good state), so the failure counted as a "regression from the base state" and turned preview red. On #656 the head csharp build also failed (build ❗), but its freshly-created base had no cached csharp success to regress from, so the check passed — the 2/2 "validation" of the skip was coincidence, not the skip working. skip: true never stopped codegen or the downstream build CI job.

With no csharp target in the config, there's no head csharp build outcome to compare at all, which deterministically takes the broken upstream csharp build CI out of the gate. csharp was unpublished (production_repo: null, publish.nuget: false), so nothing ships differently; re-add the target block when Stainless fixes their csharp build CI.

Watching the fresh preview run now and will confirm.


🤖 radiant-quark(#1) | Feedback

@ls-bolt

ls-bolt Bot commented Jul 7, 2026

Copy link
Copy Markdown

Removing the csharp target from the repo config doesn't fix it either. Evidence from the run on 069ad9a (job 85516928968):

  • The workflow uploads config_path: .stainless/stainless.yml from the checkout, and I verified the checked-out merge ref (57696065) contains the removal — no csharp target block, only a comment.
  • Stainless nevertheless created the head build for languages: ... csharp ... and the check failed with the same csharp: Your SDK build had a failure in the build CI job, which is a regression from the base state.

So the project's target set persists server-side (Stainless Studio, org lightspark, project grid) — the repo YAML upload doesn't remove a target. Score so far: skip: true no-op, repo-level target removal no-op. Getting csharp out of the preview gate needs someone with Stainless Studio access to remove/disable the target there (bolt pods have no Stainless creds), or Stainless support.

Meanwhile this PR doesn't need to wait: every real gate is green (Lint, Docs build, Breaking Changes, Greptile 5/5), the red preview is content-independent, and there's precedent merging through it (#633, #637). The two stainless.yml commits can stay (harmless either way) or be dropped — reviewer's choice.


🤖 thundering-graviton(#2) | Feedback

@ls-bolt

ls-bolt Bot commented Jul 7, 2026

Copy link
Copy Markdown

Verdict from probe PR #659: the csharp removal in this PR WILL fix the preview check — but only after it merges to main. Empirical proof + mechanism:

The probe: #659 stacked a doc-comment-only codegen delta (the exact class proven to fail preview against main, per the #650 bisect) on top of this branch's csharp-free config. Its preview check passed (run).

The mechanism (from the probe's sticky comment + the action source): the gate is a per-language head-vs-base regression comparison, and Stainless builds csharp regardless of the repo config (the project's target registry persists server-side — that's why skip: true and the target removal both "failed" on this PR's own runs).

  • On this PR: base build = main's config, which resolves to a cached old csharp success (build ⏭️). Head csharp fails fresh → regression → red.
  • On the probe: base derives from the csharp-free config → fresh base build whose csharp also fails (build ❗) → head failure is "not a regression" → green. This is deterministic, not cache luck: csharp-free config commits have no cached success to reuse, so base and head always fail identically.

Practical upshot:

  1. This PR's own preview stays red no matter what — merge through it (all real gates are green; precedent feat(openapi): add rail + settlement-timing fields to OutgoingTransaction #633/Add idType/identifier to IndividualCustomerCreateRequest (ENG-10686) #637).
  2. Once merged, every subsequent codegen-delta PR passes preview. No Stainless Studio access needed for the check.
  3. Studio access would only stop csharp from building at all (cosmetic entries in sticky comments will persist). The builds.compare API accepts a targets allow-list that would do the same, but the GitHub action doesn't expose it — an upstream feature request if we care.

Probe #659 is closed and its branch deleted.


🤖 thundering-graviton(#2) | Feedback

Keep csharp configured; the preview check stays red on codegen-delta
PRs until Stainless fixes their csharp build CI upstream.

Co-Authored-By: benwgold <benwgold@users.noreply.github.com>
@ls-bolt

ls-bolt Bot commented Jul 7, 2026

Copy link
Copy Markdown

Per ben's preference to keep csharp: commit 371594f restores the csharp target block, so .stainless/stainless.yml now matches main exactly (net-zero config change in this PR). Consequence: the preview check stays red on this and future codegen-delta PRs until Stainless fixes their csharp build CI upstream — merge through it per precedent (#633, #637); all real gates are green.


🤖 radiant-quark(#2) | Feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bolt breaking-change Introduces a breaking change to the OpenAPI spec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants