feat: document BENEFICIARY_TRUSTED (409) on customer external-account delete - #770
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
This stack of pull requests is managed by Graphite. Learn more about stacking. |
✱ Stainless preview builds for gridThis PR will update the cli go kotlin openapi php python ruby typescript Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-typescript studio · code · diff
✅ grid-openapi studio · code · diff
✅ grid-ruby studio · code · diff
✅ grid-go studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-python studio · code · diff
✅ grid-php studio · code · diff
✅ grid-cli studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
Co-Authored-By: jklein24 <jklein24@users.noreply.github.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Your wording change is better than mine — kept it verbatim. The build check was failing because the bundles are generated from Pushed the rebundle ( |
|
Its log shows the deploy itself succeeding and only the last CDN step failing: And the preview site is in fact live and serving the new response —
So it's a page-revalidation flake on Mintlify's side. It's posted by the Mintlify GitHub app rather than an Actions workflow, so I can't re-run it from here — a push or a nudge from you on their side should clear it. Flagging rather than papering over it in case you'd rather it be green before merging. |

Summary
DELETE /customers/external-accounts/{externalAccountId}can return409when the account is currently a trusted beneficiary, but the spec declared only204/401/404/500. This documents the missing status and its error code.BENEFICIARY_TRUSTEDadded to the sharedError409codeenum. Because it was absent, a generated client would raise a validation error while deserializing the response instead of surfacing a code the integrator can branch on.deleteoperation now declares409and itsdescriptionstates the ordering requirement: an account that is currently a trusted beneficiary must be untrusted first, viaPOST /customers/external-accounts/{externalAccountId}/untrust(and its/confirm), before it can be deleted.Trust cannot be revoked as a side effect of a delete — untrusting a beneficiary requires the customer to complete a Strong Customer Authentication challenge, which a
DELETEhas no way to carry. So the delete is refused while trust is in place rather than leaving the account deleted but still trusted.Both changes are additive and non-breaking, so
info.versionstays2025-10-13.Test plan
make lintexits 0 (Redocly + Spectral,--fail-severity=error): 632 findings, 0 errors, all pre-existing warnings/infos.make buildrebundledopenapi.yamlandmintlify/openapi.yaml; re-running it is a no-op, so the committed bundles byte-match the build output.409/BENEFICIARY_TRUSTEDpair is covered by tests asserting the status and code at the HTTP boundary, alongside the trust → refused-delete → untrust → successful-delete lifecycle.Public
Documents a
409 BENEFICIARY_TRUSTEDresponse onDELETE /customers/external-accounts/{externalAccountId}: an external account that is currently a trusted beneficiary must be untrusted before it can be deleted.Requested by @jklein24
Original PR: #769