Skip to content

Make the VASP url optional - #848

Merged
shreyav merged 1 commit into
mainfrom
shreyav/vasp-url-optional
Aug 20, 2026
Merged

Make the VASP url optional#848
shreyav merged 1 commit into
mainfrom
shreyav/vasp-url-optional

Conversation

@shreyav

@shreyav shreyav commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #827. Vasp.url was marked required, but the upstream directory returns an empty string for it on most entries, so it can't be promised. Drops it from required and softens the description to "when known".

Testing

make build bundles cleanly; redocly lint and spectral lint match the pre-existing baseline on main exactly (no new findings).

🤖 Generated with Claude Code


Generated by Claude Code

The upstream directory returns an empty url for most entries, so it
cannot be promised.
@mintlify

mintlify Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

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

Project Status Preview Updated (UTC)
Grid 🟢 Ready View Preview Aug 20, 2026, 12:33 AM

@vercel

vercel Bot commented Aug 20, 2026

Copy link
Copy Markdown

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

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
grid-flow-builder Ignored Ignored Aug 20, 2026 12:32am
grid-wallet-demo Ignored Ignored Aug 20, 2026 12:32am

Request Review

@github-actions github-actions Bot added the breaking-change Introduces a breaking change to the OpenAPI spec label Aug 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Breaking OpenAPI changes detected

oasdiff reports 1 error / 0 warning changes to openapi.yaml.
This PR will need approval from an API reviewer before merge.

Errors (1)

  • GET /vasps — the response property data/items/url became optional for the status 200 [response-property-became-optional].

Detected by oasdiff. Full report: job summary or the oasdiff-report artifact.

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

This PR will update the grid SDKs with the following commit messages.

cli

chore(internal): regenerate SDK with no functional changes

go

fix(types): make URL optional in Vasp model

kotlin

fix(types): make url optional in Vasp model

openapi

fix(types): make url optional in Vasp model

php

fix(types): make url optional in Vasp model

python

fix(types): make url optional in vasp

ruby

fix(types): make url optional in Vasp model

typescript

fix(types): make url field optional in Vasp model
⚠️ grid-openapi studio · code

Your SDK build had at least one "warning" diagnostic.
generate ⚠️

⚠️ grid-ruby studio · code

Your SDK build had at least one "warning" diagnostic.
generate ⚠️build ✅lint ✅test ✅

⚠️ grid-go studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ⚠️build ✅lint ❗test ❗

go get github.com/stainless-sdks/grid-go@7cf2e13540ee29b3c4867ade4d82db7cb5c84766
⚠️ grid-kotlin studio · code

Your SDK build had a failure in the test CI job, which is a regression from the base state.
generate ⚠️build ✅lint ✅test ❗

⚠️ grid-typescript studio · conflict

Your SDK build had at least one warning diagnostic.

⚠️ grid-python studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ⚠️build ✅lint ❗test ❗

pip install https://pkg.stainless.com/s/grid-python/992e70501110556652ee000e9fc29467fe900c86/grid-0.0.1-py3-none-any.whl
⚠️ grid-php studio · code

Your SDK build had at least one "warning" diagnostic.
generate ⚠️lint ✅test ✅

⚠️ grid-cli studio · code

Your SDK build had a failure in the test CI job, which is a regression from the base state.
generate ⚠️build ⏭️lint ⏭️test ❗


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-08-20 00:50:53 UTC

@greptile-apps

greptile-apps Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR makes Vasp.url optional across the source OpenAPI schema and both generated bundles, documenting that the website is available only when known.

  • Removes url from the Vasp required-property list.
  • Synchronizes the updated schema and description into the root and Mintlify bundles.
  • The schema still does not represent the empty-string values identified as the reason for the change.

Confidence Score: 4/5

The response contract should be corrected before merging because the change still rejects the empty-string URL values it is intended to accommodate.

Making url optional only permits the field to be omitted; an entry that includes url: "" still violates the retained URI format constraint.

Files Needing Attention: openapi/components/schemas/vasps/Vasp.yaml, openapi.yaml, mintlify/openapi.yaml

Important Files Changed

Filename Overview
openapi/components/schemas/vasps/Vasp.yaml Makes url optional, but retaining format: uri leaves the stated empty-string runtime values outside the response contract.
openapi.yaml Correctly mirrors the source-schema edit while preserving the same empty-string validation mismatch.
mintlify/openapi.yaml Keeps the Mintlify bundle synchronized, including the unresolved URI-format mismatch.
Prompt To Fix All With AI
### Issue 1
openapi/components/schemas/vasps/Vasp.yaml:2-3
**Empty URLs Remain Invalid**

When the upstream directory returns `url: ""`, removing `url` from `required` does not make that present value optional or valid; it still violates `format: uri`, causing strict response validators and generated clients that enforce URI formatting to reject real directory entries.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "Make the VASP url optional" | Re-trigger Greptile

Comment on lines 2 to 3
required:
- vaspName

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 Empty URLs Remain Invalid

When the upstream directory returns url: "", removing url from required does not make that present value optional or valid; it still violates format: uri, causing strict response validators and generated clients that enforce URI formatting to reject real directory entries.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/vasps/Vasp.yaml
Line: 2-3

Comment:
**Empty URLs Remain Invalid**

When the upstream directory returns `url: ""`, removing `url` from `required` does not make that present value optional or valid; it still violates `format: uri`, causing strict response validators and generated clients that enforce URI formatting to reject real directory entries.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

i just added this field its fine

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.

Fair enough — making url optional is the right call if the upstream returns empty strings on most entries. My concern about format: uri rejecting "" still technically stands (an empty string isn't a valid URI), but if your validators/generated clients are lenient about format enforcement on optional fields, or you handle empty strings at the application layer, that's your call to make.

Happy to drop this.

@shreyav
shreyav merged commit 4050a88 into main Aug 20, 2026
10 checks passed
@shreyav
shreyav deleted the shreyav/vasp-url-optional branch August 20, 2026 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Introduces a breaking change to the OpenAPI spec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants