Skip to content

docs(accounts/auth/cards): sync examples with schema#504

Merged
jklein24 merged 5 commits into
mainfrom
docs/sync-accounts-auth-examples
May 26, 2026
Merged

docs(accounts/auth/cards): sync examples with schema#504
jklein24 merged 5 commits into
mainfrom
docs/sync-accounts-auth-examples

Conversation

@jklein24
Copy link
Copy Markdown
Contributor

Comprehensive sync of accounts / auth / cards documentation examples with the current OpenAPI schema.

Changes

Account IDs and headers:

  • accountId for internal accounts 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:

  • Account types: USD_ACCOUNT, EUR_ACCOUNT, BRL_ACCOUNT, MXN_ACCOUNT, INR_ACCOUNT, etc. (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).

Sibling PRs

Split from a larger sync effort. Two companion draft PRs cover onboarding (#502) and payments.

🤖 Generated with Claude Code

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

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

Project Deployment Actions Updated (UTC)
grid-flow-builder Ready Ready Preview, Comment May 26, 2026 5:55pm

Request Review

@mintlify
Copy link
Copy Markdown
Contributor

mintlify Bot commented May 25, 2026

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

Project Status Preview Updated (UTC)
Grid 🟢 Ready View Preview May 25, 2026, 8:38 AM

@jklein24
Copy link
Copy Markdown
Contributor Author

@greptile review

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 25, 2026

Greptile Summary

This 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.

  • Account types and fields — all legacy aliases (US_ACCOUNT, IBAN, PIX, CLABE, UPI) replaced with canonical currency-prefixed names (USD_ACCOUNT, EUR_ACCOUNT, BRL_ACCOUNT, MXN_ACCOUNT, INR_ACCOUNT); accountCategorybankAccountType, swiftBicswiftCode, counterPartyTypebeneficiaryType.
  • Auth / session identifiersEmbeddedWallet: prefix corrected to InternalAccount: throughout; all requestId values and Request-Id headers now carry the Request: prefix; the registration response no longer falsely claims a challenge is returned alongside AuthMethod.
  • HTTP status codes and endpointsCARDHOLDER_KYC_NOT_APPROVED and FUNDING_SOURCE_INELIGIBLE corrected to 400; webhook test path fixed to /sandbox/webhooks/test; requiredCounterpartyFields added to platform config examples; fabricated GET /customers/internal-accounts/{id} and filter-by-type endpoints removed.

Confidence Score: 5/5

Documentation-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.

Important Files Changed

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
Loading

Reviews (6): Last reviewed commit: "fix stale 'address you pass' sentence (G..." | Re-trigger Greptile

@jklein24
Copy link
Copy Markdown
Contributor Author

@greptile review

@jklein24
Copy link
Copy Markdown
Contributor Author

@greptile review

1 similar comment
@jklein24
Copy link
Copy Markdown
Contributor Author

@greptile review

@jklein24
Copy link
Copy Markdown
Contributor Author

@greptile review

@graphite-app
Copy link
Copy Markdown

graphite-app Bot commented May 26, 2026

Merge activity

  • May 26, 5:47 PM UTC: This pull request can not be added to the Graphite merge queue. Please try rebasing and resubmitting to merge when ready.
  • May 26, 5:47 PM UTC: Graphite disabled "merge when ready" on this PR due to: a merge conflict with the target branch; resolve the conflict and try again..

jklein24 and others added 5 commits May 26, 2026 10:54
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>
@jklein24 jklein24 merged commit e023a48 into main May 26, 2026
7 checks passed
@jklein24 jklein24 deleted the docs/sync-accounts-auth-examples branch May 26, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants