feat(spec): remove the VASP directory endpoint - #875
Conversation
Drops `GET /vasps` (`listVasps`), the `VASPs` tag, and the `Vasp` / `VaspListResponse` schemas from the spec, along with the `vasps` resource in the Stainless SDK config. Rebundled openapi.yaml and mintlify/openapi.yaml. The `vaspName` field on wallet external accounts stays; its description no longer points at the removed directory endpoint. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0126o5tx3Hg4ceTFdvpyAwYW
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
|
✱ Stainless preview builds for gridThis PR will update the cli go kotlin openapi php python ruby typescript ✅ grid-ruby studio · code
|
Greptile SummaryRemoves the VASP directory endpoint, its response schemas, and the corresponding Stainless SDK resource while retaining the wallet
Confidence Score: 4/5The breaking endpoint removal should not merge until it is paired with a new API version and matching server path, or explicitly deferred to a version-cut change. Removing Files Needing Attention: openapi/openapi.yaml, openapi.yaml, mintlify/openapi.yaml
|
| Filename | Overview |
|---|---|
| openapi/openapi.yaml | Removes the authoritative VASP path and tag but does not advance the versioned API boundary required for this breaking change. |
| .stainless/stainless.yml | Removes the VASP SDK resource consistently with the specification, causing regenerated clients under the unchanged version to lose vasps.list. |
| openapi/components/schemas/external_accounts/WalletCustodyFields.yaml | Correctly retains vaspName while removing only the obsolete directory reference from its description. |
| openapi.yaml | Bundled specification consistently reflects the endpoint and schema removal, including the unchanged API version. |
| mintlify/openapi.yaml | Mintlify’s bundled specification remains synchronized with the primary bundled contract. |
Prompt To Fix All With AI
### Issue 1
openapi/openapi.yaml:273-275
**API version boundary is broken**
Existing consumers of the advertised `2025-10-13` contract lose `GET /vasps` and the generated `vasps.list` method while the version and matching server URL remain unchanged, causing the same API version to expose incompatible client contracts. Ship this removal with a new `info.version` and corresponding `servers.url`, as required for breaking changes.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "feat(spec): remove the VASP directory en..." | Re-trigger Greptile
| $ref: paths/sandbox/sandbox_internal_accounts_{accountId}_fund.yaml | ||
| /uma-providers: | ||
| $ref: paths/uma_providers/uma_providers.yaml |
There was a problem hiding this comment.
API version boundary is broken
Existing consumers of the advertised 2025-10-13 contract lose GET /vasps and the generated vasps.list method while the version and matching server URL remain unchanged, causing the same API version to expose incompatible client contracts. Ship this removal with a new info.version and corresponding servers.url, as required for breaking changes.
Context Used: CLAUDE.md (source)
Knowledge Base Used: Contract validation workflows
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/openapi.yaml
Line: 273-275
Comment:
**API version boundary is broken**
Existing consumers of the advertised `2025-10-13` contract lose `GET /vasps` and the generated `vasps.list` method while the version and matching server URL remain unchanged, causing the same API version to expose incompatible client contracts. Ship this removal with a new `info.version` and corresponding `servers.url`, as required for breaking changes.
**Context Used:** CLAUDE.md ([source](https://github.com/lightsparkdev/grid-api/blob/main/CLAUDE.md))
**Knowledge Base Used:** [Contract validation workflows](https://app.greptile.com/lightspark/-/custom-context/knowledge-base/lightsparkdev/grid-api/-/docs/contract-validation-workflows.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.There was a problem hiding this comment.
Understood. If no consumers are using it, the practical migration risk is low, but removing a published endpoint is still technically a breaking contract change. I’d still bump info.version and the matching servers.url unless the release owner confirms that 2025-10-13 is pre-release or not externally consumed; usage telemetry alone does not guarantee that existing generated clients or integrations do not depend on it.
Removes
GET /vasps— the directory of Virtual Asset Service Providers — from the Grid API spec.Changes
openapi/paths/vasps/vasps.yaml— deleted (thelistVaspsoperation); directory removedopenapi/components/schemas/vasps/— deletedVasp.yamlandVaspListResponse.yaml; directory removedopenapi/openapi.yaml— dropped theVASPstag and the/vaspspath$ref.stainless/stainless.yml— dropped thevaspsresource, so generated SDKs no longer exposevasps.listopenapi/components/schemas/external_accounts/WalletCustodyFields.yaml— removed the "from the VASP directory (GET /vasps)" clause from thevaspNamedescriptionopenapi.yaml/mintlify/openapi.yaml— rebundled viamake buildThe
vaspNamefield on wallet external accounts is not removed — it is an input on external account creation, independent of the directory that previously enumerated valid values.Validation
make build— rebundled cleanly; the bundled diff contains only the removal, no incidental reformattingmake lint— exits 0 (666 problems, 0 errors); all warnings/infos are pre-existing and none are VASP-relatedOpen question
CLAUDE.mdsays to bumpinfo.versiononly when a breaking change ships, matching a newservers.urlpath. Removing a published endpoint is breaking, but choosing the new version date and deciding whether this rides a version cut is a release call — soinfo.versionis left at2025-10-13. Please advise if it should move as part of this change.Downstream
lightsparkdev/webdevvendors this spec and its generated Python client undergrid-api/, refreshed by./update_schema.sh. Once this merges, that client should be regenerated soVASPsApi,Vasp, andVaspListResponsedrop out. Nothing in webdev called those symbols, so there are no call sites to migrate.Generated by Claude Code