Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions mintlify/snippets/external-accounts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -784,6 +784,97 @@ curl -X GET 'https://api.lightspark.com/grid/2025-10-13/platform/external-accoun
depositing funds from external sources.
</Info>

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


<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>
Comment on lines +787 to +876
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


## Best practices

<AccordionGroup>
Expand Down
Loading