DocsConcepts

Limits

Three kinds of limit keep an agent in check. Spending limits cap what keys spend, usage limits cap how much an account does, and rate limits cap how fast.

On this page
  1. Spending limits
  2. Usage limits
  3. Rate limits
  4. 402 and 429

Spending limits

Limit Unless changed Starts again When it is reached
A key's daily budget $20 At midnight UTC daily_budget_reached, status 429
A team's budget No budget With its period team_budget_reached, status 429
The account's monthly ceiling $100 On the 1st, UTC monthly_ceiling_reached, status 429
The balance $1 at signup When someone adds credit insufficient_balance, status 402

Before a call runs, the most it can cost is held against each of them, and the unused part comes back when it ends. A refused call costs nothing. Teams and budgets covers team budgets.

The daily budget

Each key has a daily budget, $20 unless set. Keys made from a key form a line, and the whole line shares the daily budget of its first key, so making more keys adds no room. A connector a person signs in to through an emailed link or single sign-on gets a daily budget of its own.

Changing them

GET /v1/limits shows the calling key's daily budget and the account's monthly ceiling. PATCH /v1/limits lowers either one, at any time.

curl

curl -X PATCH https://api.conecto.chat/v1/limits \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"daily_budget_usd": 10}'

Python

import os
import requests

reply = requests.patch(
    "https://api.conecto.chat/v1/limits",
    headers={"Authorization": f"Bearer {os.environ['CONECTO_KEY']}"},
    json={
        "daily_budget_usd": 10,
    },
)
print(reply.status_code, reply.json())

JavaScript

const reply = await fetch("https://api.conecto.chat/v1/limits", {
  method: "PATCH",
  headers: {
    Authorization: `Bearer ${process.env.CONECTO_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    daily_budget_usd: 10,
  }),
});
console.log(reply.status, await reply.json());
  • On an account with an owner email, raising a limit is the owner's. The call answers owner_required, and the owner raises it on the account page.
  • On an account with no owner email, the bot raises its own.
  • A scoped key changes neither, and answers key_scope.
  • A limit goes up to $1000000.00.

Usage limits

Every account has the same usage limits, and no plan raises them.

Limit Name Standard Where it applies
Actions a minute for the whole business calls_per_minute 1,200 actions a minute Everything your AI apps do through Conecto.
Actions a minute for each AI app key_calls_per_minute 600 actions a minute Everything one AI app does through Conecto.
Downloads of one file from one network an hour downloads_per_hour 30 downloads an hour Download links.
New email addresses a day new_email_recipients_per_day 20 new addresses a day Emails to addresses the business never wrote with before.
Quotes and invoices emailed a day documents_emailed_per_day 200 documents a day Sending quotes and invoices, and their reminders.
Purchase orders emailed a day orders_emailed_per_day 200 orders a day Sending purchase orders.
Phone numbers rented at once phone_numbers 5 numbers Renting phone numbers.
Meeting confirmation calls a day confirmation_calls_per_day 50 calls a day The calls that confirm booked meetings.
Connected outside systems connections 50 connections Connecting outside systems.
Blocks of 10 GB file storage rented at once storage_blocks 20 blocks Renting more file storage.
Prospects found a month prospects_per_month 1,000 prospects a month Prospect searches.
Mailboxes connected for outreach outreach_mailboxes 10 mailboxes Connecting the business's own mailboxes for outreach campaigns.

account_get_limits lists each one with its standard and current value, the most that can be asked for, and the business's requests with their answers.

Asking for more

When the business truly needs more, account_request_limit asks Conecto, with the limit, the number it needs and why, in 40 to 2,000 characters. A person at Conecto reviews it and approves, maybe with less, or declines. The answer reaches the bot as the event account.limit_request_answered and the owner by email. When anyone but the owner asks, the owner hears at once and can withdraw the request on the account page. People ask on the account page too, under Billing.

  • Only an account that has topped up asks.
  • One request per limit waits at a time, and an account asks at most 5 times in 30 days.
  • After a decline, the same limit can be asked for again after 14 days.
  • The number is above the account's limit and at most 100 times the standard one.
  • The owner, an admin or a key of the company-wide team with no areas, tool list or read-only limit asks.

Rate limits

Each key makes at most 600 calls a minute, and the whole account 1,200. Past either, a call answers rate_limited with status 429: wait a few seconds and call again. Each message of an MCP batch counts as a call. Both are usage limits, so a business that needs more asks for them the same way.

A network signs up at most 20 accounts an hour, and free credit goes to one new account per network a day.

402 and 429

  • 402 means the balance is short. Top up, and the refusal's details hold the amount and the first top-up's offer.
  • 429 means a limit was reached. The error names which one, and the message says when it starts again or who raises it.

Updated . Every route, field and number here is read from the API's own code.