Skip to main content
Glama

Create sub-account

create_sub_account
Destructive

Create a new sub-account under a main Vobiz account by providing a name. Use it to provision separate accounts for teams or customers, with optional KYC, permissions, and rate limits.

Instructions

Create a new Vobiz sub-account under this main account (only name is required); to change an existing one use update_sub_account. kyc_mode customer_use needs email, and such a sub-account places calls only after its own KYC (start it with create_sub_account_kyc_session). Returns the new sub_auth_id and the redacted record; the credentials are never returned here, the user copies them from the Vobiz console. Gated by VOBIZ_ENABLE_PROVISIONING and confirm: true; needs main-account (MA_) credentials.

Input Schema

NameRequiredDescriptionDefault
nameYesHuman-readable name for the sub-account.
emailNoContact email. Required for kyc_mode customer_use.
phoneNoContact phone number for the sub-account's owner: digits with an optional leading + and spaces, dashes or brackets, 6 to 20 characters. Not a caller ID.
confirmYesMust be true, set only after the user explicitly approved: creating this sub-account.
enabledNoWhether the sub-account can be used (default true).
kyc_modeNopersonal_use (default) uses the parent's KYC; customer_use means the sub-account completes its own KYC before placing calls (needs email).
rate_limitNoAPI rate limit for the sub-account (Vobiz default 1000).
descriptionNoFree-text note about the sub-account (what or whom it is for), up to 1000 characters.
permissionsNoAccess flags. Omitted on create: the sub-account inherits the parent's default access.
business_typeNoLegal constitution of the customer (individual, proprietorship, private_limited, llp, partnership, public_limited, trust, society, huf or government); decides which KYC documents are collected. Matters for kyc_mode customer_use.

Output Schema

NameRequiredDescriptionDefault
okNotrue on success; false (with error and message) when the tool failed.
createdNotrue once Vobiz created the sub-account.
http_statusNoHTTP status Vobiz answered with.
sub_accountNo
sub_auth_idNoAuth ID of the new sub-account (SA_...), for the other sub-account tools.
backend_messageNoMessage from Vobiz about the operation, or null.
credentials_noteNoReminder that credentials are never returned here and where the user finds them.
kyc_calls_blockedNotrue when the sub-account cannot place calls until its own KYC is verified.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.4.2
    • changedInput schema / properties / business_type / description
      Previous value: -"Legal constitution of the customer; decides which KYC documents are collected."New value: +"Legal constitution of the customer (individual, proprietorship, private_limited, llp, partnership, public_limited, trust, society, huf or government); decides which KYC documents are collected. Matters for kyc_mode customer_use."
    • addedInput schema / properties / description / description
      Added value: +"Free-text note about the sub-account (what or whom it is for), up to 1000 characters."
    • addedInput schema / properties / phone / description
      Added value: +"Contact phone number for the sub-account's owner: digits with an optional leading + and spaces, dashes or brackets, 6 to 20 characters. Not a caller ID."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "backend_message": {
      +      "description": "Message from Vobiz about the operation, or null.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "created": {
      +      "description": "true once Vobiz created the sub-account.",
      +      "type": "boolean"
      +    },
      +    "credentials_note": {
      +      "description": "Reminder that credentials are never returned here and where the user finds them.",
      +      "type": "string"
      +    },
      +    "http_status": {
      +      "description": "HTTP status Vobiz answered with.",
      +      "type": "number"
      +    },
      +    "kyc_calls_blocked": {
      +      "description": "true when the sub-account cannot place calls until its own KYC is verified.",
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "ok": {
      +      "description": "true on success; false (with error and message) when the tool failed.",
      +      "type": "boolean"
      +    },
      +    "sub_account": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": {},
      +          "description": "The sub-account as Vobiz returns it: name, auth_id, email, phone, enabled, kyc_mode, rate_limit, permissions and timestamps. Credentials are removed.",
      +          "propertyNames": {
      +            "type": "string"
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "sub_auth_id": {
      +      "description": "Auth ID of the new sub-account (SA_...), for the other sub-account tools.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv1.1.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare the write/destructive/open-world profile, but the description goes well beyond them: it discloses the VOBIZ_ENABLE_PROVISIONING feature gate, the confirm:true requirement, the main-account (MA_) credential requirement, that credentials are never returned here, and that KYC must be completed before calls flow. That is exactly the operational context annotations cannot carry.

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?

Purpose and the primary alternative are front-loaded, and each remaining clause (KYC flow, return contents, gating, credentials) earns its place. The middle sentences are dense and slightly run-on, but nothing is padding.

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 10-parameter creation tool with nested permissions and enums, the description covers the decision path, the prerequisites, the gating, and the KYC dependency. An output schema exists, so its brief return note is a bonus rather than a gap.

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 every parameter is already documented, including the email-required-for-customer_use condition. The description restates the same key constraint but adds no format, default, or syntax detail beyond the schema, so the baseline 3 applies.

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 ('Create a new Vobiz sub-account under this main account') and immediately bounds the scope with 'only name is required'. It also distinguishes itself from update_sub_account and create_sub_account_kyc_session, so an agent can route 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 Guidelines5/5

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

Explicitly says when to use a sibling instead ('to change an existing one use update_sub_account') and names create_sub_account_kyc_session as the follow-up path when kyc_mode is customer_use. The conditional 'customer_use needs email' is tied directly to a parameter value, leaving nothing to inference.

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