feat(platform): paginate /platform/external-accounts#415
feat(platform): paginate /platform/external-accounts#415bsiaotickchong merged 2 commits intomainfrom
Conversation
Brings cursor pagination to the platform external accounts list, matching what /customers/external-accounts already does. Adds `limit` (default 20, max 100) and `cursor` query params and extends PlatformExternalAccountListResponse with `hasMore`, `nextCursor`, and `totalCount`. Drops the `paginated: false` override on the Stainless config so the generated SDKs expose the standard auto-paginating list helper for this endpoint. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✱ Stainless preview buildsThis PR will update the kotlin openapi python typescript ✅ grid-typescript studio · code
✅ grid-python studio · code
✅ grid-kotlin studio · code
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
Greptile SummaryThis PR adds cursor pagination ( Confidence Score: 5/5Safe to merge — clean, targeted spec change with no logic errors or breaking issues. All changes are additive (new query params are optional, default behaviour preserved), the schema deletion is intentional and the replacement is structurally compatible, and the Stainless config change is correct. No P0/P1 findings. No files require special attention.
|
| Filename | Overview |
|---|---|
| openapi/paths/platform/platform_external_accounts.yaml | Adds limit and cursor query params; response schema changed to reuse ExternalAccountListResponse. Clean parity with the customer endpoint. |
| openapi/components/schemas/external_accounts/PlatformExternalAccountListResponse.yaml | Deleted — superseded by the shared ExternalAccountListResponse schema, addressing the duplicate-schema concern from prior review. |
| .stainless/stainless.yml | Removes paginated: false override so the generated SDK exposes a standard auto-paginating list helper for this endpoint. |
| openapi.yaml | Generated bundle correctly reflects source changes: pagination params added, schema ref updated, PlatformExternalAccountListResponse removed. |
| mintlify/openapi.yaml | Generated Mintlify bundle reflects same changes as root openapi.yaml. |
Sequence Diagram
sequenceDiagram
participant Client
participant API as GET /platform/external-accounts
participant Schema as ExternalAccountListResponse
Client->>API: ?limit=20&cursor=¤cy=...
API-->>Client: { data[], hasMore, nextCursor, totalCount }
Note over Client,Schema: Response now uses shared ExternalAccountListResponse
Client->>API: ?limit=20&cursor=<nextCursor>
API-->>Client: { data[], hasMore: false, totalCount }
Reviews (2): Last reviewed commit: "refactor: drop PlatformExternalAccountLi..." | Re-trigger Greptile
…ountListResponse Per review feedback on #415: PlatformExternalAccountListResponse and ExternalAccountListResponse are now structurally identical (same item type, same pagination contract). Consolidating to one schema removes the duplication and the silent-drift risk.
Summary
Brings cursor pagination to
GET /platform/external-accounts, matching what/customers/external-accountsalready does.limit(default 20, max 100) andcursorquery paramsPlatformExternalAccountListResponsewithhasMore,nextCursor,totalCountWhy
The dashboard recipient picker on the platform-payout flow loads recipients via this endpoint and is currently capped at whatever the unpaginated handler returns. The customer-flow recipient picker already paginates (paired with webdev#26819) — this brings parity to the platform flow.
Test plan