docs(kyc): cover business customers in the hosted KYC/KYB link flow - #831
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
✱ Stainless preview builds for gridThis PR will update the cli go kotlin openapi php python ruby typescript
|
db2b832 to
fb4495e
Compare
|
fb4495e to
c61a67f
Compare
Greptile SummaryExtends the hosted verification documentation and endpoint description to cover business KYB alongside individual KYC.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| mintlify/snippets/kyc/kyc-unregulated.mdx | Generalizes the hosted onboarding guide for individual KYC and business KYB, including creation examples, status handling, and sandbox advice. |
| mintlify/snippets/kyc/kyb-sandbox-suffixes.mdx | Introduces reusable documentation for deterministic business-verification sandbox suffixes. |
| mintlify/snippets/sandbox-verification.mdx | Replaces duplicated KYB suffix content with the shared snippet and links to the hosted-flow guide. |
| openapi/paths/customers/customers_{customerId}_kyc-link.yaml | Broadens the hosted-link endpoint description to document business KYB behavior and the direct API alternative. |
| openapi.yaml | Regenerates the bundled OpenAPI output with the updated hosted-link description. |
| mintlify/openapi.yaml | Regenerates the Mintlify OpenAPI bundle with the updated hosted-link description. |
Reviews (2): Last reviewed commit: "docs(kyc): cover business customers in t..." | Re-trigger Greptile
| |--------|---------| | ||
| | `UNVERIFIED` | Created, not yet submitted. Generating a link does not move it off this value | | ||
| | `PENDING` | Submitted; review under way | | ||
| | `APPROVED` | Passed — unlock funding and money movement | |
There was a problem hiding this comment.
Approval omits the consent gate
When an unregulated platform has not recorded End User Terms consent, this row incorrectly presents KYC/KYB approval as sufficient to unlock funding and money movement, causing customer-scoped transactions to be rejected despite the documented guidance.
| | `APPROVED` | Passed — unlock funding and money movement | | |
| | `APPROVED` | Passed verification. For unregulated platforms, record End User Terms consent before enabling funding and money movement | |
Knowledge Base Used: Customers and KYC
Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/kyc/verification-options.mdx
Line: 90
Comment:
**Approval omits the consent gate**
When an unregulated platform has not recorded End User Terms consent, this row incorrectly presents KYC/KYB approval as sufficient to unlock funding and money movement, causing customer-scoped transactions to be rejected despite the documented guidance.
```suggestion
| `APPROVED` | Passed verification. For unregulated platforms, record End User Terms consent before enabling funding and money movement |
```
**Knowledge Base Used:** [Customers and KYC](https://app.greptile.com/lightspark/-/custom-context/knowledge-base/lightsparkdev/grid-api/-/docs/customers-and-kyc.md)
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.The hosted link flow was documented only for individual customers, so
nothing told integrators that the same endpoint runs KYB for business
customers, or what a business needs to supply before the link is
generated. That had to be explained by hand.
Extend the existing unregulated-platform KYC/KYB content in Configuring
customers rather than adding a separate page, since that guide already
covers both onboarding paths:
- State that POST /customers/{customerId}/kyc-link serves both customer
types and that customerType selects the flow — INDIVIDUAL tracked on
kycStatus, BUSINESS on kybStatus — and what the KYB applicant
completes in the hosted flow.
- Split customer creation into individual and business tabs, with the
fields POST /customers actually requires for a business customer and
the three groups that are optional to the schema but required in
practice (contact channels, currency-driven, review-driven).
- Note that business information is prefilled into the hosted flow, so
it should be supplied before the link is generated.
- Generalize the end-to-end steps to cover both customer types, and
correct the places that referred to kycStatus for business customers.
Document the 003 sandbox suffix: a business registration number not
ending in 001, 002, or 003 auto-approves the customer on the spot,
leaving the hosted flow nothing to verify, so it requests no documents
and no beneficial owners. That reads as a broken KYB flow but isn't.
The suffix table moves into a shared snippet so the sandbox testing page
and this guide stay in sync.
Also broaden the kyc-link endpoint description to cover the KYB case and
point at the direct API alternative.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
c61a67f to
d3ffbab
Compare
What
Extends the existing unregulated-platform KYC/KYB content in Configuring customers so the hosted link flow covers business customers, not just individuals.
The hosted flow was documented only for
INDIVIDUAL. Nothing told integrators that the same endpoint runs KYB for business customers, or what a business needs to supply before the link is generated — so that had to be walked through by hand.This extends the guide that already covers both onboarding paths rather than adding a separate page:
POST /customers/{customerId}/kyc-linkserves both, andcustomerTypeselects the flow —INDIVIDUALtracked onkycStatus,BUSINESSonkybStatus. There is no dedicated KYB link endpoint. Says what the KYB applicant completes in the flow: company details, formation and ownership documents, control person, and beneficial owners at 25% or more.POST /customersactually requires (legalName,country,taxId,incorporatedOn) plus the three groups that are optional to the schema but required in practice — contact channels, currency-driven viaproviderRequiredCustomerFields, and everything the review needs.kycStatusfor business customers.The 003 suffix
A business
registrationNumbernot ending in001,002, or003auto-approves the customer on the spot in sandbox. The hosted flow then has nothing left to verify, so it asks for no documents and no beneficial owners — which looks exactly like a broken KYB flow.003avoids the auto-decision so document and UBO collection actually run.The suffix table moved into a shared snippet, so the sandbox testing page and this guide can't drift apart.
Also
Broadens the
kyc-linkendpoint description to cover the KYB case and name the direct API alternative, rather than describing only individual identity verification.Verification
make build+make lint— spec valid, 0 errors. Bundle diff is scoped to this one endpoint.#hosted-kyc-and-kyb-link-flowand the sandbox page's cross-link resolves to it.mint broken-linksreports nothing from any changed file.Docs-only — no schema or behavior changes.
🤖 Generated with Claude Code