Agent skills for the Sumsub API — works with any coding agent that supports the Agent Skills format (Claude Code, Codex, Cursor and others).
npx skills add sumsub/agent-skills --all -yThis fetches the repo and installs each skill into your agent's skills directory (for Claude Code, typically ~/.claude/skills/ for global install or .claude/skills/ for project-local install).
Clone or download the repo, then copy any directory under skills/ into your agent's skills directory (Claude Code shown):
git clone https://github.com/sumsub/agent-skills.git
cp -r skills/sumsub-create-questionnaire ~/.claude/skills/| Skill | What it does |
|---|---|
sumsub-analyze-regulation |
Analyze a regulation document (PDF or text) and produce a Sumsub configuration plan — mapping regulatory requirements to levels, questionnaires, PoA presets, TM rules, and workflows. Entry point before invoking the create-* skills. |
sumsub-conformance |
Check whether the deployed Sumsub config actually satisfies a regulation/policy document — resolves the live config graph (level, questionnaires, presets, workflow, entitlements) and traces each requirement to where it is collected, scored, and enforced, flagging collected-but-not-enforced gaps. Advisory, sandbox only. |
sumsub-api-auth |
Authenticate to api.sumsub.com with an App Token + secret (HMAC-SHA256 signing). Sandbox tokens only — never share production credentials with the agent. |
sumsub-create-questionnaire |
Create or update a Sumsub QuestionnaireDefinition. Compact spec → full localized payload → POST /resources/api/agent/questionnaires (create; 409 if id exists) or PATCH (update; 404 if id missing). Read via GET /resources/api/agent/questionnaires/{id}. |
sumsub-create-poa-preset |
Create or update a Sumsub PoaStepSettings (Proof-of-Address preset). POST /resources/api/agent/poaStepSettings to create, PATCH to update by id, GET /{id} to read. Returned id attaches to a level's PROOF_OF_RESIDENCE doc-set. |
sumsub-create-level |
Create or update a Sumsub ApplicantLevel. POST /resources/applicants/-/levels to create, PATCH to update by id, GET /{id} to read. Can wire in an existing questionnaireDefId. |
sumsub-create-cross-check-preset |
Create or update a Sumsub cross-check preset (POI↔POA name/address comparison rules). Use only when the user explicitly asks to override defaults — Sumsub's default preset is tuned for best approval rate. |
sumsub-supported-id-documents |
Read the built-in supported identity-document catalogue (GET /resources/api/agent/supportedDocs/documentsByCountries, locally filtered) and edit the client's per-country overrides via read-modify-write against PUT /resources/api/agent/globalSettings/idDocSettings/countryMappings. |
sumsub-manage-webhooks |
Manage Sumsub clientWebhooks event subscriptions — list, GET /{id}, create, and update (PATCH). Sandbox only; production webhook setup stays in the dashboard. |
sumsub-manage-applicant-tags |
Add, replace, or remove tags on an applicant profile — POST /resources/applicants/{applicantId}/tags/add (additive), POST .../tags (overwrite), DELETE .../tags (remove), read-back via GET .../one. |
sumsub-create-workflow |
Build & POST a Sumsub ApplicantWorkflow via the public API. Compact node/edge spec with parsed when: expressions → full payload → POST /resources/api/agent/applicantWorkflows, then PUT /{id}/revisionStatus to publish. Defaults to draft. |
sumsub-create-transaction |
Submit a KytTxnData to Sumsub Transaction Monitoring. Auto-routes between existing-applicant (/{applicantId}/kyt/txns/-/data) and non-existing-applicant (/-/kyt/txns/-/data?levelName=…) endpoints. |
sumsub-create-kyt-rules |
Create or modify KYT transaction monitoring scoring rules via POST /resources/api/agent/tm/rules — translates described conditions (amount thresholds, country lists, aggregations, scheduled applicant checks) into KytTxnRule payloads. Rules start in test mode (dry run) and are activated in the dashboard. |
sumsub-integrate-websdk |
End-to-end Sumsub WebSDK integration recipe — level setup → server-signed access-token endpoint → snsWebSdk init (vanilla + React) → client lifecycle events → webhook signature verification (incl. ngrok-based local testing) → go-live checklist. |
sumsub-integrate-dint-websdk |
Add Device Intelligence (Fisherman) to an existing Sumsub WebSDK integration — enable Capture devices on the level, automatic in-SDK Fisherman lifecycle, advanced self-rendered wiring, reading device signals (Devices tab, Device Check, risk labels, webhooks), sandbox testing, go-live checklist. |
sumsub-integrate-dint-standalone |
Add Device Intelligence (Fisherman) to pages without the WebSDK widget — login, signup, checkout, 2FA. Behavior access token → @sumsub/fisherman init + fingerprint → confirm via platform event / financial transaction / create-applicant → read results. |
sumsub-integrate-msdk |
Add Sumsub identity verification (KYC) to your native iOS or Android app. Detects the platform, then walks you from installing the Mobile SDK (iOS: Swift Package Manager or CocoaPods; Android: Gradle + the Sumsub Maven repo) through permissions to a ready-to-run integration file — token refresh, lifecycle callbacks, and the launch point (iOS: UIKit or SwiftUI; Android: Activity, Fragment, or Compose) included, with your approval at each step. Native iOS & Android only. |
sumsub-theme-msdk |
Scan a mobile app's design system (colors, fonts, corner radii, light/dark) → derive a full palette → generate a theme that makes the Mobile SDK match, wired at the launch site (iOS: SumsubTheme: SNSTheme subclass; Android: sumsubTheme(context) via the SNSTheme DSL). |
sumsub-integrate-id-connect |
End-to-end Sumsub ID Connect (OIDC "Verify with Sumsub ID") integration recipe — preconditions checklist → preflight → frontend button (@sumsub/id-connect or raw OIDC) → backend code → access_token exchange → share-token mint → partner-consent shareLink flow → applicant materialisation via /resources/api/reusableIdentity/reuse. |
sumsub-api-generic |
Fallback catch-all for anything Sumsub-API-related not covered above. Searches the bundled OpenAPI schema, inspects the operation, signs with App Token, and calls it. |
sumsub-check-permissions |
Fetch the current tenant's allowed entitlements (BackgroundCheckTarget list) — returns allowed (permission keys) and descriptions (key → label). Called by the create-* skills to gate entitlement-required features before building a payload. |
sumsub-check-skills-version |
Check whether the installed skills are up to date — fetches the canonical version from https://api.sumsub.com/llms.txt, compares it to the locally installed version, and recommends npx skills add sumsub/agent-skills --all when behind. |
.
├── package.json ← npm metadata + claude.skills pointer
├── skills.json ← skill manifest (name, path, description)
└── skills/
└── <skill-name>/
├── SKILL.md ← frontmatter + procedure (required)
├── scripts/ ← deterministic shell/python helpers
├── references/ ← long docs loaded on-demand
└── examples/ ← input fixtures
Each skill is self-contained — SKILL.md is the entry point.
Requirements:
bash,curl,openssl, andpython3(stdlib only) onPATH.
All skills authenticate to https://api.sumsub.com with an App Token + secret key.
Step 1. Generate an agent scoped sandbox token pair: Sumsub dashboard → switch to Connect Sumsub to your AI agent → Build & configure → Generate token. The token and secret are shown once — copy both before closing.
Step 2. Provide the credentials as environment variables to your agent. In Claude Code, create .claude/settings.local.json in your project root (gitignored, loaded automatically):
{
"env": {
"SUMSUB_APP_TOKEN": "sbx:...",
"SUMSUB_SECRET_KEY": "..."
}
}sbx:.
See sumsub-api-auth for the signing mechanics and troubleshooting 401 errors.
MIT