docs: sync Mintlify docs with recent schema changes#627
Conversation
Update documentation to reflect changes from PRs #617, #620, and #622: - Add SMS_OTP credential type to Global Accounts authentication docs - Update sandbox docs to mention SMS OTP uses the same magic code - Add processorRef and issuerRef fields to card webhook examples Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
Greptile SummaryThis PR syncs four Mintlify doc snippets with schema changes introduced in PRs #617 and #620: it adds
Confidence Score: 4/5Safe to merge with minor fixes; the card example changes are clean and the SMS_OTP additions are mostly correct, but two spots in authentication.mdx were missed and still describe only the EMAIL_OTP single-credential limit. The cards changes are straightforward field additions with no issues. The sandbox doc is accurate. The main gap is in authentication.mdx: a Note block and an inline prose sentence still only describe the EMAIL_OTP per-account limit, which now contradicts the updated intro paragraph that says accounts can hold one SMS_OTP as well. Additionally, the anchor link to client-keys.mdx in the sandbox doc points to a heading that still says EMAIL_OTP only. mintlify/snippets/global-accounts/authentication.mdx — two locations still describe only the EMAIL_OTP single-credential constraint and should mention SMS_OTP.
|
| Filename | Overview |
|---|---|
| mintlify/snippets/global-accounts/authentication.mdx | Adds SMS_OTP to the credential types table and updates the per-account limit description; the inline Note about credential limits and the Add an additional credential prose were not updated to reflect the new SMS_OTP constraint. |
| mintlify/snippets/sandbox-global-account-magic.mdx | Correctly extends sandbox magic-code docs to cover SMS_OTP; the link anchor to client-keys.mdx still says EMAIL_OTP only, which contradicts the new statement that both OTP types follow the same flow. |
| mintlify/snippets/cards/webhooks.mdx | Adds processorRef and issuerRef fields to the webhook Card JSON example; change looks accurate and complete. |
| mintlify/snippets/cards/quickstart.mdx | Adds processorRef and issuerRef fields to the quickstart Card JSON example; change looks accurate and complete. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Global Account action] --> B{Credential type}
B --> C[PASSKEY]
B --> D[OAUTH]
B --> E[EMAIL_OTP - 1 per account]
B --> F[SMS_OTP - 1 per account, NEW]
E --> G[POST /challenge]
F --> G
G --> H[HPKE-encrypt OTP]
H --> I[POST /verify 202]
I --> J[Sign payloadToSign with TEK]
J --> K[200 AuthSession]
C --> L[POST /challenge + /verify WebAuthn]
L --> M[200 AuthSession + encryptedSessionSigningKey]
D --> N[POST /verify with OIDC token]
N --> M
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[Global Account action] --> B{Credential type}
B --> C[PASSKEY]
B --> D[OAUTH]
B --> E[EMAIL_OTP - 1 per account]
B --> F[SMS_OTP - 1 per account, NEW]
E --> G[POST /challenge]
F --> G
G --> H[HPKE-encrypt OTP]
H --> I[POST /verify 202]
I --> J[Sign payloadToSign with TEK]
J --> K[200 AuthSession]
C --> L[POST /challenge + /verify WebAuthn]
L --> M[200 AuthSession + encryptedSessionSigningKey]
D --> N[POST /verify with OIDC token]
N --> M
Comments Outside Diff (2)
-
mintlify/snippets/global-accounts/authentication.mdx, line 730-732 (link)<Note>not updated to include SMS_OTP limitThe intro paragraph was correctly updated to say accounts can hold "one
EMAIL_OTPcredential, oneSMS_OTPcredential", but this<Note>block still only calls out theEMAIL_OTPsingle-credential limit. A developer who reads only the note will have no idea the same constraint applies toSMS_OTP, and may attempt to add a second one without understanding why it fails.Prompt To Fix With AI
This is a comment left during a code review. Path: mintlify/snippets/global-accounts/authentication.mdx Line: 730-732 Comment: **`<Note>` not updated to include SMS_OTP limit** The intro paragraph was correctly updated to say accounts can hold "one `EMAIL_OTP` credential, one `SMS_OTP` credential", but this `<Note>` block still only calls out the `EMAIL_OTP` single-credential limit. A developer who reads only the note will have no idea the same constraint applies to `SMS_OTP`, and may attempt to add a second one without understanding why it fails. How can I resolve this? If you propose a fix, please make it concise.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
-
mintlify/snippets/global-accounts/authentication.mdx, line 678 (link)The
EMAIL_OTPsingle-credential constraint is described in isolation. SinceSMS_OTPnow has the same per-account limit it should be mentioned here too, keeping this consistent with the updated intro paragraph.Prompt To Fix With AI
This is a comment left during a code review. Path: mintlify/snippets/global-accounts/authentication.mdx Line: 678 Comment: The `EMAIL_OTP` single-credential constraint is described in isolation. Since `SMS_OTP` now has the same per-account limit it should be mentioned here too, keeping this consistent with the updated intro paragraph. How can I resolve this? If you propose a fix, please make it concise.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Prompt To Fix All With AI
Fix the following 3 code review issues. Work through them one at a time, proposing concise fixes.
---
### Issue 1 of 3
mintlify/snippets/global-accounts/authentication.mdx:730-732
**`<Note>` not updated to include SMS_OTP limit**
The intro paragraph was correctly updated to say accounts can hold "one `EMAIL_OTP` credential, one `SMS_OTP` credential", but this `<Note>` block still only calls out the `EMAIL_OTP` single-credential limit. A developer who reads only the note will have no idea the same constraint applies to `SMS_OTP`, and may attempt to add a second one without understanding why it fails.
### Issue 2 of 3
mintlify/snippets/global-accounts/authentication.mdx:678
The `EMAIL_OTP` single-credential constraint is described in isolation. Since `SMS_OTP` now has the same per-account limit it should be mentioned here too, keeping this consistent with the updated intro paragraph.
```suggestion
Requires an active session on an *existing* credential on the same account. The first call uses the normal credential-create body; Grid detects the pre-existing credential and responds `202` instead of `201`. `OAUTH` and `PASSKEY` are the typical additional credential types. `EMAIL_OTP` can be added back only after the existing email OTP credential has been removed, because each account supports one. The same applies to `SMS_OTP`.
```
### Issue 3 of 3
mintlify/snippets/sandbox-global-account-magic.mdx:11
**Stale anchor points to an `EMAIL_OTP`-only section heading**
The link `#encrypt-the-otp-code-email_otp-only` still resolves to a section in `client-keys.mdx` titled `## Encrypt the OTP code (EMAIL_OTP only)`. That heading wasn't updated in this PR, so visitors who follow the link will land on a section that explicitly says "EMAIL_OTP only" — directly contradicting the updated text here that says the flow is the same for both credential types. The `client-keys.mdx` heading should be updated to drop the "(EMAIL_OTP only)" qualifier, and the anchor in this file updated accordingly.
Reviews (1): Last reviewed commit: "docs: sync Mintlify docs with recent Ope..." | Re-trigger Greptile
| HPKE-encrypt the code `000000` (together with your TEK public key) inside `encryptedOtpBundle`. The sandbox skips email and SMS delivery but runs real HPKE decryption and signature verification. | ||
|
|
||
| See <a href="/global-accounts/integration-guides/client-keys#encrypt-the-otp-code-email_otp-only">Encrypt the OTP code</a> for how to build the bundle. The flow is: | ||
| See <a href="/global-accounts/integration-guides/client-keys#encrypt-the-otp-code-email_otp-only">Encrypt the OTP code</a> for how to build the bundle. The flow is the same for both `EMAIL_OTP` and `SMS_OTP`: |
There was a problem hiding this comment.
Stale anchor points to an
EMAIL_OTP-only section heading
The link #encrypt-the-otp-code-email_otp-only still resolves to a section in client-keys.mdx titled ## Encrypt the OTP code (EMAIL_OTP only). That heading wasn't updated in this PR, so visitors who follow the link will land on a section that explicitly says "EMAIL_OTP only" — directly contradicting the updated text here that says the flow is the same for both credential types. The client-keys.mdx heading should be updated to drop the "(EMAIL_OTP only)" qualifier, and the anchor in this file updated accordingly.
Context Used: mintlify/AGENTS.md (source)
Prompt To Fix With AI
This is a comment left during a code review.
Path: mintlify/snippets/sandbox-global-account-magic.mdx
Line: 11
Comment:
**Stale anchor points to an `EMAIL_OTP`-only section heading**
The link `#encrypt-the-otp-code-email_otp-only` still resolves to a section in `client-keys.mdx` titled `## Encrypt the OTP code (EMAIL_OTP only)`. That heading wasn't updated in this PR, so visitors who follow the link will land on a section that explicitly says "EMAIL_OTP only" — directly contradicting the updated text here that says the flow is the same for both credential types. The `client-keys.mdx` heading should be updated to drop the "(EMAIL_OTP only)" qualifier, and the anchor in this file updated accordingly.
**Context Used:** mintlify/AGENTS.md ([source](https://app.greptile.com/lightspark/github/lightsparkdev/grid-api/-/custom-context?memory=51934046-75fb-42d3-9870-f42d61cb60e3))
How can I resolve this? If you propose a fix, please make it concise.
Summary
Syncs Mintlify documentation with recent OpenAPI schema changes:
SMS_OTPcredential type to the authentication table and update credential limit description (from PRs [grid] add SMS OTP auth API #617)000000magic code as EMAIL_OTPprocessorRefandissuerReffields to match the updated Card schema (from PR docs(openapi): split Card processorRef (Lithic) from issuerRef (Lead) #620)Changed Files
mintlify/snippets/global-accounts/authentication.mdx- SMS_OTP credential type addedmintlify/snippets/sandbox-global-account-magic.mdx- SMS OTP sandbox behavior documentedmintlify/snippets/cards/webhooks.mdx- processorRef/issuerRef in examplemintlify/snippets/cards/quickstart.mdx- processorRef/issuerRef in exampleTest plan
make mint🤖 Generated with Claude Code