Skip to content

docs: sync external account docs with new GET/PATCH/DELETE endpoints#359

Open
claude[bot] wants to merge 1 commit intomainfrom
docs/sync-20260421
Open

docs: sync external account docs with new GET/PATCH/DELETE endpoints#359
claude[bot] wants to merge 1 commit intomainfrom
docs/sync-20260421

Conversation

@claude
Copy link
Copy Markdown
Contributor

@claude claude Bot commented Apr 21, 2026

Summary

  • Adds documentation for new external account endpoints introduced in b916f15
  • Documents GET by ID, PATCH (update platformAccountId/beneficiary), and DELETE operations
  • Uses existing documentation patterns and code example formats

Changes

  • mintlify/snippets/external-accounts.mdx: Added sections for:
    • Get external account by ID
    • Update external account (with tabs for platformAccountId and beneficiary updates)
    • Delete external account

Notes

  • Kotlin sample updates deferred - Grid SDK v1.6.0 doesn't include the new endpoint methods yet
  • Grid Visualizer - No changes needed (only generates create operations for flow building)

Test plan

  • Verify docs render correctly with mint dev
  • Verify code examples match OpenAPI spec

🤖 Generated with Claude Code

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>
@mintlify
Copy link
Copy Markdown

mintlify Bot commented Apr 21, 2026

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

Project Status Preview Updated (UTC)
Grid 🟢 Ready View Preview Apr 21, 2026, 8:48 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 21, 2026

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

Project Deployment Actions Updated (UTC)
grid-flow-builder Ready Ready Preview, Comment Apr 21, 2026 8:47am

Request Review

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 21, 2026

Greptile Summary

This PR adds documentation for the new GET, PATCH, and DELETE customer external account endpoints introduced in b916f15, with correct request bodies, URL patterns, and <Warning> callouts for destructive/re-review behaviours.

  • Missing platform endpoints: The OpenAPI spec also defines GET /platform/external-accounts/{externalAccountId}, PATCH, and DELETE for platform-scoped accounts. The existing docs already show both customer and platform listing side-by-side; omitting the platform variants here leaves an asymmetry that will confuse platform-level integrators.
  • Missing PATCH response: Both PATCH tabs show only the request body; the style guide requires showing the 200 response (the updated ExternalAccount object) as well.

Confidence Score: 3/5

Docs 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

Important Files Changed

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}
Loading

Fix All in Claude Code

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

Comment on lines +787 to +876
## 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>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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.

Fix in Claude Code

Comment on lines +819 to +857
## 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>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 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!

Fix in Claude Code

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants