Skip to content

Document SCREENING_UNAVAILABLE on the 500 error - #1035

Draft
ls-bolt[bot] wants to merge 1 commit into
mainfrom
09-18-screening-unavailable-500
Draft

ls-bolt[bot] wants to merge 1 commit into
mainfrom
09-18-screening-unavailable-500

Conversation

@ls-bolt

@ls-bolt ls-bolt Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds SCREENING_UNAVAILABLE to the Error500 code enum.

When sanction screening cannot reach a verdict — the screening provider is
unreachable or fails to answer — the request is refused without any finding
having been made about the caller. That is a failure on the API side, so it now
answers 500 SCREENING_UNAVAILABLE and is safe to retry.

A genuine sanctions block is unchanged: it still answers 403 SANCTION_BLOCKED,
which correctly tells the caller that retrying will not help.

Every endpoint affected already declares a 500 response carrying Error500,
so this adds a code to an existing enum rather than a new response shape.

Requested by @AaryamanBhute

@vercel

vercel Bot commented Sep 18, 2026

Copy link
Copy Markdown

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

3 Skipped Deployments
Project Deployment Actions Updated
grid-cards-demo Ignored Ignored Preview Sep 18, 2026 7:41pm UTC
grid-flow-builder Ignored Ignored Preview Sep 18, 2026 7:41pm UTC
grid-wallet-demo Ignored Ignored Preview Sep 18, 2026 7:41pm UTC

Request Review

@ls-bolt ls-bolt Bot added the bolt label Sep 18, 2026

Copy link
Copy Markdown

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

@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

✱ Stainless preview builds for grid

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

cli

chore(internal): regenerate SDK with no functional changes

go

chore(internal): regenerate SDK with no functional changes

kotlin

chore(internal): regenerate SDK with no functional changes

openapi

feat(api): add SCREENING_UNAVAILABLE to error code enum

php

chore(internal): regenerate SDK with no functional changes

python

chore(internal): regenerate SDK with no functional changes

ruby

chore(internal): regenerate SDK with no functional changes

typescript

chore(internal): regenerate SDK with no functional changes

Edit this comment to update them. They will appear in their respective SDK's changelogs.

grid-typescript studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

grid-openapi studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗

grid-kotlin studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️ (prev: build ✅) → lint ⏭️ (prev: lint ✅) → test ⏭️ (prev: test ❗)

grid-ruby studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

grid-go studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

go get github.com/stainless-sdks/grid-go@49a390aa47a516862e07471b193f388ca061ba7f
grid-python studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗build ⏭️lint ⏭️test ⏭️

grid-php studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
generate ❗lint ⏭️test ⏭️

grid-cli studio · code · diff

Your SDK build had at least one "error" diagnostic, but this did not represent a regression.
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-09-18 19:45:04 UTC

A request halted because sanction screening could not reach a verdict is a
failure on our side, not a finding about the caller, and is safe to retry.
It answers 500 rather than the 403 SANCTION_BLOCKED a genuine block still
carries.
@ls-bolt
ls-bolt Bot force-pushed the 09-18-screening-unavailable-500 branch from faee4df to 292f707 Compare September 18, 2026 19:41
@mintlify

mintlify Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
Grid 🟢 Ready View Preview Sep 18, 2026, 7:43 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants