Skip to content

[kyb] add issuing authority to IDs#480

Merged
gcamata merged 1 commit into
mainfrom
05-19-_kyb_add_issuing_authority_to_ids
May 19, 2026
Merged

[kyb] add issuing authority to IDs#480
gcamata merged 1 commit into
mainfrom
05-19-_kyb_add_issuing_authority_to_ids

Conversation

@gcamata
Copy link
Copy Markdown
Contributor

@gcamata gcamata commented May 19, 2026

As part of our bank's customer onboarding, we need to provide the issuing authority on all customer IDs -- these changes add that field to the API so we can begin dashboard work on collecting it. Future changes will make it a required field

closes https://lightspark.atlassian.net/browse/AT-4816

@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

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

Project Deployment Actions Updated (UTC)
grid-flow-builder Ready Ready Preview, Comment May 19, 2026 7:27pm

Request Review

Copy link
Copy Markdown
Contributor Author

gcamata commented May 19, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

✱ Stainless preview builds for grid

This PR will update the grid SDKs with the following commit messages.

cli

feat(api): add issuing-authority parameter to beneficial owners methods

csharp

feat(api): add IssuingAuthority field to beneficial owners

go

feat(api): add IssuingAuthority field to beneficial owner personal info

kotlin

feat(api): add issuingAuthority field to beneficial owners

openapi

feat(api): add issuingAuthority field to beneficial owner identification

php

feat(api): add issuingAuthority field to beneficial owner personal info

python

feat(api): add issuing_authority field to beneficial_owners personal_info

ruby

feat(api): add issuing_authority field to beneficial owner models

typescript

feat(api): add issuingAuthority field to beneficial owners personalInfo
⚠️ grid-openapi studio · code

Your SDK build had at least one warning diagnostic.
generate ✅

⚠️ grid-ruby studio · code

Your SDK build had at least one "warning" diagnostic.
generate ⚠️build ⏭️lint ⏭️test ⏭️

⚠️ grid-go studio · code

Your SDK build had at least one "error" diagnostic.
generate ❗build ⏭️lint ⏭️test ⏭️

go get github.com/stainless-sdks/grid-go@99cdf6e6b1ae52afd8c85e09510ad4722daf14f5
⚠️ grid-kotlin studio · code

Your SDK build had at least one warning diagnostic.
generate ✅build ⏭️lint ⏭️test ⏭️

⚠️ grid-python studio · code

Your SDK build had at least one warning diagnostic.
generate ✅build ⏭️lint ⏭️test ⏭️

⚠️ grid-csharp studio · code

Your SDK build had at least one "error" diagnostic.
generate ❗build ⏭️lint ⏭️test ⏭️

⚠️ grid-typescript studio · code

Your SDK build had at least one warning diagnostic.
generate ✅build ⏭️lint ⏭️test ⏭️

⚠️ grid-php studio · code

Your SDK build had at least one "error" diagnostic.
generate ❗lint ⏭️test ⏭️

⚠️ grid-cli studio · code

Your SDK build had at least one "warning" diagnostic.
generate ⚠️build ⏭️lint ⏭️test ⏭️


This comment is auto-generated by GitHub Actions and is automatically kept up to date as you push.
If you push custom code to the preview branch, re-run this workflow to update the comment.
Last updated: 2026-05-19 23:20:51 UTC

@gcamata gcamata marked this pull request as ready for review May 19, 2026 19:27
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 19, 2026

Greptile Summary

This PR adds an optional issuingAuthority string field to the customer identification schemas (BeneficialOwnerPersonalInfo and BeneficialOwnerPersonalInfoUpdate), enabling the dashboard to begin collecting the issuing government agency for customer IDs as part of the KYB onboarding flow.

  • BeneficialOwnerPersonalInfo.yaml and BeneficialOwnerPersonalInfoUpdate.yaml each gain issuingAuthority as an optional field; the bundles (openapi.yaml, mintlify/openapi.yaml) are regenerated correctly via make build.
  • PersonalIdentification.yaml also receives the same field, but this schema is not referenced anywhere in the OpenAPI source tree or the generated bundle, so that change has no current effect on the API surface.

Confidence Score: 4/5

Safe to merge — the changes are additive optional fields on existing schemas with no breaking API surface changes.

The two schemas that are actually wired into the API (BeneficialOwnerPersonalInfo and BeneficialOwnerPersonalInfoUpdate) are correctly updated and the bundles are regenerated. The only wrinkle is PersonalIdentification.yaml, which receives the same field but is not referenced by any other schema, so its update has no effect on the published spec.

PersonalIdentification.yaml — it's unclear whether this schema is intentionally a standalone stub or was meant to be shared via $ref across the beneficial-owner schemas.

Important Files Changed

Filename Overview
openapi/components/schemas/customers/PersonalIdentification.yaml Adds issuingAuthority field, but this schema is not referenced anywhere in the OpenAPI source or bundle, so the change has no effect on the published API spec.
openapi/components/schemas/customers/BeneficialOwnerPersonalInfo.yaml Adds optional issuingAuthority string field to the beneficial-owner personal info schema; field is correctly not added to required, consistent with PR intent.
openapi/components/schemas/customers/BeneficialOwnerPersonalInfoUpdate.yaml Adds optional issuingAuthority string field to the update schema; mirrors the create schema change and is correctly optional.
openapi.yaml Generated bundle — issuingAuthority correctly appears in BeneficialOwnerPersonalInfo and BeneficialOwnerPersonalInfoUpdate sections after make build.
mintlify/openapi.yaml Mintlify copy of the generated bundle — changes mirror openapi.yaml, both are correctly regenerated.

Sequence Diagram

sequenceDiagram
    participant Dashboard
    participant GridAPI as Grid API
    participant Spec as OpenAPI Spec

    Note over Spec: BeneficialOwnerPersonalInfo + issuingAuthority (optional)
    Note over Spec: BeneficialOwnerPersonalInfoUpdate + issuingAuthority (optional)

    Dashboard->>GridAPI: "POST /beneficial-owners { personalInfo: { issuingAuthority: ... } }"
    GridAPI-->>Dashboard: 201 Created

    Dashboard->>GridAPI: "PATCH /beneficial-owners/{id} { personalInfo: { issuingAuthority: ... } }"
    GridAPI-->>Dashboard: 200 OK
Loading

Fix All in Claude Code

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
openapi/components/schemas/customers/PersonalIdentification.yaml:16-19
`PersonalIdentification.yaml` appears to be unreferenced — searching the entire `openapi/` directory (and the bundled `openapi.yaml` / `mintlify/openapi.yaml`) returns no `$ref` pointing to this schema. That means the `issuingAuthority` field added here won't surface in the generated API spec at all. If this schema is intentionally a "stub" for future use, it's fine to leave it, but the change has no current effect on the API surface. If it was expected to be the canonical definition shared by the beneficial-owner schemas, those schemas would need to reference it via `$ref` instead of inlining the identification fields.

Reviews (1): Last reviewed commit: "[kyb] add issuing authority to IDs" | Re-trigger Greptile

Comment on lines +16 to +19
issuingAuthority:
type: string
description: Name of the government agency or organization that issued the identification
example: U.S. Department of State
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 PersonalIdentification.yaml appears to be unreferenced — searching the entire openapi/ directory (and the bundled openapi.yaml / mintlify/openapi.yaml) returns no $ref pointing to this schema. That means the issuingAuthority field added here won't surface in the generated API spec at all. If this schema is intentionally a "stub" for future use, it's fine to leave it, but the change has no current effect on the API surface. If it was expected to be the canonical definition shared by the beneficial-owner schemas, those schemas would need to reference it via $ref instead of inlining the identification fields.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/customers/PersonalIdentification.yaml
Line: 16-19

Comment:
`PersonalIdentification.yaml` appears to be unreferenced — searching the entire `openapi/` directory (and the bundled `openapi.yaml` / `mintlify/openapi.yaml`) returns no `$ref` pointing to this schema. That means the `issuingAuthority` field added here won't surface in the generated API spec at all. If this schema is intentionally a "stub" for future use, it's fine to leave it, but the change has no current effect on the API surface. If it was expected to be the canonical definition shared by the beneficial-owner schemas, those schemas would need to reference it via `$ref` instead of inlining the identification fields.

How can I resolve this? If you propose a fix, please make it concise.

Fix in Claude Code

type: string
description: Country that issued the identification (ISO 3166-1 alpha-2)
example: US
issuingAuthority:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be required?

Copy link
Copy Markdown
Contributor Author

@gcamata gcamata May 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it will be in the future (https://lightspark.atlassian.net/browse/AT-5270), but I want to add it to the dashboard first and test while it's still optional

Copy link
Copy Markdown
Contributor

@wuvictor-95 wuvictor-95 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment

@gcamata gcamata merged commit 28f252e into main May 19, 2026
9 checks passed
Copy link
Copy Markdown
Contributor Author

gcamata commented May 19, 2026

Merge activity

@gcamata gcamata deleted the 05-19-_kyb_add_issuing_authority_to_ids branch May 19, 2026 23:18
gcamata added a commit that referenced this pull request May 20, 2026
Reverts #480

oops. realized we want this on the document object, not on the
beneficial owner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants