Save a secret
Keeps a secret (an API key, a password, a login) encrypted under a name; saving under a name in use replaces it.
$0.001 a call
From your agent’s balance. A call that fails costs nothing.
An example
Keep our login for the Cascade Bike Supply dealer portal. The user is orders@halversoncycle.example, and the password is in my next message.
Your agent callsvault_save$0.001 a call
The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.
{
"name": "Cascade dealer portal",
"value": "birch-anchor-saddle-1871",
"username": "orders@halversoncycle.example",
"url": "https://dealers.cascadebikesupply.example",
"note": "Parts orders. Sam Reyes knows the account."
}Use it when
The agent will need a secret later: a supplier portal's login, a shipping service's API key.
- For a new random password, use
vault_generate_password.
What it does
Keep a secret (an API key, a password, a login) encrypted in the account's vault under a name, to read back later with vault_get. Saving under an existing name replaces it. username, url and note are not secret and show in vault_list. With bots, only those of the account's bots may read it.
What comes back
saved: the name; replaced: whether it replaced a secret; secret: its name, username, url, note, the bots that may read it, and when it was saved and read. Never the value. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
nameRequired | string | e.g. "Shopify admin" or "SUPPLIER_API_KEY". Matches ^[A-Za-z0-9][A-Za-z0-9 ._-]{0,79}$. |
valueRequired | string | 1 to 10,000 characters. |
username | string | Up to 200 characters. |
url | string | Up to 500 characters. |
note | string | Up to 500 characters. |
bots | array of string or integer | Bot names (or key ids) allowed to read it; all of the account's bots if left out. Up to 20 items. |
The call
Over MCP, call vault_save on https://api.conecto.chat/mcp/vault. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/vault_save \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Cascade dealer portal","value":"birch-anchor-saddle-1871","username":"orders@halversoncycle.example","url":"https://dealers.cascadebikesupply.example","note":"Parts orders. Sam Reyes knows the account."}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_found404 | A bot named in bots is not one of the business's. | Use bot names from GET /v1/keys. |
forbidden403 | The secret is limited to other bots of the business. | Ask the owner, or the bot that saved it, to add this bot. |
name_taken409 | Another call saved a secret with that name at the same moment. | Call again. |
limit_reached409 | The vault holds 500 secrets already. | Delete some with vault_delete. |
unavailable503 | The vault is not available right now. | Try again later; nothing was charged. |
More Vault tools
All 5 tools- Read a secret
vault_getA secret's value, for this call only; it is never kept in the call log, and each read is counted.Free* - List secrets
vault_listThe vault's secrets with their username, url, note, who may read them and when they were last read; never the values.Free* - Make a strong password
vault_generate_passwordMakes a random password and saves it straight into the vault under a name; it is shown for this call only.$0.001 a call - Delete a secret
vault_deleteRemoves a secret from the vault, for good.Free
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md