Add optional primary contact name to business info - #804
Conversation
Businesses onboarding in regions that verify a named individual against the business (e.g. the EU) need to identify their registered director or authorised representative. Adds optional primaryContactFirstName / primaryContactLastName to the business info request, update, and response schemas; the customer's existing email and phoneNumber are that person's contact details.
|
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 feat(api): add primary contact name fields to business customer business info openapi php feat(api): add primary contact name fields to business customer feat(api): add primary_contact_first_name/last_name fields to business customer Edit this comment to update them. They will appear in their respective SDK's changelogs. ⏳ grid-typescript studio✅ grid-openapi studio · code · diff
⏳ grid-go studio · code · diff
⏳ grid-kotlin studio⏳ grid-php studio⏳ grid-cli studio⏳ These are partial results; builds are still running. This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push. |
## Summary
Adds two optional properties — `primaryContactFirstName` and
`primaryContactLastName` — to `BusinessInfo`, `BusinessInfoUpdate`, and
`BusinessInfoResponse`.
Businesses onboarding in regions that verify a named individual against
the business (the EU, for example) have to identify their registered
director or authorised representative. Today the business info schemas
carry no way to name that person, so there is nowhere for an integrator
to send it.
## Why two plain properties rather than a `primaryContact` object
The customer's existing top-level `email` and `phoneNumber` already are
that person's contact details — they're documented as "Required in
regions that verify the email address before identity verification".
Nesting a fresh contact object with its own email and phone would create
a second, competing pair of channels for the same human, and the
verification endpoints (`POST /customers/{id}/verify-email`,
`/verify-phone`) verify the customer-level ones. Only the name was
missing, so only the name is added.
Both fields are optional, so existing integrations are unaffected.
## Test plan
- `make build` — bundles cleanly to `openapi.yaml` +
`mintlify/openapi.yaml`
- `npx spectral lint openapi.yaml --fail-severity=error` — 0 errors, and
no new findings against the added properties
- `oasdiff breaking <main> <head> --fail-on ERR` — "No breaking changes
to report", so no `info.version` bump
Requested by @jklein24
Original PR: #804

Summary
Adds two optional properties —
primaryContactFirstNameandprimaryContactLastName— toBusinessInfo,BusinessInfoUpdate, andBusinessInfoResponse.Businesses onboarding in regions that verify a named individual against the business (the EU, for example) have to identify their registered director or authorised representative. Today the business info schemas carry no way to name that person, so there is nowhere for an integrator to send it.
Why two plain properties rather than a
primaryContactobjectThe customer's existing top-level
emailandphoneNumberalready are that person's contact details — they're documented as "Required in regions that verify the email address before identity verification". Nesting a fresh contact object with its own email and phone would create a second, competing pair of channels for the same human, and the verification endpoints (POST /customers/{id}/verify-email,/verify-phone) verify the customer-level ones. Only the name was missing, so only the name is added.Both fields are optional, so existing integrations are unaffected.
Test plan
make build— bundles cleanly toopenapi.yaml+mintlify/openapi.yamlnpx spectral lint openapi.yaml --fail-severity=error— 0 errors, and no new findings against the added propertiesoasdiff breaking <main> <head> --fail-on ERR— "No breaking changes to report", so noinfo.versionbumpRequested by @jklein24