canonical: https://jentic.com/apis/nexmo.com/subaccounts-api

# Nexmo Subaccounts API

Jentic publishes the only available OpenAPI specification for Subaccounts API, keeping it validated and agent-ready. The Vonage Subaccounts API lets a primary Vonage account create and manage child subaccounts with isolated configuration, reporting, and billing. The 9 endpoints cover subaccount CRUD, balance and credit transfers between primary and subaccount, and number transfers so a virtual number can be reassigned from one subaccount to another. The API is currently released with restricted availability - primary accounts must be enabled by Vonage before the endpoints will respond.

## For AI agents

Create child subaccounts under a primary Vonage account, list and update their settings, and move balance, credit, or virtual numbers between accounts.

## Scope

Does not send messages, place calls, or run identity verification - use for primary-account subaccount lifecycle, balance and credit transfers, and number reassignment only.

## Capabilities

- Provision a new subaccount under a primary Vonage account with a chosen name and use_primary_account_balance flag
- List all subaccounts on the primary account and fetch a single subaccount by its API key
- Suspend, reactivate, or rename an existing subaccount via PATCH on the subaccount resource
- Transfer prepaid balance between the primary account and any of its subaccounts for budget control
- Move postpaid credit limits between primary and subaccount through dedicated credit-transfer endpoints
- Reassign a Vonage virtual number from one subaccount to another with a single transfer-number call
- List historical balance and credit transfers for audit and reconciliation against billing exports

## Use cases

### Multi-Tenant Reseller Provisioning

Resellers and platforms that resell Vonage capacity create one subaccount per end-customer so usage and billing remain isolated. POST /{api_key}/subaccounts provisions the new account, GET /{api_key}/subaccounts lists existing tenants, and PATCH supports renaming or suspending. Each subaccount has its own API key, allowing per-tenant credential rotation without touching the primary account.

Example prompt: POST /{api_key}/subaccounts with name='ClientCorp' and use_primary_account_balance=false to provision a budget-isolated subaccount, then capture the returned api_key for the new tenant

### Budget Top-Up and Cost Control

Move prepaid balance or postpaid credit between the primary account and individual subaccounts to enforce budgets without waiting for end-of-month reconciliation. POST /{api_key}/balance-transfers shifts prepaid funds, POST /{api_key}/credit-transfers shifts credit limits, and the matching GET endpoints provide a transfer history for audit. Pair with the Subaccounts PATCH endpoint to suspend a tenant whose budget has been exhausted.

Example prompt: POST /{api_key}/balance-transfers with amount=100, currency=EUR, from=primary, and to=<subaccount_api_key> to move funds, then GET /{api_key}/balance-transfers to confirm the entry was logged

### Number Portfolio Reassignment

Move a purchased Vonage virtual number from one subaccount to another when a customer churns, renames, or merges. POST /{api_key}/transfer-number takes the number and target subaccount and reassigns it without releasing and repurchasing. The previous subaccount immediately stops billing for the number and the new one takes over inbound configuration.

Example prompt: POST /{api_key}/transfer-number with number=+447700900100, country=GB, and to=<target_subaccount_api_key> to reassign the number to the new tenant

### AI Agent Tenant Operations

Through Jentic, an AI agent provisions subaccounts and rebalances funds without holding the primary Vonage credentials. The agent searches Jentic with the intent 'create a Vonage subaccount', loads the POST /{api_key}/subaccounts schema, and executes with structured arguments. Balance transfers and number transfers can be chained as additional Jentic calls, with primary-account Basic auth resolved from your Jentic One instance.

Example prompt: Use Jentic search query 'create a Vonage subaccount' to load POST /{api_key}/subaccounts, execute with name and use_primary_account_balance, then chain a balance-transfer call to seed the new tenant

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /{api_key}/subaccounts | List all subaccounts under the primary account |
| POST | /{api_key}/subaccounts | Create a new subaccount |
| GET | /{api_key}/subaccounts/{subaccount_key} | Retrieve a single subaccount |
| PATCH | /{api_key}/subaccounts/{subaccount_key} | Modify a subaccount's name or status |
| POST | /{api_key}/balance-transfers | Transfer prepaid balance between accounts |
| POST | /{api_key}/credit-transfers | Transfer credit limit between accounts |
| POST | /{api_key}/transfer-number | Reassign a virtual number to another subaccount |

## Key resources

- **Subaccounts** — Create, list, retrieve, and modify child subaccounts of a primary Vonage account
- **Balance Transfers** — Move prepaid balance between primary and subaccounts and list transfer history
- **Credit Transfers** — Move postpaid credit limits between primary and subaccounts
- **Number Transfers** — Reassign a purchased Vonage virtual number from one subaccount to another

## Why Jentic

- **Setup:** Wiring the Vonage Subaccounts API by hand means encoding your primary account key and secret as HTTP Basic and building account, balance-transfer, credit-transfer, and number-reassignment calls against api.nexmo.com/accounts yourself. Through Jentic you install once, import the Subaccounts API from the API Directory, store the key and secret once, and your agent calls it.
- **Permission scoping:** The Subaccounts API puts the subaccount key in the URL path (/{api_key}/subaccounts/{subaccount_key}), so a rule can pin your agent to reading and updating one subaccount. You choose the operations it may call, so balance and credit transfers or number reassignment are not included unless you add them.
- **Credential handling:** Your primary account's Vonage key and secret are stored once, encrypted, by your own Jentic One instance and assembled into the Basic auth header at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Vonage subaccount' or 'transfer Vonage balance' and Jentic returns the matching operation with its input schema so the agent populates the request without browsing the reference docs.

## Related APIs

- **Vonage Account API** — Manages the primary Vonage account's balance, secrets, and top-up settings.
- **Vonage Numbers API** — Buys, lists, and configures the virtual numbers that Subaccounts then reassigns.
- **Twilio REST API** — Twilio's Subaccounts resource provides equivalent multi-tenant isolation.

## FAQ

### Why is there no official OpenAPI spec for Subaccounts API?

Vonage does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Subaccounts API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Vonage Subaccounts API use?

Subaccounts uses HTTP Basic auth with the primary account's API key and secret. Subaccount-specific operations are still called from the primary credentials and reference the subaccount via the subaccount_key path parameter. Jentic stores the Basic auth pair in your Jentic One instance and injects it at execution time.

### How do I create a subaccount through the Vonage API?

Call POST /{api_key}/subaccounts with the primary account's api_key in the path and a JSON body containing name and use_primary_account_balance. The response includes the new subaccount's api_key and api_secret, which become the credentials for that tenant's traffic.

### Can I move a virtual number from one Vonage subaccount to another?

Yes. POST /{api_key}/transfer-number with the number, country, and target subaccount key reassigns the number in place without releasing it. Inbound configuration follows the new subaccount immediately and billing on the old subaccount stops.

### Is the Vonage Subaccounts API generally available?

Vonage notes that the Subaccounts API is released with restricted availability - primary accounts have to be enabled for subaccounts before the 9 endpoints will respond with anything other than an authorization error. Contact Vonage account management to opt in before integrating.

### How do I provision a Vonage subaccount through Jentic?

Run pip install jentic, then use the Jentic search query 'create a Vonage subaccount' to load POST /{api_key}/subaccounts. Execute with a name and use_primary_account_balance flag, then chain POST /{api_key}/balance-transfers to seed the new tenant. Run it through Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the Vonage Subaccounts API?

Yes. Because you run Jentic One yourself, your own rules decide which Subaccounts operations and credentials the agent may use. Since the subaccount key sits in the URL path (/{api_key}/subaccounts/{subaccount_key}), you can pin the agent to reading and updating a single subaccount. You choose the operations it can call, so balance transfers, credit transfers, and number reassignment stay unavailable to the agent unless you explicitly grant them.
