docs(accounts/auth/cards): sync examples with schema#504
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
@greptile review |
Greptile SummaryThis PR comprehensively syncs documentation examples across accounts, auth, and cards pages with the current OpenAPI schema, correcting fabricated or stale field names, ID prefixes, HTTP status codes, and endpoint paths throughout 16 files.
Confidence Score: 5/5Documentation-only sync with no executable logic — safe to merge. All changes are documentation example corrections that bring examples into alignment with the actual OpenAPI schema. The three issues flagged in the previous review round (stale authentication.mdx intro sentence, mermaid diagram contradicting the Note, and IBAN/swiftBic field names in internal-accounts.mdx) are fully resolved in this PR. No new inconsistencies were introduced. No files require special attention.
|
| Filename | Overview |
|---|---|
| mintlify/snippets/global-accounts/authentication.mdx | Updated EmbeddedWallet: → InternalAccount: prefixes, removed email from EMAIL_OTP body, fixed mermaid diagram to drop email param, added Note clarifying OTP destination, updated Request: prefixes for requestId values — all previous review comments resolved |
| mintlify/snippets/internal-accounts.mdx | Renamed US_ACCOUNT → USD_ACCOUNT, IBAN → EUR_ACCOUNT, swiftBic → swiftCode in funding-instructions accordions; replaced fabricated GET-by-id endpoint with list-endpoint example including proper paginated response shape |
| mintlify/snippets/external-accounts.mdx | Renamed all accountType values (US_ACCOUNT→USD_ACCOUNT, IBAN→EUR_ACCOUNT, PIX→BRL_ACCOUNT, CLABE→MXN_ACCOUNT, UPI→INR_ACCOUNT), accountCategory→bankAccountType, swiftBic→swiftCode; added taxId to BRL example; removed stale filter-by-type section; updated status table to PENDING/ACTIVE/UNDER_REVIEW/INACTIVE |
| mintlify/snippets/cards/issuing-cards.mdx | Corrected 409 → 400 for both CARDHOLDER_KYC_NOT_APPROVED and FUNDING_SOURCE_INELIGIBLE in the error table |
| mintlify/snippets/platform-configuration-non-uma.mdx | Added requiredCounterpartyFields: [] to GET response, PATCH request, and PATCH response examples; documented the field as required in the parameter list with correct guidance for non-UMA platforms |
| mintlify/platform-overview/core-concepts/account-model.mdx | Updated all account type enums and field names across tab examples; replaced REJECTED status with UNDER_REVIEW in the external account status list |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph AccountTypes["Account Type Renames"]
A1["US_ACCOUNT → USD_ACCOUNT"]
A2["IBAN / IBAN_ACCOUNT → EUR_ACCOUNT"]
A3["PIX → BRL_ACCOUNT"]
A4["CLABE → MXN_ACCOUNT"]
A5["UPI → INR_ACCOUNT"]
end
subgraph FieldRenames["Field Renames"]
F1["accountCategory → bankAccountType"]
F2["swiftBic → swiftCode"]
F3["counterPartyType → beneficiaryType"]
end
subgraph IDPrefixes["ID Prefix Corrections"]
P1["EmbeddedWallet: → InternalAccount:"]
P2["bare UUID → Request: prefix"]
end
subgraph StatusCodes["Status / Endpoint Corrections"]
S1["409 CARDHOLDER_KYC_NOT_APPROVED → 400"]
S2["409 FUNDING_SOURCE_INELIGIBLE → 400"]
S3["/webhooks/test → /sandbox/webhooks/test"]
S4["REJECTED → UNDER_REVIEW (ExternalAccountStatus)"]
end
subgraph RemovedFabricated["Removed Fabricated Examples"]
R1["GET /customers/internal-accounts/{id}"]
R2["Filter by account type query param"]
R3["Top-level beneficiary on SPARK_WALLET"]
R4["/auth/credentials register returns challenge"]
end
Reviews (6): Last reviewed commit: "fix stale 'address you pass' sentence (G..." | Re-trigger Greptile
|
@greptile review |
|
@greptile review |
1 similar comment
|
@greptile review |
|
@greptile review |
Merge activity
|
Account IDs and headers:
- accountId / Internal account uses InternalAccount: prefix (was EmbeddedWallet:)
- requestId values and Request-Id headers use Request: prefix
- /auth/credentials register response no longer falsely claims a challenge
is returned (it returns AuthMethod only - call /challenge separately)
- Removed email field from EMAIL_OTP credential create body (not in schema)
External / internal account types and fields:
- USD_ACCOUNT, EUR_ACCOUNT, BRL_ACCOUNT, MXN_ACCOUNT, INR_ACCOUNT
(no US_ACCOUNT / IBAN / IBAN_ACCOUNT / PIX / CLABE / UPI aliases)
- ExternalAccountStatus: PENDING | ACTIVE | UNDER_REVIEW | INACTIVE
(no REJECTED / FAILED / DISABLED)
- Field renames: bankAccountType (was accountCategory), swiftCode (was swiftBic),
beneficiaryType (was counterPartyType)
- Spark wallet creation: removed unsupported top-level beneficiary block
- Removed fabricated GET /customers/internal-accounts/{id} endpoint example
Platform config:
- supportedCurrencies entries require requiredCounterpartyFields
- Sandbox webhook test endpoint is /sandbox/webhooks/test (not /webhooks/test)
Cards:
- CARDHOLDER_KYC_NOT_APPROVED and FUNDING_SOURCE_INELIGIBLE are 400 (not 409)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The EMAIL_OTP create body intentionally omits an email field — Grid sends the OTP to the address on the customer profile that owns the internal account, and returns that address as the AuthMethod's nickname. Note added next to the example so readers don't go looking for a missing field. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
internal-accounts.mdx EUR funding-instructions accordion still used the old aliases: accountType IBAN -> EUR_ACCOUNT and swiftBic -> swiftCode, matching the renames already applied elsewhere in the PR. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The Email OTP sequence diagram still showed an email field in the Grid request, contradicting the curl example, Note, and schema. Removed the field and clarified that the OTP is delivered to the customer profile address. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
aedb2b5 to
b40de2b
Compare
Comprehensive sync of accounts / auth / cards documentation examples with the current OpenAPI schema.
Changes
Account IDs and headers:
accountIdfor internal accounts usesInternalAccount:prefix (wasEmbeddedWallet:).requestIdvalues andRequest-Idheaders useRequest:prefix./auth/credentialsregister response no longer falsely claims a challenge is returned (it returnsAuthMethodonly — call/challengeseparately).emailfield fromEMAIL_OTPcredential create body (not in schema).External / internal account types and fields:
USD_ACCOUNT,EUR_ACCOUNT,BRL_ACCOUNT,MXN_ACCOUNT,INR_ACCOUNT, etc. (noUS_ACCOUNT/IBAN/IBAN_ACCOUNT/PIX/CLABE/UPIaliases).ExternalAccountStatus:PENDING | ACTIVE | UNDER_REVIEW | INACTIVE(noREJECTED/FAILED/DISABLED).bankAccountType(wasaccountCategory),swiftCode(wasswiftBic),beneficiaryType(wascounterPartyType).beneficiaryblock.GET /customers/internal-accounts/{id}endpoint example.Platform config:
supportedCurrenciesentries requirerequiredCounterpartyFields./sandbox/webhooks/test(not/webhooks/test).Cards:
CARDHOLDER_KYC_NOT_APPROVEDandFUNDING_SOURCE_INELIGIBLEare400(not409).Sibling PRs
Split from a larger sync effort. Two companion draft PRs cover onboarding (#502) and payments.
🤖 Generated with Claude Code