docs(skill): drop remaining paymentRails from create examples - #753
Conversation
The spec-refresh removed paymentRails from account-types.md but missed the external-account create examples in SKILL.md and workflows.md, and Best Practices tip #10 still stated it was required. paymentRails is response-only, so the skill was instructing callers to send an invalid field on every fiat account create.
Greptile SummaryCRUSH THE INVALID PAYLOADS BENEATH THE IRON RIFF.
Confidence Score: 3/5The PR should not merge until its external-account creation guidance is reconciled with the OpenAPI schemas that currently require The changed examples omit Files Needing Attention: .claude/skills/grid-api/SKILL.md; .claude/skills/grid-api/references/workflows.md
|
| Filename | Overview |
|---|---|
| .claude/skills/grid-api/SKILL.md | Removes paymentRails from the MXN create example and adds guidance that conflicts with the current OpenAPI create schemas. |
| .claude/skills/grid-api/references/workflows.md | Removes schema-required paymentRails fields from the documented MXN and USD external-account creation workflows. |
Prompt To Fix All With AI
### Issue 1
.claude/skills/grid-api/SKILL.md:580
**Create schemas still require paymentRails**
When users follow the MXN or USD external-account creation guidance, the changed examples omit `paymentRails` and the new text explicitly says not to send it, even though both OpenAPI create schemas mark it as required, causing copied requests to fail schema or API validation.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "docs(skill): drop remaining paymentRails..." | Re-trigger Greptile
| 8. **Individual beneficiary requires fullName**: For `beneficiaryType: "INDIVIDUAL"`, `fullName` is required. `birthDate` (YYYY-MM-DD) and `nationality` (2-letter code) are optional but recommended | ||
| 9. **Use correct Nigerian field names**: Use `bankName` (NOT `bankCode`) and include `purposeOfPayment` | ||
| 10. **Don't forget country-specific required fields**: Brazil (BRL_ACCOUNT) requires `pixKey`, `pixKeyType`, and `taxId`; Europe (EUR_ACCOUNT) requires `iban`; all fiat accounts require `paymentRails` | ||
| 10. **Don't forget country-specific required fields**: Brazil (BRL_ACCOUNT) requires `pixKey`, `pixKeyType`, and `taxId`; Europe (EUR_ACCOUNT) requires `iban`; all fiat accounts require a `beneficiary`. Do not send `paymentRails` — Grid selects the rail and returns it on the created account. |
There was a problem hiding this comment.
Create schemas still require paymentRails
When users follow the MXN or USD external-account creation guidance, the changed examples omit paymentRails and the new text explicitly says not to send it, even though both OpenAPI create schemas mark it as required, causing copied requests to fail schema or API validation.
Context Used: CLAUDE.md (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: .claude/skills/grid-api/SKILL.md
Line: 580
Comment:
**Create schemas still require paymentRails**
When users follow the MXN or USD external-account creation guidance, the changed examples omit `paymentRails` and the new text explicitly says not to send it, even though both OpenAPI create schemas mark it as required, causing copied requests to fail schema or API validation.
**Context Used:** CLAUDE.md ([source](https://github.com/lightsparkdev/grid-api/blob/main/CLAUDE.md))
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Summary
Follow-up to the skill spec-refresh (#708). That PR removed the response-only
paymentRailsfield from the create examples inaccount-types.md, but three references survived elsewhere and contradicted the fix:SKILL.md—"paymentRails": ["SPEI"]in the external-account create exampleSKILL.md— Best Practices tip Update all product names to just Grid #10 still asserted "all fiat accounts requirepaymentRails"references/workflows.md—"paymentRails": ["SPEI"]and"paymentRails": ["ACH"]in two create bodiespaymentRailsis not an input on any*ExternalAccountCreateInfoschema — Grid selects the rail and returns it on the created account (common/*AccountInfo.yaml). Left as-is, the skill instructs callers to send an invalid field on every fiat account create, and tip #10 is high-weight guidance.Tip #10 now points at the field that is required (
beneficiary) and states the rail is server-selected.Test plan
Docs-only. Verified no
paymentRailsremains in any request body across the skill (the 3 surviving mentions all describe it as response-only), and all 25 curl JSON bodies still parse.Requested by @jklein24
Original PR: #752