docs: mark customer email/phoneNumber conditionally required#748
docs: mark customer email/phoneNumber conditionally required#748ls-bolt[bot] wants to merge 1 commit into
Conversation
|
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 Edit this comment to update them. They will appear in their respective SDK's changelogs. ✅ grid-typescript studio · code · diff
✅ grid-ruby studio · code · diff
✅ grid-openapi studio · code · diff
✅ grid-go studio · code · diff
✅ grid-kotlin studio · code · diff
✅ grid-python studio · code · diff
✅ grid-php studio · code · diff
✅ grid-cli studio · code · diff
This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
| format: email | ||
| description: Email address for the customer. | ||
| description: >- | ||
| Email address for the customer. **Required when the customer's payment |
There was a problem hiding this comment.
Don't mention "payment provider" in docs. Grid is the payment provider. Just say it's a region-based requirement
There was a problem hiding this comment.
Good call — done. Both fields now describe it as a region requirement with no mention of a provider:
Email address for the customer. Required in regions that verify the email address before identity verification (e.g. the EU); optional otherwise.
Phone number for the customer in strict E.164 format. Required in regions that verify the phone number before identity verification (e.g. the EU); optional otherwise.
One thing your rule catches that's outside this diff: Customer.contactVerification already says "Only present when the customer's payment provider requires it (e.g. EU customers)" — that's the wording I copied from. Happy to fix it in this PR as a one-liner if you want it consistent; left it alone for now to keep the diff to the two fields.
| description: >- | ||
| Phone number for the customer in strict E.164 format. | ||
| Phone number for the customer in strict E.164 format. **Required when the | ||
| customer's payment provider requires phone verification** (e.g. EU |
There was a problem hiding this comment.
Same fix applied here — phoneNumber now reads "Required in regions that verify the phone number before identity verification (e.g. the EU); optional otherwise."
Both fields are optional on CustomerCreateRequest, but a customer whose payment provider verifies a contact channel before identity verification cannot be created without that channel's value — the request is rejected with INVALID_INPUT. Say so on the fields, matching the wording already used for the provider-conditional contactVerification object. Co-Authored-By: jklein24 <[email protected]>
1e8ed59 to
9ed0bb4
Compare
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
## Summary `CustomerCreateRequest` lists `email` and `phoneNumber` as flatly optional, but a customer in a region that verifies a contact channel before identity verification cannot be created without that channel's value — `POST /customers` rejects the request with `INVALID_INPUT`. The spec gave integrators no way to know that, so an EU onboarding that omits `phoneNumber` fails against a contract that says it's optional. Documents the conditional requirement on both fields, as a region requirement. ## Changes - `openapi/components/schemas/customers/CustomerCreateRequest.yaml` — expanded `email` and `phoneNumber` descriptions - `openapi.yaml`, `mintlify/openapi.yaml` — rebundled via `make build` Description-only: no schema shape, type, or requirement-list change, so generated clients are unaffected and no version bump is needed. `make lint-openapi` passes (0 errors). Requested by @jklein24 Original PR: #748 Co-authored-by: jklein24 <[email protected]>

Summary
CustomerCreateRequestlistsemailandphoneNumberas flatly optional, but a customer in a region that verifies a contact channel before identity verification cannot be created without that channel's value —POST /customersrejects the request withINVALID_INPUT. The spec gave integrators no way to know that, so an EU onboarding that omitsphoneNumberfails against a contract that says it's optional.Documents the conditional requirement on both fields, as a region requirement.
Changes
openapi/components/schemas/customers/CustomerCreateRequest.yaml— expandedemailandphoneNumberdescriptionsopenapi.yaml,mintlify/openapi.yaml— rebundled viamake buildDescription-only: no schema shape, type, or requirement-list change, so generated clients are unaffected and no version bump is needed.
make lint-openapipasses (0 errors).Requested by @jklein24