docs: sync external account docs with new GET/PATCH/DELETE endpoints#359
docs: sync external account docs with new GET/PATCH/DELETE endpoints#359claude[bot] wants to merge 1 commit intomainfrom
Conversation
Adds documentation for the new external account endpoints introduced in commit b916f15: - GET /customers/external-accounts/{externalAccountId} - PATCH /customers/external-accounts/{externalAccountId} - DELETE /customers/external-accounts/{externalAccountId} These endpoints allow retrieving, updating (platformAccountId and beneficiary only), and deleting external accounts by their ID. Note: Kotlin sample updates deferred until Grid SDK is updated to support these new endpoints (currently SDK v1.6.0). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR adds documentation for the new
Confidence Score: 3/5Docs are accurate and safe to render, but incomplete — platform external account CRUD endpoints are absent despite existing in the OpenAPI spec. The customer endpoint examples are technically correct (verified against OpenAPI spec), but the stated goal of the PR is to sync docs with the new GET/PATCH/DELETE endpoints, and the platform variants are equally new. Leaving them out creates a visible documentation gap for platform-level integrators. mintlify/snippets/external-accounts.mdx — needs platform external account GET/PATCH/DELETE sections and a PATCH response example
|
| Filename | Overview |
|---|---|
| mintlify/snippets/external-accounts.mdx | Adds GET/PATCH/DELETE docs for customer external accounts, but omits equivalent platform external account endpoints that also exist in the OpenAPI spec; PATCH response example is also missing. |
Sequence Diagram
sequenceDiagram
participant Client
participant GridAPI as Grid API
Note over Client,GridAPI: GET by ID
Client->>GridAPI: GET /customers/external-accounts/{id}
GridAPI-->>Client: 200 ExternalAccount
Note over Client,GridAPI: PATCH (update)
Client->>GridAPI: PATCH /customers/external-accounts/{id}
GridAPI-->>Client: 200 Updated ExternalAccount
Note over Client,GridAPI: DELETE
Client->>GridAPI: DELETE /customers/external-accounts/{id}
GridAPI-->>Client: 204 No Content
Note over Client,GridAPI: Platform variants (undocumented in PR)
Client--xGridAPI: GET /platform/external-accounts/{id}
Client--xGridAPI: PATCH /platform/external-accounts/{id}
Client--xGridAPI: DELETE /platform/external-accounts/{id}
Prompt To Fix All With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 787-876
Comment:
**Platform external account endpoints not documented**
The OpenAPI spec (`openapi/openapi.yaml` line 110-111) defines equivalent `GET`, `PATCH`, and `DELETE` endpoints for `/platform/external-accounts/{externalAccountId}` — identical in capability to the customer variants just added. The existing "Listing external accounts" section already covers both customer and platform list operations side-by-side (lines 764-785), so users will expect parity here too. Without platform-scoped GET/PATCH/DELETE examples, platform-level integrations are left without guidance after the listing section ends.
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 819-857
Comment:
**Missing PATCH response example**
The PATCH endpoint returns `200` with the full updated `ExternalAccount` object (per `customers_external_accounts_{externalAccountId}.yaml` lines 76-82). The style guide requires showing complete request/response cycles ("Cover complete request/response cycles", "Show both success and error response examples"), but both PATCH tabs only show the request. Consider adding a response block after `</Tabs>` similar to the GET section's `**Response:**` block.
**Context Used:** mintlify/CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=8705e0ee-b98a-4325-9b4d-e1f5638b408a))
How can I resolve this? If you propose a fix, please make it concise.Reviews (1): Last reviewed commit: "docs: add GET/PATCH/DELETE documentation..." | Re-trigger Greptile
| ## Get external account by ID | ||
|
|
||
| Retrieve a specific external account by its system-generated ID: | ||
|
|
||
| ```bash cURL | ||
| curl -X GET 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts/{externalAccountId}' \ | ||
| -H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' | ||
| ``` | ||
|
|
||
| **Response:** | ||
|
|
||
| ```json | ||
| { | ||
| "id": "ExternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965", | ||
| "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001", | ||
| "status": "ACTIVE", | ||
| "currency": "USD", | ||
| "platformAccountId": "user_123_primary_bank", | ||
| "accountInfo": { | ||
| "accountType": "US_ACCOUNT", | ||
| "accountNumber": "123456789", | ||
| "routingNumber": "021000021", | ||
| "accountCategory": "CHECKING", | ||
| "bankName": "Chase Bank", | ||
| "beneficiary": { | ||
| "beneficiaryType": "INDIVIDUAL", | ||
| "fullName": "John Doe" | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## Update external account | ||
|
|
||
| Update mutable fields on an external account. Only `platformAccountId` and `beneficiary` can be updated: | ||
|
|
||
| <Tabs> | ||
| <Tab title="Update platformAccountId"> | ||
| ```bash cURL | ||
| curl -X PATCH 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts/{externalAccountId}' \ | ||
| -H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' \ | ||
| -H 'Content-Type: application/json' \ | ||
| -d '{ | ||
| "platformAccountId": "new_account_id_456" | ||
| }' | ||
| ``` | ||
| </Tab> | ||
|
|
||
| <Tab title="Update beneficiary"> | ||
| ```bash cURL | ||
| curl -X PATCH 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts/{externalAccountId}' \ | ||
| -H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' \ | ||
| -H 'Content-Type: application/json' \ | ||
| -d '{ | ||
| "beneficiary": { | ||
| "beneficiaryType": "INDIVIDUAL", | ||
| "fullName": "Jane Doe", | ||
| "birthDate": "1990-01-15", | ||
| "nationality": "US", | ||
| "address": { | ||
| "line1": "456 Market Street", | ||
| "city": "San Francisco", | ||
| "state": "CA", | ||
| "postalCode": "94105", | ||
| "country": "US" | ||
| } | ||
| } | ||
| }' | ||
| ``` | ||
| </Tab> | ||
| </Tabs> | ||
|
|
||
| <Warning> | ||
| Updates to beneficiary data may trigger account re-review, temporarily changing the status to `UNDER_REVIEW`. | ||
| </Warning> | ||
|
|
||
| ## Delete external account | ||
|
|
||
| Delete an external account by its ID: | ||
|
|
||
| ```bash cURL | ||
| curl -X DELETE 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts/{externalAccountId}' \ | ||
| -H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' | ||
| ``` | ||
|
|
||
| Returns `204 No Content` on success. | ||
|
|
||
| <Warning> | ||
| Deleting an external account is permanent. Ensure no pending transactions reference this account before deletion. | ||
| </Warning> |
There was a problem hiding this comment.
Platform external account endpoints not documented
The OpenAPI spec (openapi/openapi.yaml line 110-111) defines equivalent GET, PATCH, and DELETE endpoints for /platform/external-accounts/{externalAccountId} — identical in capability to the customer variants just added. The existing "Listing external accounts" section already covers both customer and platform list operations side-by-side (lines 764-785), so users will expect parity here too. Without platform-scoped GET/PATCH/DELETE examples, platform-level integrations are left without guidance after the listing section ends.
Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 787-876
Comment:
**Platform external account endpoints not documented**
The OpenAPI spec (`openapi/openapi.yaml` line 110-111) defines equivalent `GET`, `PATCH`, and `DELETE` endpoints for `/platform/external-accounts/{externalAccountId}` — identical in capability to the customer variants just added. The existing "Listing external accounts" section already covers both customer and platform list operations side-by-side (lines 764-785), so users will expect parity here too. Without platform-scoped GET/PATCH/DELETE examples, platform-level integrations are left without guidance after the listing section ends.
How can I resolve this? If you propose a fix, please make it concise.| ## Update external account | ||
|
|
||
| Update mutable fields on an external account. Only `platformAccountId` and `beneficiary` can be updated: | ||
|
|
||
| <Tabs> | ||
| <Tab title="Update platformAccountId"> | ||
| ```bash cURL | ||
| curl -X PATCH 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts/{externalAccountId}' \ | ||
| -H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' \ | ||
| -H 'Content-Type: application/json' \ | ||
| -d '{ | ||
| "platformAccountId": "new_account_id_456" | ||
| }' | ||
| ``` | ||
| </Tab> | ||
|
|
||
| <Tab title="Update beneficiary"> | ||
| ```bash cURL | ||
| curl -X PATCH 'https://api.lightspark.com/grid/2025-10-13/customers/external-accounts/{externalAccountId}' \ | ||
| -H 'Authorization: Basic $GRID_CLIENT_ID:$GRID_CLIENT_SECRET' \ | ||
| -H 'Content-Type: application/json' \ | ||
| -d '{ | ||
| "beneficiary": { | ||
| "beneficiaryType": "INDIVIDUAL", | ||
| "fullName": "Jane Doe", | ||
| "birthDate": "1990-01-15", | ||
| "nationality": "US", | ||
| "address": { | ||
| "line1": "456 Market Street", | ||
| "city": "San Francisco", | ||
| "state": "CA", | ||
| "postalCode": "94105", | ||
| "country": "US" | ||
| } | ||
| } | ||
| }' | ||
| ``` | ||
| </Tab> | ||
| </Tabs> |
There was a problem hiding this comment.
Missing PATCH response example
The PATCH endpoint returns 200 with the full updated ExternalAccount object (per customers_external_accounts_{externalAccountId}.yaml lines 76-82). The style guide requires showing complete request/response cycles ("Cover complete request/response cycles", "Show both success and error response examples"), but both PATCH tabs only show the request. Consider adding a response block after </Tabs> similar to the GET section's **Response:** block.
Context Used: mintlify/CLAUDE.md (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/external-accounts.mdx
Line: 819-857
Comment:
**Missing PATCH response example**
The PATCH endpoint returns `200` with the full updated `ExternalAccount` object (per `customers_external_accounts_{externalAccountId}.yaml` lines 76-82). The style guide requires showing complete request/response cycles ("Cover complete request/response cycles", "Show both success and error response examples"), but both PATCH tabs only show the request. Consider adding a response block after `</Tabs>` similar to the GET section's `**Response:**` block.
**Context Used:** mintlify/CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=8705e0ee-b98a-4325-9b4d-e1f5638b408a))
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!
Summary
Changes
Notes
Test plan
mint dev🤖 Generated with Claude Code