docs(openapi): keep pending auth on funding source#611
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
|
✱ Stainless preview builds for gridThis PR will update the cli csharp go kotlin openapi php python ruby typescript ✅ grid-ruby studio · code
|
Greptile SummaryThis PR moves delegated-authorization tracking from the card level to the funding-source level:
Confidence Score: 5/5Safe to merge — purely documentation changes with no application code, and all references have been consistently updated. The change is documentation-only: it removes a card-level state, adds a field to a schema, and rewrites related prose. All six files are consistent, no stray PENDING_AUTH references remain anywhere in the spec or Mintlify bundle, the previous review comment about stale card language in DelegatedKey.yaml is fully addressed, and both bundled outputs match the source changes. No files require special attention.
|
| Filename | Overview |
|---|---|
| openapi/components/schemas/cards/CardState.yaml | Removes PENDING_AUTH from the CardState enum and its description table; no remaining references elsewhere in the spec. |
| openapi/components/schemas/auth/DelegatedKey.yaml | Adds fundingSourceId as a required property; updates description and accountId field description to 'card funding source' terminology throughout; no stale 'card' language remains. |
| openapi/paths/auth/auth_delegated-keys.yaml | POST create example updated with fundingSourceId; endpoint description already uses funding-source terminology correctly. |
| openapi/paths/cards/cards.yaml | createCard description updated: PENDING_AUTH state-transition prose removed; delegated-key requirement reframed as a funding-source prerequisite that does not block card state progression. |
| openapi.yaml | Bundled output — mirrors all changes from the source openapi/ files as expected. |
| mintlify/openapi.yaml | Mintlify bundle — identical diff to openapi.yaml, correctly regenerated from source. |
Sequence Diagram
%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant Client
participant Grid
Note over Client,Grid: Card Creation (new flow)
Client->>Grid: POST /cards (fundingSources: [InternalAccount:...])
Grid-->>Client: "201 Card {state: PROCESSING}"
Note over Client,Grid: Delegated-Key Flow (per funding source)
Client->>Grid: "POST /auth/delegated-keys {fundingSourceId}"
Grid-->>Client: "202 {payloadToSign, requestId}"
Client->>Grid: POST /auth/delegated-keys + Grid-Wallet-Signature (leg 2)
Grid-->>Client: "202 {payloadToSign, requestId}"
Client->>Grid: POST /auth/delegated-keys + Grid-Wallet-Signature (leg 3)
Grid-->>Client: "201 DelegatedKey {fundingSourceId, status: ACTIVE}"
Note over Client,Grid: Card transitions independently
Grid-->>Client: webhook card.state_change to ACTIVE
Note over Client,Grid: Authorization Decisioning can now use funding source
%%{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 Client
participant Grid
Note over Client,Grid: Card Creation (new flow)
Client->>Grid: POST /cards (fundingSources: [InternalAccount:...])
Grid-->>Client: "201 Card {state: PROCESSING}"
Note over Client,Grid: Delegated-Key Flow (per funding source)
Client->>Grid: "POST /auth/delegated-keys {fundingSourceId}"
Grid-->>Client: "202 {payloadToSign, requestId}"
Client->>Grid: POST /auth/delegated-keys + Grid-Wallet-Signature (leg 2)
Grid-->>Client: "202 {payloadToSign, requestId}"
Client->>Grid: POST /auth/delegated-keys + Grid-Wallet-Signature (leg 3)
Grid-->>Client: "201 DelegatedKey {fundingSourceId, status: ACTIVE}"
Note over Client,Grid: Card transitions independently
Grid-->>Client: webhook card.state_change to ACTIVE
Note over Client,Grid: Authorization Decisioning can now use funding source
Reviews (3): Last reviewed commit: "docs(openapi): keep pending auth off car..." | Re-trigger Greptile
3e25b87 to
c34a3c3
Compare
|
fixed the P2 "Stale "card" language in schema description" |
|
@greptileai review |
Summary
Validation