Skip to content

Describe platformCardId as caller-suppliable with a system-generated fallback - #1022

Closed
ls-bolt[bot] wants to merge 1 commit into
mainfrom
09-17-platform-card-id-optional-description
Closed

ls-bolt[bot] wants to merge 1 commit into
mainfrom
09-17-platform-card-id-optional-description

Conversation

@ls-bolt

@ls-bolt ls-bolt Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

This PR has been claimed. The active PR is now #1023.

Summary

CardCreateRequest.platformCardId was described as "Always generated by the server; any value supplied in the request is ignored." This PR replaces that with the wording already used for the equivalent field on CustomerCreateRequest:

Platform-specific card identifier. If not provided, one will be generated by the system.

The two cards guides that carried the same "ignored if supplied" framing are updated to match, and Card.platformCardId drops its "generated by the server" qualifier so the response description reads like every other platform-id field on a resource.

Note for reviewers

This describes the intended contract for the field. Card issuance today still assigns its own value and returns that on the created Card, so a caller who supplies platformCardId cannot yet retrieve or filter by the value they chose — support for honoring a caller-supplied id is a separate change. Merging this ahead of that work is a deliberate choice to match the documented contract customers have been given; reverting to the previous text is a one-line change if the preference is to wait.

Changes: 6 files

  • openapi/components/schemas/cards/CardCreateRequest.yaml — new platformCardId description
  • openapi/components/schemas/cards/Card.yaml — response description drops "generated by the server"
  • mintlify/snippets/cards/issuing-cards.mdx — request-field table row
  • mintlify/snippets/cards/quickstart.mdx — issuance walkthrough sentence
  • openapi.yaml, mintlify/openapi.yaml — regenerated bundles (make build)

Test plan

Docs-only repo, no application code.

  • make build — bundles regenerated; the bundle diff is exactly the two description lines
  • make lint — exit 0, 0 errors, warning/info counts unchanged from baseline
  • Grepped the repo for the old phrasings (any value supplied in the request is ignored, Ignored if supplied) — no remaining occurrences in specs, snippets, SDKs, or samples

Requested by @AaryamanBhute

…fallback

The create-card description said the value was always server-generated and any
supplied value ignored. Match the platformCustomerId wording on
CustomerCreateRequest instead: optional, system-generated when omitted.

Co-Authored-By: aaryamanbhute <aaryamanbhute@users.noreply.github.com>
@mintlify

mintlify Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

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

Project Status Preview Updated
Grid 🟢 Ready View Preview Sep 17, 2026, 8:33 PM

@vercel

vercel Bot commented Sep 17, 2026

Copy link
Copy Markdown

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

3 Skipped Deployments
Project Deployment Actions Updated
grid-cards-demo Ignored Ignored Preview Sep 17, 2026 8:28pm UTC
grid-flow-builder Ignored Ignored Preview Sep 17, 2026 8:28pm UTC
grid-wallet-demo Ignored Ignored Preview Sep 17, 2026 8:28pm UTC

Request Review

@ls-bolt ls-bolt Bot added the bolt label Sep 17, 2026

Copy link
Copy Markdown

This stack of pull requests is managed by Graphite. Learn more about stacking.

@ls-bolt

ls-bolt Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

@greptile review

@github-actions

github-actions Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

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

cli

docs(api): clarify platform-card-id parameter description in card issue method

go

feat(api): allow user-provided platformCardId in card creation

kotlin

feat(api): allow platform_card_id parameter in card creation

openapi

docs(api): update platformCardId field description in card schemas

php

docs(api): update platformCardID documentation in cards

python

docs(api): clarify platform_card_id can be user-provided in cards

ruby

docs(api): clarify platform_card_id generation behavior in cards

typescript

docs(api): update platformCardId parameter description in cards.issue

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-typescript studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

grid-openapi studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗

grid-kotlin studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️ (prev: build ✅) → lint ⏭️ (prev: lint ✅) → test ⏭️ (prev: test ❗)

grid-ruby studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

grid-go studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

go get github.com/stainless-sdks/grid-go@b7b214c61ed6c98738207ed1e282bf284ee30c55
grid-python studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

grid-php studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗lint ⏭️test ⏭️

grid-cli studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
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-09-17 20:33:03 UTC

@greptile-apps

greptile-apps Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 4/5

This PR should not merge until the documentation matches current card-issuance behavior or the runtime begins honoring caller-supplied identifiers.

Findings

  1. P1 Caller identifier is ignored
Fix with agent prompt
### Issue 1
mintlify/snippets/cards/issuing-cards.mdx:24
When a caller supplies `platformCardId`, this text promises that it becomes their identifier for the card. Card issuance currently ignores that value and returns a generated one, while the card-list API supports filtering by `platformCardId`. A caller following this guide can therefore fail to find or correlate the created card using the identifier they supplied. This violates the repository directive to prioritize accurate, usable documentation; the docs need to describe the current behavior until the API honors caller-supplied values.

---

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

Summary

Updates the card issuance contract and guides to describe platformCardId as caller-suppliable, with a system-generated fallback when omitted.

  • Revises the card creation schema and issuance guides.
  • Simplifies the identifier description on the returned Card.
  • Regenerates both published OpenAPI bundles.
  • Currently documents behavior that card issuance does not yet implement.

Reviews (1) · Last reviewed commit: "Describe platformCardId as caller-suppli..."

|-------|----------|-------|
| `customerId` | Yes | The `Customer` that owns the card. Must be `kycStatus: APPROVED`. |
| `platformCardId` | No | Ignored if supplied. The value on the returned `Card` is generated by the server. |
| `platformCardId` | No | Your own identifier for the card. Generated by the system if you omit it. |

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 Caller identifier is ignored

When a caller supplies platformCardId, this text promises that it becomes their identifier for the card. Card issuance currently ignores that value and returns a generated one, while the card-list API supports filtering by platformCardId. A caller following this guide can therefore fail to find or correlate the created card using the identifier they supplied. This violates the repository directive to prioritize accurate, usable documentation; the docs need to describe the current behavior until the API honors caller-supplied values.

Context Used: mintlify/AGENTS.md (source)

Knowledge Base Used: Cards API

Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/cards/issuing-cards.mdx
Line: 24

Comment:
**Caller identifier is ignored**

When a caller supplies `platformCardId`, this text promises that it becomes their identifier for the card. Card issuance currently ignores that value and returns a generated one, while the card-list API supports filtering by `platformCardId`. A caller following this guide can therefore fail to find or correlate the created card using the identifier they supplied. This violates the repository directive to prioritize accurate, usable documentation; the docs need to describe the current behavior until the API honors caller-supplied values.

**Context Used:** mintlify/AGENTS.md ([source](https://github.com/lightsparkdev/grid-api/blob/main/mintlify/AGENTS.md))

**Knowledge Base Used:** [Cards API](https://app.greptile.com/lightspark/-/custom-context/knowledge-base/lightsparkdev/grid-api/-/docs/cards-api.md)

---

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants