Skip to content

update VerificationErrorType and VerificationStatus#310

Merged
wuvictor-95 merged 1 commit intomainfrom
03-31-update_verificationerrortype_and_verificationstatus
Mar 31, 2026
Merged

update VerificationErrorType and VerificationStatus#310
wuvictor-95 merged 1 commit intomainfrom
03-31-update_verificationerrortype_and_verificationstatus

Conversation

@wuvictor-95
Copy link
Copy Markdown
Contributor

No description provided.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 31, 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 Mar 31, 2026 11:41pm

Request Review

@wuvictor-95 wuvictor-95 marked this pull request as ready for review March 31, 2026 23:41
Copy link
Copy Markdown
Contributor Author

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 31, 2026

✱ Stainless preview builds

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

kotlin

feat(api): add READY_FOR_VERIFICATION status/webhook event, 10 error types to verifications

openapi

feat(api): add enum values to VerificationStatus, VerificationErrorType, and webhooks

python

feat(api): add READY_FOR_VERIFICATION status/event, 10 error types to verifications

typescript

feat(api): add ready_for_verification status/event and error types to verifications
⚠️ grid-openapi studio · code

Your SDK build had at least one "error" diagnostic.
generate ❗

⚠️ grid-python studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ❗build ✅lint ❗test ✅

pip install https://pkg.stainless.com/s/grid-python/57a0712682eee9b5d7516eb8591a7135d697a362/grid-0.0.1-py3-none-any.whl
⚠️ grid-typescript studio · code

Your SDK build had a failure in the lint CI job, which is a regression from the base state.
generate ❗build ✅lint ❗test ✅

npm install https://pkg.stainless.com/s/grid-typescript/391d5b9faec136f59c3b9df189ef6ce96c8b02bf/dist.tar.gz
⚠️ grid-kotlin studio · code

Your SDK build had at least one "error" 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-03-31 23:59:51 UTC

- IN_PROGRESS
- APPROVED
- REJECTED
- READY_FOR_VERIFICATION
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We do not auto-submit on behalf of the customer after they've resolved all the verification errors. This is why we need this intermediary verification status.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 31, 2026

Greptile Summary

  ∧_∧
(。・ω・。)つ━☆・*。
⊂  ノ    ・゜+.
しーJ   °。+ *´¨)
         .· ´¸.·*´¨) ¸.·*¨)
          (¸.·´ (¸.·'* ☆ PR REVIEW ☆

This PR expands the verification schema by adding a new READY_FOR_VERIFICATION status (plus its matching VERIFICATION.READY_FOR_VERIFICATION webhook type) and 10 new VerificationErrorType enum values covering document quality issues, fraud detection, and applicant-level rejection reasons. Both generated bundles (openapi.yaml and mintlify/openapi.yaml) are correctly re-bundled in lockstep with the source changes.

  • READY_FOR_VERIFICATION added consistently to VerificationStatus, WebhookType, and both bundles
  • ✅ New VerificationErrorType values are well-grouped (*_DOCUMENT quality types followed by APPLICANT_* types)
  • ✅ The old description text that referenced acceptedDocumentTypes has been correctly removed since the new error types don't carry that association
  • ⚠️ SUSPECTED_FRAUD_DOCUMENT is described as a "Document quality type" — fraud detection is semantically distinct from quality issues and may confuse consumers
  • ⚠️ APPLICANT_REJECTED is not explained in the description parenthetical, leaving its relationship to the other APPLICANT_* types ambiguous

Confidence Score: 5/5

Safe to merge — all changes are additive enum expansions with no breaking changes and both generated bundles are correctly re-bundled

All findings are P2 style/description improvements. There are no logic errors, breaking schema changes, or missing consistency between source files and generated bundles. The new enum values are purely additive.

openapi/components/schemas/verifications/VerificationErrorType.yaml — minor description clarity improvements worth considering before this becomes a stable public contract

Important Files Changed

Filename Overview
openapi/components/schemas/verifications/VerificationErrorType.yaml Adds 10 new error type enum values (document quality, fraud, and applicant-level errors) and updates the description; description has minor clarity issues around SUSPECTED_FRAUD_DOCUMENT categorization and APPLICANT_REJECTED coverage
openapi/components/schemas/verifications/VerificationStatus.yaml Adds READY_FOR_VERIFICATION as a new verification status; change is clean and consistent
openapi/components/schemas/webhooks/WebhookType.yaml Adds VERIFICATION.READY_FOR_VERIFICATION webhook type, consistent with the new VerificationStatus enum value and the existing VERIFICATION.* pattern
openapi.yaml Generated bundle correctly reflecting all source changes; matches openapi/ source files as expected
mintlify/openapi.yaml Generated Mintlify bundle correctly reflecting all source changes; matches openapi.yaml bundle

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A([Start]) --> RFV[READY_FOR_VERIFICATION\n🆕 new]
    RFV --> IP[IN_PROGRESS]
    IP --> PMR[PENDING_MANUAL_REVIEW]
    IP --> RE[RESOLVE_ERRORS]
    IP --> APR[APPROVED]
    IP --> REJ[REJECTED]
    PMR --> APR
    PMR --> REJ
    PMR --> RE
    RE --> IP
    APR --> Z([End ✅])
    REJ --> Z2([End ❌])

    style RFV fill:#d4edda,stroke:#28a745,color:#000
    style APR fill:#cce5ff,stroke:#004085,color:#000
    style REJ fill:#f8d7da,stroke:#721c24,color:#000
Loading
Prompt To Fix All With AI
This is a comment left during a code review.
Path: openapi/components/schemas/verifications/VerificationErrorType.yaml
Line: 24-29

Comment:
**`SUSPECTED_FRAUD_DOCUMENT` mislabeled as a "quality" type**

The description groups `SUSPECTED_FRAUD_DOCUMENT` under "Document quality types," but fraud detection is fundamentally different from quality issues like poor resolution or unreadability. API consumers may be confused or implement incorrect handling if they treat fraud detection the same as quality problems. Consider splitting the description into distinct categories.

```suggestion
description: >-
  Type of verification error. The category-specific MISSING_*_DOCUMENT types
  indicate which document category is needed. Document quality types
  (POOR_QUALITY_DOCUMENT, WRONG_DOCUMENT_TYPE, INCOMPLETE_DOCUMENT,
  UNREADABLE_DOCUMENT, DOCUMENT_VERIFICATION_FAILED) indicate specific
  issues with uploaded documents. Fraud types (SUSPECTED_FRAUD_DOCUMENT)
  indicate suspected fraudulent documents. APPLICANT_* types indicate issues
  with the applicant themselves (sanctions, fraud, criminal records, general
  rejection).
```

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

---

This is a comment left during a code review.
Path: openapi/components/schemas/verifications/VerificationErrorType.yaml
Line: 24-29

Comment:
**`APPLICANT_REJECTED` undescribed in description**

The description's parenthetical for `APPLICANT_*` types lists "(sanctions, fraud, criminal records)" but omits `APPLICANT_REJECTED`. It's unclear from the description alone whether `APPLICANT_REJECTED` is a catch-all for when no more specific `APPLICANT_*` reason applies, or if it serves a distinct purpose. API consumers won't know when to expect this value vs the more specific types. Adding a brief note (e.g., "or general rejection") would remove the ambiguity.

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

Reviews (1): Last reviewed commit: "update VerificationErrorType and Verific..." | Re-trigger Greptile

Comment on lines 24 to +29
description: >-
Type of verification error. The category-specific MISSING_*_DOCUMENT
types indicate which document category is needed and determine the
accepted document types returned in acceptedDocumentTypes.
Type of verification error. The category-specific MISSING_*_DOCUMENT types
indicate which document category is needed. Document quality types
(POOR_QUALITY_DOCUMENT, SUSPECTED_FRAUD_DOCUMENT, etc.) indicate specific
issues with uploaded documents. APPLICANT_* types indicate issues with the
applicant themselves (sanctions, fraud, criminal records).
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 SUSPECTED_FRAUD_DOCUMENT mislabeled as a "quality" type

The description groups SUSPECTED_FRAUD_DOCUMENT under "Document quality types," but fraud detection is fundamentally different from quality issues like poor resolution or unreadability. API consumers may be confused or implement incorrect handling if they treat fraud detection the same as quality problems. Consider splitting the description into distinct categories.

Suggested change
description: >-
Type of verification error. The category-specific MISSING_*_DOCUMENT
types indicate which document category is needed and determine the
accepted document types returned in acceptedDocumentTypes.
Type of verification error. The category-specific MISSING_*_DOCUMENT types
indicate which document category is needed. Document quality types
(POOR_QUALITY_DOCUMENT, SUSPECTED_FRAUD_DOCUMENT, etc.) indicate specific
issues with uploaded documents. APPLICANT_* types indicate issues with the
applicant themselves (sanctions, fraud, criminal records).
description: >-
Type of verification error. The category-specific MISSING_*_DOCUMENT types
indicate which document category is needed. Document quality types
(POOR_QUALITY_DOCUMENT, WRONG_DOCUMENT_TYPE, INCOMPLETE_DOCUMENT,
UNREADABLE_DOCUMENT, DOCUMENT_VERIFICATION_FAILED) indicate specific
issues with uploaded documents. Fraud types (SUSPECTED_FRAUD_DOCUMENT)
indicate suspected fraudulent documents. APPLICANT_* types indicate issues
with the applicant themselves (sanctions, fraud, criminal records, general
rejection).
Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/verifications/VerificationErrorType.yaml
Line: 24-29

Comment:
**`SUSPECTED_FRAUD_DOCUMENT` mislabeled as a "quality" type**

The description groups `SUSPECTED_FRAUD_DOCUMENT` under "Document quality types," but fraud detection is fundamentally different from quality issues like poor resolution or unreadability. API consumers may be confused or implement incorrect handling if they treat fraud detection the same as quality problems. Consider splitting the description into distinct categories.

```suggestion
description: >-
  Type of verification error. The category-specific MISSING_*_DOCUMENT types
  indicate which document category is needed. Document quality types
  (POOR_QUALITY_DOCUMENT, WRONG_DOCUMENT_TYPE, INCOMPLETE_DOCUMENT,
  UNREADABLE_DOCUMENT, DOCUMENT_VERIFICATION_FAILED) indicate specific
  issues with uploaded documents. Fraud types (SUSPECTED_FRAUD_DOCUMENT)
  indicate suspected fraudulent documents. APPLICANT_* types indicate issues
  with the applicant themselves (sanctions, fraud, criminal records, general
  rejection).
```

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

Comment on lines 24 to +29
description: >-
Type of verification error. The category-specific MISSING_*_DOCUMENT
types indicate which document category is needed and determine the
accepted document types returned in acceptedDocumentTypes.
Type of verification error. The category-specific MISSING_*_DOCUMENT types
indicate which document category is needed. Document quality types
(POOR_QUALITY_DOCUMENT, SUSPECTED_FRAUD_DOCUMENT, etc.) indicate specific
issues with uploaded documents. APPLICANT_* types indicate issues with the
applicant themselves (sanctions, fraud, criminal records).
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 APPLICANT_REJECTED undescribed in description

The description's parenthetical for APPLICANT_* types lists "(sanctions, fraud, criminal records)" but omits APPLICANT_REJECTED. It's unclear from the description alone whether APPLICANT_REJECTED is a catch-all for when no more specific APPLICANT_* reason applies, or if it serves a distinct purpose. API consumers won't know when to expect this value vs the more specific types. Adding a brief note (e.g., "or general rejection") would remove the ambiguity.

Prompt To Fix With AI
This is a comment left during a code review.
Path: openapi/components/schemas/verifications/VerificationErrorType.yaml
Line: 24-29

Comment:
**`APPLICANT_REJECTED` undescribed in description**

The description's parenthetical for `APPLICANT_*` types lists "(sanctions, fraud, criminal records)" but omits `APPLICANT_REJECTED`. It's unclear from the description alone whether `APPLICANT_REJECTED` is a catch-all for when no more specific `APPLICANT_*` reason applies, or if it serves a distinct purpose. API consumers won't know when to expect this value vs the more specific types. Adding a brief note (e.g., "or general rejection") would remove the ambiguity.

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

@wuvictor-95 wuvictor-95 merged commit 6d7ed05 into main Mar 31, 2026
9 checks passed
Copy link
Copy Markdown
Contributor Author

Merge activity

@wuvictor-95 wuvictor-95 deleted the 03-31-update_verificationerrortype_and_verificationstatus branch March 31, 2026 23:53
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