Skip to content

docs(changelog): sandbox KYC/KYB now resolves from a submitted verification - #900

Merged
pengying merged 1 commit into
mainfrom
09-04-sandbox-verification-changelog
Sep 5, 2026
Merged

docs(changelog): sandbox KYC/KYB now resolves from a submitted verification#900
pengying merged 1 commit into
mainfrom
09-04-sandbox-verification-changelog

Conversation

@ls-bolt

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

Copy link
Copy Markdown
Contributor

Summary

Adds a September 2026 changelog entry describing the sandbox customer verification change: unregulated sandbox platforms now resolve KYC/KYB from a submitted verification rather than at create.

Requested in Slack off Jay's draft partner message. I traced the shipped behavior in webdev rather than transcribing the draft, so the entry reflects what actually landed:

  • lightsparkdev/webdev#34255 — unregulated sandbox platforms require a real verification packet before KYC/KYB resolves
  • lightsparkdev/webdev#34340 — a rename no longer overwrites a final status
  • lightsparkdev/webdev#34311 — the UNREGULATED create preset and the Skip verification paperwork Configuration switch

What the entry covers

  • The behavior change itself, in a <Warning> callout — a name suffix alone no longer sets the result at create; new customers stay UNVERIFIED until POST /verifications. Existing customers keep their status; regulated sandboxes are unaffected.
  • The full flow: upload documents, register beneficial owners, submit. The suffix still decides the outcome, applied at submission rather than at create.
  • RESOLVE_ERRORS on an incomplete packet, including that a business with an 002 registration number now reports missing data before rejecting.
  • Rename no longer overwriting a settled result (#34340) — not in Jay's draft, but integrators relying on rename-to-retarget will hit it.
  • The Skip verification paperwork escape hatch, including the detail that it is asymmetric: individuals resolve at create, businesses at their first submission.

Verification

  • mint broken-links: 33 broken links in 14 files, identical before and after — this change adds none.
  • Rendered locally on mint@4.2.284 and screenshotted; the <Update>, <Warning>, and link all render correctly and match the August/July entries.
  • bolt-adversarial-review: 2 rounds. Round 1 flagged the closing link pointing at content describing the superseded behavior; I narrowed it to the suffix table, which is still accurate. See the follow-up below for what remains.

Known follow-up — not in this PR

mintlify/snippets/sandbox-verification.mdx and mintlify/snippets/kyc/kyb-sandbox-suffixes.mdx still describe the old instant-approval-at-create behavior. Ajay called this out as a separate PR in this repo in the "Not in this PR" section of lightsparkdev/webdev#34340, so I have deliberately left it out of scope here rather than fold a substantial docs rewrite into a changelog entry.

The adversarial reviewer flagged the contradiction both rounds, and it is a fair hit: a reader who follows the link lands on prose that contradicts the entry. I narrowed the link to the part of the page that is still correct, which limits the damage but does not fix it. Worth landing that snippet update soon — happy to take it if it is not already assigned.

Requested by @pengying

@mintlify

mintlify Bot commented Sep 4, 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 4, 2026, 11:45 PM

@ls-bolt ls-bolt Bot added the bolt label Sep 4, 2026
@vercel

vercel Bot commented Sep 4, 2026

Copy link
Copy Markdown

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

2 Skipped Deployments
Project Deployment Actions Updated
grid-flow-builder Ignored Ignored Preview Sep 5, 2026 12:21am UTC
grid-wallet-demo Ignored Ignored Preview Sep 5, 2026 12:21am UTC

Request Review

lightspark-bot commented Sep 4, 2026

Copy link
Copy Markdown

@greptile-apps

greptile-apps Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds a September 2026 changelog entry describing the revised sandbox KYC/KYB lifecycle.

  • Explains that unregulated sandbox customers now resolve verification after submission.
  • Documents incomplete-packet handling, settled-status preservation, and the optional paperwork-skipping fast path.
  • Links to sandbox suffix guidance, although that destination still contains contradictory create-time instructions.

Confidence Score: 4/5

The documentation change appears safe to merge, with a non-blocking but actionable inconsistency in the linked sandbox guidance.

The changelog clearly describes the new submission-time lifecycle, but its unanchored reference link leads to existing instructions that still prescribe create-time resolution and can confuse integrators.

Files Needing Attention: mintlify/changelog.mdx

Important Files Changed

Filename Overview
mintlify/changelog.mdx Adds detailed sandbox verification release guidance; its closing link exposes readers to superseded lifecycle instructions.
Prompt To Fix All With AI
### Issue 1
mintlify/changelog.mdx:42-43
**Linked Guidance Contradicts Change**

This link opens the full sandbox-testing page, where the individual KYC guidance still says terminal suffixes resolve when the customer is created and that only `001` and `003` customers can be submitted. Readers can therefore follow the superseded create-time flow instead of the submission-time flow announced here. Please update the linked guidance or target a section containing only current suffix information.

---

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

Reviews (1): Last reviewed commit: "docs(changelog): sandbox KYC/KYB now res..." | Re-trigger Greptile

Comment thread mintlify/changelog.mdx
@ls-bolt
ls-bolt Bot force-pushed the 09-04-sandbox-verification-changelog branch from a129879 to 16621a1 Compare September 5, 2026 00:21
@ls-bolt

ls-bolt Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

⚡ Review ledger

Round 1

  1. @greptile-apps — Linked guidance contradicts change (mintlify/changelog.mdx:42-43) → FIXED in stacked PR docs(sandbox): correct KYC/KYB resolution timing in the sandbox snippets #901: rewrote mintlify/snippets/sandbox-verification.mdx and mintlify/snippets/kyc/kyb-sandbox-suffixes.mdx to describe submission-time resolution, and restored this PR's link text there. Targeting a narrower anchor (the suggested alternative) was not possible — every subsection of that page carried create-time framing, so there was no accurate section to point at. Kept out of this PR to preserve @pengying's approval; the snippet rewrite was already scoped to a separate grid-api PR upstream (lightsparkdev/webdev#34340).

@ls-bolt

ls-bolt Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

Revision log — updated in place, latest first.

Revision 1

@greptile-apps

greptile-apps Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Thanks for the follow-up. This resolves the concern: the linked snippets are now updated in stacked PR #901 to describe submission-time resolution, and restoring the original link is appropriate since no narrower accurate anchor existed. Keeping the rewrite out of this changelog PR also preserves its intended scope.

@greptile-apps

greptile-apps Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Thanks for the update. Addressing the contradictory snippets in stacked PR #901 is a reasonable scope split, and restoring the original link text there once the destination is corrected preserves the changelog’s intended guidance. I have no remaining concern with this PR based on that follow-up.

@pengying
pengying merged commit aab4969 into main Sep 5, 2026
9 checks passed
@pengying
pengying deleted the 09-04-sandbox-verification-changelog branch September 5, 2026 00:24
pengying added a commit that referenced this pull request Sep 8, 2026
…ets (#901)

## Summary

Corrects the sandbox verification docs, which described KYC/KYB as
resolving at customer creation. That is no longer true by default: on an
unregulated sandbox platform the result now resolves from a submitted
verification, and only resolves at creation on a regulated platform or
with **Skip verification paperwork** enabled.

Follow-up to the September 2026 changelog entry (#900, merged), whose
link pointed at guidance that contradicted it.

## What changed

**`mintlify/snippets/sandbox-verification.mdx`**
- The individual KYC section no longer claims the suffix resolves
`kycStatus` "immediately at creation". It now splits the two paths
explicitly: unregulated with the switch off (stays `UNVERIFIED`,
`RESOLVE_ERRORS` on an incomplete submission, suffix applies once
complete) versus regulated or switch-on (resolves at creation).
- Suffix table column relabeled `Resolved kycStatus`, so readers
scanning the table see that the values are eventual outcomes rather than
creation-time statuses.
- Added the finality rule: `APPROVED`/`REJECTED` are terminal, and a
rename no longer re-derives them.

**`mintlify/snippets/kyc/kyb-sandbox-suffixes.mdx`**
- Business customers never resolve at creation; the outcome lands on the
first `POST /verifications`. Documented what that submission does on
each path — packet validated first by default, versus a final suffix
resolving *before* packet validation when paperwork is skipped (so an
incomplete `002` rejects rather than reporting errors). `001`/`003`
require a complete packet either way.
- Scoped the auto-approval `<Warning>` to the no-packet-validation
cases.

**`mintlify/snippets/kyc/kyc-unregulated.mdx`**,
**`payouts-and-b2b/platform-tools/sandbox-testing.mdx`**,
**`rewards/platform-tools/sandbox-testing.mdx`**,
**`ramps/platform-tools/sandbox-testing.mdx`**
- Four more places asserted instant or automatic approval with no
qualification. Each now states when the result resolves and on which
configuration. The payouts bullet also distinguishes individuals
(resolve at creation on the no-packet paths) from businesses (always
resolve on their first submission).

**Terminal vs. submittable suffixes**
- On the no-packet paths, only terminal suffixes (`002`, and any value
other than `001`/`003`) resolve without documents. `001` and `003` land
at `PENDING`/`UNVERIFIED` and remain submittable, carrying the full data
and document requirements — so "no documents required" is scoped to the
terminal case rather than stated for every suffix.
- The same distinction is applied to the payouts KYC bullet for
businesses.

**Walkthrough scoping**
- The fix-and-resubmit `<Steps>` walkthrough and the production-parity
data requirements in `sandbox-verification.mdx` are scoped to the paths
where a submission is actually required, rather than presented as
universal — they were misleading for the skip-paperwork path.
- The ramps on-ramp walkthrough creates a customer with no magic suffix
and immediately uses it in Step 2, which is not executable on the
default unregulated path. It now states its prerequisite up front: a
regulated platform or **Skip verification paperwork** on, with a pointer
to the verification flow otherwise.

**`mintlify/changelog.mdx`**
- Restored the "fix-and-resubmit loop" link text now that the
destination is accurate.
- Corrected the **Skip verification paperwork** bullet, which said
results come from the suffix "with no documents" for every suffix. That
holds for terminal suffixes only; `001` and `003` still require a
complete packet. This line shipped in #900 and is partner-facing, so it
is corrected here rather than left for a later pass.

**Stale claim corrected**
- The payouts page said sandbox customers must use `/customers` "rather
than using the KYC link flow". The sandbox does implement hosted KYC
(`POST /customers/{customerId}/kyc-link`), so that line is removed; both
onboarding paths work as in production.

## Verification

- `mint broken-links`: 33 broken links in 14 files, unchanged from
`main` — none in the touched files.
- Rendered `/api-reference/sandbox-testing` locally on `mint@4.2.284`;
the revised sections render correctly and no longer contradict the
changelog.
- `bolt-adversarial-review` run each round. It caught four real errors
in my own drafts: "auto-approved on the spot" (wrong for businesses
under the skip flag), a `registrationNumber` reference attached to an
`INDIVIDUAL` example, a walkthrough left mid-flow with an unverified
customer, and a KYC/KYB generalization on the payouts bullet. All fixed;
final round clean.

## Known gaps, not addressed here

- `snippets/global-accounts/walkthrough.mdx` states the customer is
"KYC-approved immediately". Nothing under `global-accounts/` documents
unregulated platforms, so that may still be accurate for that surface —
left alone rather than guessed at.
- The rewards page's "Sandbox KYB Flow" section is headed KYB but its
example creates an `INDIVIDUAL`. Pre-existing mismatch, out of scope for
this change.

---------

Co-authored-by: Peng Ying <peng@lightspark.com>
Co-authored-by: pengying <pengying@users.noreply.github.com>
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.

3 participants