Skip to main content
Glama

Initialize sub-account KYC

create_sub_account_kyc_session
Destructive

Start a Vobiz-hosted KYC session for a sub-account via email link or redirect widget, then track verification progress.

Instructions

Start a Vobiz-hosted KYC session for a sub-account. flow_type email (default) has Vobiz email the customer a secure verification link (customer_email required); flow_type redirect returns a widget_url to send the customer to (redirect_url required). Optional webhook_url receives KYC events. Returns the session record (widget_url for the redirect flow) and a next_step hint; track progress with get_sub_account_kyc_status. Gated by VOBIZ_ENABLE_PROVISIONING and confirm: true; needs main-account (MA_) credentials.

Input Schema

NameRequiredDescriptionDefault
confirmYesMust be true, set only after the user explicitly approved: starting KYC for this sub-account (the email flow emails the customer).
flow_typeNoemail (default): Vobiz emails the customer a verification link. redirect: you send the customer to the returned widget_url yourself.
sub_auth_idYesThe sub-account's Auth ID (SA_...), from list_sub_accounts.
webhook_urlNoPublic https endpoint that receives KYC events. Omit for no callbacks.
redirect_urlNoRequired for flow_type redirect: where the customer's browser goes after verification (public https).
customer_emailNoRequired for flow_type email: Vobiz sends the KYC link here.
expires_in_daysNoDays until the link expires (Vobiz default 7).

Output Schema

NameRequiredDescriptionDefault
okNotrue on success; false (with error and message) when the tool failed.
createdNotrue once the KYC session exists.
sessionNoThe KYC session as Vobiz returns it (session id, flow_type, expiry, and widget_url for the redirect flow); secrets removed.
next_stepNoWhat to do now: wait for the customer's email, or send them to widget_url.
http_statusNoHTTP status Vobiz answered with.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.4.2
    • changedInput schema / properties / flow_type / description
      Previous value: -"Default email."New value: +"email (default): Vobiz emails the customer a verification link. redirect: you send the customer to the returned widget_url yourself."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "created": {
      +      "description": "true once the KYC session exists.",
      +      "type": "boolean"
      +    },
      +    "http_status": {
      +      "description": "HTTP status Vobiz answered with.",
      +      "type": "number"
      +    },
      +    "next_step": {
      +      "description": "What to do now: wait for the customer's email, or send them to widget_url.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "true on success; false (with error and message) when the tool failed.",
      +      "type": "boolean"
      +    },
      +    "session": {
      +      "additionalProperties": {},
      +      "description": "The KYC session as Vobiz returns it (session id, flow_type, expiry, and widget_url for the redirect flow); secrets removed.",
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv1.1.1

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=true, idempotentHint=false) and the description is consistent with them. Beyond that, the description adds real behavioral context: gating by the VOBIZ_ENABLE_PROVISIONING flag, the requirement for explicit user approval before confirm: true, main-account (MA_) credentials, webhook event delivery, and the returned next_step hint. It does not disclose rate limits or failure modes, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then the two flow modes, then prerequisites and gating. Dense semicolon-chained sentences pack in a lot of information efficiently, though the last sentence's stacking of gating, confirm, and credential requirements is slightly crowded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, side-effecting provisioning tool with an output schema already present, the description covers everything the caller needs: mode selection, per-mode required inputs, optional webhook, prerequisites (flag, confirm, MA_ credentials), and the follow-up tool for progress. Return values are correctly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description restates the flow_type default and the customer_email/redirect_url dependencies, which the schema already documents per-parameter; it adds little genuine meaning beyond reinforcing the flow-type coupling.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Start a Vobiz-hosted KYC session for a sub-account') and distinguishes itself from the sibling get_sub_account_kyc_status by naming that tool as the progress-tracking follow-up. An agent can tell it apart from create_sub_account and get_sub_account without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly explains the two operating modes and the conditions that select them (email default vs redirect requiring redirect_url), plus the follow-up call for tracking status. It stops short of explicit exclusions ('do not use if KYC already verified'), so it is strong context rather than full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools