DocsReference

Errors

A refused call costs nothing, and its reply says what went wrong in words an agent can act on. This page lists every code by its HTTP status.

On this page
  1. The shape of a refusal
  2. 400 Bad request
  3. 401 Unauthorized
  4. 402 Payment required
  5. 403 Forbidden
  6. 404 Not found
  7. 405 Method not allowed
  8. 409 Conflict
  9. 410 Gone
  10. 413 Too large
  11. 422 Could not be done
  12. 429 Too many requests
  13. 500 Server error
  14. 502 Bad gateway
  15. 503 Unavailable
  16. 504 Timed out

The shape of a refusal

JSON
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "status": "failed",
  "error": "insufficient_balance",
  "message": "This call costs up to $0.10 and the balance is $0.04. Top up to continue; nothing was charged.",
  "cost_usd": "$0.00",
  "details": {
    "price_usd": "$0.10",
    "balance_usd": "$0.04",
    "top_up": "POST /v1/topups {\"amount_usd\": 20} returns a Stripe checkout link; pay it once and turn on auto-reload so the balance never runs dry.",
    "minimum_usd": 5,
    "fee": "7% + $0.35 per top-up, Stripe's fees passed on",
    "first_topup_offer": "Your first top-up is doubled, up to $20 extra."
  }
}
  • error is one of the codes below.
  • message says what went wrong and what to do, written for an agent to act on.
  • cost_usd is $0.00. A refused call costs nothing.
  • details, when there is something to add, holds what is needed to fix it, like the amount to top up.
  • call_id and status: "failed" come when the call itself was logged and failed. A refusal before any call, like a wrong key, has neither. An idempotency conflict names the earlier call's call_id.

Over MCP the same body comes back as the tool's result, with isError: true. A background call that fails shows its code in error when you poll it.

Each tool's page in the tools directory lists the codes that tool can give, with when it gives each one.

400 Bad request

Code What it means What to do
already_pdf The file is a PDF already. Use it as it is.
columns_needed The statement's date and amount columns could not be found. Name them with columns.
date_format_needed The statement's dates are in no known format, or could be read two ways. Pass date_format.
greeting_needs_ai_disclosure The phone greeting does not tell callers they reached an automated line or an AI. Say so in the greeting, like "This is our automated line".
invalid_brief The brief_token is not a ready brief prospects_prepare made for this business, or it is over a day old. Prepare it again with prospects_prepare and use the brief_token it returns.
invalid_cursor The next_cursor is not one this import returned. Pass back exactly the last next_cursor, or leave it out to start again.
invalid_input The arguments do not fit the tool: a field is missing, has the wrong type or is out of range, or a value is not one the tool takes. Fix what the message names. details.input_schema has the tool's full schema.
invalid_statement The bank statement could not be read: an amount, a date or the file format. Fix what the message names, like passing decimal: "," for comma decimals.
invalid_url The address is not a public https:// link. Send a public link.
login_failed The business's own email service refused the login. Check the SMTP login and password (often an SMTP key, not the account password) and connect it again.
low_contrast The two colours are too close for phones to read. Use a darker dark or a lighter light.
map_place The company id starts with op: a business a longlist found on the map (Overture's places), which has no register record to read. Find its register record with companies_search by name and country, then call again with that id.
no_working_days The leave has no working days for the person. Pick other dates.
not_a_host The host named is not one of the meeting type's round-robin hosts, or the type has none. Leave host out, or name one from the type's hosts in calendar_list_meeting_types.
not_a_quote The id is an invoice, not a quote. Use the invoice tools for it.
not_an_invoice The id is a quote or a credit note. Payments, reminders and credit notes are for invoices. Turn a quote into an invoice with invoices_convert_quote.
not_audio The file is not audio or video. Upload the recording first.
not_image The file is not an image that can be read. Upload it again as PNG or JPEG.
not_pdf The file is not a PDF. Make one with documents_convert_to_pdf first.
not_schedulable The tool cannot run on its own: it handles secrets, schedules things itself, buys from a quote that expires, or starts a monthly rental. Call that tool yourself when it is needed.
not_supported The social network connects in a way the tools do not offer. Pick another network from social_networks.
refused The posting service refused the request. The message gives its reason. Fix what the reason names, then call again.
stripe_key_refused The Stripe key cannot do what invoice payments need. Make a key with the permissions the message lists.
timezone_required The first setup needs a time zone. Pass timezone, like "Europe/Berlin".
too_long There is too much data for one QR code. Shorten it.
too_many_pages The PDF has more pages than a signature request takes. Send a shorter PDF.
unbalanced Debits and credits of the entry differ. Make the lines balance.
unsupported_type The file is not a kind the tool takes. Use a file of a kind the message lists.
video_too_long The video is longer than the social network lets the account post. Ask the owner for a shorter video. The message gives the limit.

401 Unauthorized

Code What it means What to do
key_expired The key has expired. Make a new key (POST /v1/keys) with a key that may, or ask the owner.
unauthorized The call has no key, or the key is wrong or revoked. Send "Authorization: Bearer <key>". No key yet? Sign up with POST /v1/signup.

402 Payment required

Code What it means What to do
insufficient_balance The balance cannot cover the most this call can cost, or the next reads or downloads once the month's free ones are used (a download link answers it to whoever opens it). Top up with POST /v1/topups (details has the amount and the first top-up bonus), then call again. A download link works again once the balance can pay.
payment_required The tool needs a paid account, and the balance is still free credit. Top up once with POST /v1/topups (from $5), then call again.
payment_required_for_outbound Free credit cannot email, call or send documents to people outside the business. Top up once with POST /v1/topups (from $5). After that it works.
purchased_credit_required AI visibility and the phone (calls, minutes and a number's rent) run only on credit bought with a top-up, never on free, beta or bonus credit, and the credit bought left cannot cover the most this call can cost. Top up with POST /v1/topups, then call again. account_balance shows how much of the balance was bought (bought_credit_usd) and how much is free and bonus credit, which every other tool spends first.

403 Forbidden

Code What it means What to do
account_paused The owner paused every bot of the account. Ask the owner to start the account again on their account page.
blocked_by_robots The site's robots.txt asks bots not to read the page. Find the facts elsewhere with web_search.
forbidden The secret is limited to other bots of the business. Ask the owner, or the bot that saved it, to let this bot read it.
key_scope The key's scope doesn't cover this: another area, a tool it isn't given or is denied, a change by a read-only key, or a setting only a key without limits changes. Use a key that may, or ask whoever made this key for a wider one.
network_not_allowed The key may only be used from the networks it was given. Call from one of those networks, or use another key.
no_approver Nobody but the person asking can approve this call, and nobody approves their own. Ask the owner to add an approver: a team with managers, an admin, or a rule naming someone else.
not_allowed The connected system's call is outside the calls it allows, its address is not a public https host, or the mailbox is not one the agent may act as. Call inside its allowed calls (connect_list shows them), use a listed mailbox, or ask the owner to widen them.
not_yours A key revokes itself and the keys made from it. The first key of a line revokes any key of its line. Revoke it with the key that made it, or ask the owner (their account page revokes any key).
other_team The record belongs to another team. Every team reads it. Its own team changes it. Ask that team (or a key of the company-wide team) to change it, or the owner to open the area to everyone.
owner_required Only the owner may raise a spending limit or give a new key more daily budget than the key making it. The account page's own tools, and asking Conecto for a higher limit, take the owner, an admin or a key of the company-wide team without limits. Ask the owner. account_owner_link makes them a sign-in link to their account page. Lowering works at any time.
scope_too_wide A new key can't be wider than the key making it: more areas or tools, other networks, or a later expiry. Ask for a key within this key's scope, or make it with a key that has more.
self_only A person's own assistant works in HR for that person only, since none of their teams works in HR. Ask about your own record, or ask HR.
sending_paused Email from the business is paused after bounces, complaints or emails refused as cold outreach. Tell the owner. Conecto reviews the pause before sending resumes.
sending_unavailable The business cannot send newsletters right now. The message says why. Tell the owner. Nothing was charged.
team_paused The key's team is paused, so its keys can't run tools. Ask the owner to start the team again on their account page.

404 Not found

Code What it means What to do
no_numbers The carrier has no numbers of that kind in that country right now. Nothing was charged. Try another type or area code.
not_found The thing named does not exist for this business: a record, a file, a call, a key or a page. Find it with the area's list or search tool and use the id it returns. The message names what is missing.
not_set_up The area is not set up for the business yet: calendar, chat, careers page or the like. Run the area's setup tool first. The message names it.
unknown_tool No tool has that name, or a background call's tool is gone. Use a name from GET /v1/tools.

405 Method not allowed

Code What it means What to do
method_not_allowed The address does not take that HTTP method. Use the method the message names: tools take POST, a call's status GET, a key DELETE.

409 Conflict

Code What it means What to do
address_taken The booking address is another calendar's, was ever another business's, or is kept for Conecto's own pages. Pick another address, e.g. with the town or the trade added.
ai_review_off Applicants are not told yet that AI reviews applications. Run hiring_setup_careers with ai_review true first.
alias_taken The short link alias is taken. Pick another alias, or leave it out for a random one.
already_accepted The customer accepted the quote already. Turn it into an invoice with invoices_convert_quote.
already_approved The leave request was approved already. To take it back, cancel it.
already_attached The file is on the person's record already. Nothing to do.
already_cancelled The purchase order or leave request is cancelled already. Make a new one.
already_closed The purchase order is closed already. Draft a new order.
already_converted The quote became an invoice already. Work with that invoice. The message gives its invoice_id.
already_credited An invoice line is credited in full already. Credit other lines, or an amount.
already_declined The quote, or the leave request, was declined already. Make a new quote, or ask again with hr_request_leave.
already_done The task is done already. Nothing to do.
already_hired The applicant is in HR already. Find their record with hr_list_people.
already_ignored The bank line was ignored. Unmatch it first.
already_matched The bank line, or the entry, is matched already. Unmatch it first.
already_paid The invoice is paid in full. Nothing is owed. Record a refund if money goes back.
already_ran The one-off run ran already. Set a new one with schedules_run_later.
already_read The scan was read with OCR already. Read its text free with files_read_text.
already_received Everything on the purchase order is received. Nothing is left to receive.
already_reversed The entry is reversed already. Book a new entry if needed.
already_sent Another call sent this a moment ago. Read it again. It was sent.
already_started The person has open tasks from that checklist already. Finish them, or list them with hr_tasks.
already_void The invoice or bill is void already. Nothing to do.
ambiguous The name or number fits more than one thing. Be more exact. The message says how.
amount_mismatch The entries, invoices or bills do not add up to the bank line. Give amounts that add up, or pick other records.
application_limit A candidate sent as many applications as the business takes from one person in its time window (hiring_setup_careers application_limit). The message says from which day they can apply again. The business can change or lift the limit.
approval_required A person must approve this exact call first: an approval rule holds the tool, the key or its team is set to drafts only, or it gives a supplier new bank details. The request went to the approvers, each on a link of their own, and two people approve when the amount is over the rule's second line. Nothing was charged. Wait for notify.answered (or check notify_get_approval), then call again with the same arguments and the approval: the X-Conecto-Approval header, or _meta.approvalId over MCP.
archived An account, tax, supplier, item, location or leave type named is archived. Use one that is active, or restore it first.
asset_disposed The asset was sold or written off. Bring it back with books_dispose_asset undo first.
before_start The date is before the books start. Use a date on or after the start date (books_get).
bill_paid The bill is paid, so its due date no longer matters. Leave the due date.
bill_void The bill is void. Record a new bill if needed.
bot_cannot_post The business's own Telegram bot may not post in the chat: not an admin of the channel with the right to post, or not a member of the group who may send messages. Ask the owner to add the bot with that right, then connect again.
bridge_unavailable The connection goes through a bridge that was revoked, or that no longer serves the system. The owner or an admin makes a new bridge on the account page (Settings, Bridges) and connects the system again.
call_active A call on the number is still going on. Release the number when the call has ended.
campaign_ended The outreach campaign was stopped or has finished. It can't change, start or resume. Save a new campaign with outreach_save_campaign.
campaign_running The outreach campaign is sending, so it can't change. Pause it with outreach_pause, change it, then resume it with outreach_resume.
carrier_refused The phone carrier would not sell that number (it may have been taken). Nothing was charged. Search again with phone_search_numbers.
channel_disabled The social channel is switched off in the posting service. Connect it again with social_connect.
chat_taken The Telegram channel is connected to another Conecto account. Its owner disconnects it there first.
closed The signature request is closed: completed, declined, cancelled or expired. Send a new request if needed.
code_taken Another account in the chart has that code. Pick another code.
conflict What is asked clashes with what is there: a record saved at the same moment, a merged ticket, a page of another kind. Read the record again and call again. The message says what clashed.
conversation_closed The visitor has a newer open conversation. Reply there. The message gives its id.
conversation_open The visitor already has an open conversation. Use that conversation.
currency_fixed The currency stays: entries or orders already use it. Keep the currency.
currency_mismatch Two things in different currencies were matched. Record the payment with invoices_record_payment or purchasing_pay_bill instead.
duplicate A bill with that reference from that supplier is recorded already. Use the bill the message names.
duplicate_key A key value comes twice, in the rows sent or in the table, so it can't pick out one row. Send each key once, and merge or delete the table's extra rows first.
email_taken Another person has that work email. Use another email, or update that person.
file_kept A bill keeps the PDF it was recorded with: a received invoice is kept as it came. If it is the wrong file, void the bill and record it again with the right one.
from_assets The entry was booked by the asset register: depreciation, or an asset sold or written off. Undo depreciation with books_depreciate undo_after, or a sale with books_dispose_asset undo.
from_bill The entry was posted from a supplier bill. Void the bill with purchasing_void_bill instead.
from_claim The entry paid expense claims back, or is an expense claim already paid back, so it stays. Record money a person returned as a negative expense with paid_by.
from_credit The entry booked a prepayment or its refund. Void the prepayment with invoices_use_credit or purchasing_use_credit (void: true) while none of it is used.
from_invoice The entry was posted from an invoice. Void the invoice with invoices_void, or record a refund.
has_balance The account still has a balance. Move it to another account with an entry first.
has_bills The purchase order has bills. Void them with purchasing_void_bill first.
has_credit_notes The invoice has credit notes, so it cannot be voided. Credit what is left of it with invoices_create_credit_note.
has_deliveries The purchase order has deliveries received, so it cannot be cancelled. Close it instead. What came in stays.
has_depreciation The asset's depreciation is booked, so its cost, dates, method and accounts stay and it can't be deleted. Undo its depreciation with books_depreciate undo_after and asset first.
has_left The person left the business. Nothing can be planned for them after their end date.
has_payments Payments are recorded on the invoice or bill. Record a refund (a negative payment) first.
has_receipt The entry has a receipt already. Attach the file to another entry, or keep it.
has_role The account holds a role the books use. Give the role to another account first.
has_stock The item or location still holds stock. Move, ship or count it to 0 first.
idempotency_key_reused The Idempotency-Key was used before for a different tool or different arguments. Send a new Idempotency-Key for a new call. Reuse one only to retry the exact same call.
in_progress The same work is running right now: a call with this Idempotency-Key, an import, the reading of a scan, or an export of the account. Wait for it (account_get_call shows it), then use its result.
in_use The thing is used elsewhere and stays while it is: a file on a record, a tax on an account, a test candidates started. The PDF of a sent invoice, credit note, quote or purchase order always stays. Take it off there first, as the message says.
inactive The meeting type is not taking bookings. Pick one from calendar_list_meeting_types.
invalid_dates The due date or valid-until date is before the issue date, or an invoice's issue date is in the future or before the last one numbered in its series. Change it with invoices_update. Without an issue date a document is dated the day it is sent.
invoice_incomplete The invoice lacks what the law of the business's country needs on it: an address or VAT ID, the customer's VAT ID for a reverse charge, why a line has no tax. Add what the message names with invoices_update or invoices_set_profile, then send again. Nothing was numbered or charged.
is_reversal The entry is itself a reversal. Book the original again instead.
key_taken Another project has that key. Pick another key.
limit_reached The business has as many of these as it may: keys, tables, schedules, pages, channels and the like. Delete or archive one you no longer use. The message gives the limit. A business that needs more asks with account_request_limit.
manager_cycle The manager would end up reporting to the person, directly or through others. Pick another manager.
manages_others The person manages others. Give them another manager first with hr_save_people.
more_than_balance The payment is more than what is owed. Record at most the balance the message gives.
more_than_invoiced The credit is more than what is left of the invoice, or of an invoice line, to credit. Credit at most what the message says is left.
more_than_left A credit (a prepayment or an overpayment) has less left than the amount, or nothing. Use or pay back at most what is left. invoices_list_credits or purchasing_list_credits shows it.
more_than_ordered More would arrive than was ordered. Receive at most what is left on the line.
more_than_paid The refund is more than was paid. Refund at most what was paid.
name_taken Something of that kind has that name already. Pick another name.
national_system_required The business is in a country whose domestic invoices must go through a national system (Italy's SdI, Poland's KSeF, Belgium's Peppol and others), which Conecto doesn't connect to yet. Send that invoice through the national system. Invoices to customers abroad, quotes and the books still work.
network_off The social network is not switched on for Conecto yet. Pick one that is enabled in social_networks.
network_refused The social network won't take a post from the account right now: its daily limit, or it stopped the account from posting. Tell the owner the reason in the message and try again later.
no_account A bill line has no expense or asset account to post to. Give the line an account.
no_books The business keeps no books yet. Set them up with books_setup.
no_channels The business has no connected social channel yet. Connect one with social_connect.
no_date The person has no start or end date, which the checklist counts from. Set it with hr_save_people first.
no_email There is no email address to send the document to. Give one with to, or save it on the customer or supplier.
no_iban A SEPA file needs an IBAN for every supplier it pays and for the bank account it pays from. Add it with purchasing_save_supplier (a person approves new bank details) or books_save_accounts.
no_items The document has no line items. Add at least one before sending.
no_mailbox No mailbox of the outreach campaign can send: none is named, or each one is disconnected, paused or over the business's limit. Name a mailbox outreach_mailboxes shows as ready in mailbox_ids, or connect one with outreach_connect_mailbox.
no_match The bank rule given does not match the bank line. Pick the rule the line's suggestions name, or book the line to an account.
no_rate There is no exchange rate for that currency on that day (for the books, or for an invoice's VAT in the national currency). Pass the rate yourself (rate, or an invoice's vat_exchange_rate).
no_role No account has a role the books need. Give it to one with books_save_accounts.
no_sending_service The business has not connected its own email service, which its newsletters go out through. Connect it with newsletters_connect_service (its SMTP server, login and from address).
no_subscribers Nobody has confirmed a subscription yet. Invite people with newsletters_invite first.
no_support_inbox Attachments go out from a support inbox, and the ticket has none. Connect one with ticket_connect_inbox, or pass inbox.
nobody_to_email Nobody in the outreach campaign's audience can be emailed: they have no email address, unsubscribed, bounced, said no, replied before or are in another campaign. Choose another audience with outreach_save_campaign. Its reply says who was left out and why.
not_a_channel The Telegram code was posted in a group, where any member could have posted it. Post it in a channel, where only admins post.
not_a_draft The document was sent, or is a credit note, so it cannot change. Correct a sent invoice with invoices_create_credit_note, or void a quote and make a new one.
not_accepted The quote is not accepted yet. Let the customer accept it on its page, or record that they accepted.
not_beside The tool works in the Beside widget, and this chat runs the classic widget. Use chat_reply for this chat.
not_bookable The meeting type is not taking bookings. Pick one from calendar_list_meeting_types.
not_cancellable Only a scheduled or sending newsletter issue can be cancelled. Nothing to cancel.
not_completed The test is not completed yet. Wait until the applicant completes it.
not_connected Something the tool needs is not connected yet: the business's Stripe account, a Google or Microsoft calendar, or the company's Microsoft 365 or Google Workspace. Connect it first. The message names the tool.
not_done The task is still open. Nothing to reopen.
not_draft Only a draft can change or be sent, and this is not one. Make a new draft.
not_enough_days The person has fewer days of that leave left than this needs. Pass allow_negative: true to allow it anyway, or ask for fewer days.
not_enough_stock A location does not hold enough of the item. Move or receive stock first, or take less.
not_matched The bank line is not matched. Leave it as it is.
not_movable The meeting is not scheduled, or it has started. Book a new meeting instead.
not_owed The invoice or bill isn't owed: a draft, paid or void, so it takes no expected or planned date. Give the date to an invoice that is sent and not paid, or a bill not paid yet.
not_posted The payment was not posted to the books. Match the bank line another way.
not_posting Invoices and bills do not post to the books, so their payments cannot be matched. Turn post_invoices on with books_setup.
not_published The website is not published. Publish it first with website_publish.
not_refundable The top-up can't be refunded: it is more than 24 hours old, part of it was used, it was refunded already, or it was an auto-reload. Nothing was refunded. Credit doesn't expire, so it stays for later calls.
not_sent The quote, invoice or purchase order is still a draft. Send it first. The message names the tool.
not_set_up The page needs something the business has not set up yet, like the website chat. Set it up first. The message names the tool.
not_started The outreach campaign never started, so there is nothing to pause or resume. Start it with outreach_start.
not_tracked The leave type is not tracked, so it has no balance. Nothing to adjust.
not_verified The email domain is not proved yet, so nobody can join with it. Add the TXT record the domain came back with, then verify it.
not_voidable A credit note stays once issued. To charge the customer again, send a new invoice.
not_waiting The prospect search is not waiting for an answer: it is running, or it ended. Read it with prospects_get, and answer only while its status is needs_input.
not_yet Telegram has not seen "/connect <code>" in the channel yet. Ask the owner to post the code, then call again with code.
nothing_due Nothing is owed on the invoice. No reminder is needed.
nothing_to_bill Everything on the purchase order is billed already. Nothing to do.
nothing_to_credit Everything on the invoice is credited already. To charge the customer again, send a new invoice.
nothing_to_do Nobody is waiting to sign right now. Nothing to send.
nothing_to_read Every page of the PDF has text of its own, so OCR has nothing to read. Read it free with files_read_text.
nothing_to_receive Nothing is left to receive on the purchase order. Nothing to do.
nothing_to_repay The person's open expense claims come to nothing or less. Nothing to pay back. books_list_claims shows their claims.
number_taken The number is in use already: a document number, or a phone number someone else took. Pick the next free number, or search phone numbers again.
ocr_in_progress Another scan of the business is being read. OCR reads one at a time. Call again once that call is done (account_get_call shows it).
order_cancelled The purchase order is cancelled. Draft a new order.
order_closed The purchase order is closed. Draft a new order.
other_customer A customer's credit goes only on that customer's invoices. Use it on one of their invoices.
other_supplier A credit with a supplier goes only on that supplier's bills. Use it on one of their bills.
outside_employment The dates fall outside the person's employment. Pick dates while they work for the business.
overlaps The person has leave on those days already. Pick other dates, or cancel the other request.
period_locked The date falls in a locked period of the books. Use a later date, or unlock the period with books_lock.
post_closed The post waiting for its owner was answered already, or its time to be answered ran out. Read how it went with social_post_check, and post again if it is still wanted.
price_changed The website's rent ended a moment ago, so publishing starts a new month. Nothing was charged. Publish again.
price_too_high The number costs more than bots can rent today. Nothing was charged. Pick another number.
profile_incomplete The business has no name or country for documents yet. Set them with invoices_set_profile legal_name and country.
quote_declined The customer declined the quote. Make a new quote or invoice.
quote_expired The number's price quote expired or belongs to another account. Search again with phone_search_numbers.
quote_void The quote is void. Make a new quote or invoice.
rate_fixed The tax is in use, so its rate stays. Add a new tax for the new rate.
reached_customer The invoice may be in the customer's hands (emailed, opened, or its PDF downloaded), so it is corrected with a document they get, not voided. Cancel it with invoices_create_credit_note for all of it.
rent_lapsed The monthly rent lapsed while it was paused. Remove it and add it again.
request_pending A request for a higher limit of that kind is waiting for Conecto's answer. Wait for the account.limit_request_answered event, or withdraw the request on the account page to ask for another amount.
reversed The entry is reversed, so nothing is left to match. Match another entry.
role_needed The account holds a role the books need. Give that role to another account first.
rule_broken A bank rule books to an account that was archived or is gone. Change the rule with books_save_bank_rule.
scope_too_wide The areas asked for reach past the team's: a join code or the areas people join in. Pick areas inside the team's, or leave them out for the team's own.
sku_taken Another item has that SKU. Pick another SKU.
slug_taken A meeting type or routing form on that calendar already has that address. Pick another slug. calendar_list_meeting_types and calendar_list_routing_forms show the ones in use.
stage_in_use Applicants are still in a stage that would go. Move them first.
start_fixed Entries are booked, so the books' start date stays. Keep the start date.
storage_full The file store has no room for the file. Delete files with files_delete, or add room with files_add_storage.
storage_in_use The files would no longer fit in less storage. Delete files with files_delete first.
time_taken The time is not free: taken, outside the hours, too soon or too far ahead. Pick one of the free times calendar_find_times gives.
type_fixed The account or field is in use, so its type stays. Make a new one instead.
vat_id_invalid VIES, the EU's VAT ID check, says the customer's VAT ID is not valid, so a reverse-charge or intra-Community invoice can't go out. Check the number with the customer and fix customer.tax_id with invoices_update.
void The invoice or bill is void. Make a new one if needed.
wrong_account Payments of that kind do not land on the bank line's account. Map a payment method to it with books_setup payment_accounts.
year_closed The date falls in a fiscal year closed for good with books_close_year. Book it, or the correction, in the open year.

410 Gone

Code What it means What to do
gone The original of a received email is no longer kept (30 days) or could not be read. Ask the sender for its files again.
link_expired The upload link expired. Ask for a new one with files_upload_link.

413 Too large

Code What it means What to do
too_large The file, page or upload is over its size limit. Send a smaller file, or fewer at once. The message gives the limit.
too_many_lines The statement has more lines than max_lines. Pass the max_lines the message names, up to 5,000 a call.
too_many_pages The scan has more pages to read than max_pages. Pass the max_pages the message names.
too_many_rows The CSV has more rows than one call imports. Pass a higher max_rows, or split the file.

422 Could not be done

Code What it means What to do
cold_email The email looks like cold outreach, a pitch or a request to people who never wrote to the business, so it wasn't sent. The third refused within 7 days pauses the account's email. Email only people who wrote first or asked to hear from the business. Prospecting goes from the business's own mailbox.
conversion_failed The content or file could not be made into a PDF. Check the HTML, Markdown or file, then try again.
crashed Reading the file needed more memory or time than a file may use. Split the file, or send a smaller one.
credentials_refused The other service refused the token or login, or the account name does not exist there. Check the credentials with the owner. The message says where to find them.
deck_error The deck could not be made: the template isn't a PowerPoint file that opens, or a slide could not be drawn (the message names it). Use a .pptx or .potx template, or change the slide the message names.
deck_too_slow Making the deck took over a minute. Send fewer slides at a time, or use a smaller template and smaller images.
empty The page has no readable text. It may need JavaScript to show anything. Find the facts elsewhere with web_search.
fetch_failed The link could not be fetched, redirected too often, or answered with an error. Make sure the link opens without signing in.
found_by_lookup A Conecto inbox never writes first to an address found or checked with Conecto's lookups. Write from the business's own mailbox (google_mail_send or m365_mail_send). Answering someone who wrote first is fine.
invalid_pdf The PDF could not be read: damaged, or built to waste time. Ask for another copy.
login_failed The social network refused the login. Check the username and app password with the owner.
not_a_page The address is a file, not a page. Keep it with files_upload and its url.
ocr_failed OCR could not read the scan. Try a sharper scan.
pdf_locked The PDF is password-protected. Ask for a copy without a password.
refused The other service refused: a site would not show the page to a bot, the posting service reported a conflict, or the business's email service will not take mail for an address. Read the reason in the message. Find the facts elsewhere, read the post again, or use another address.
suppressed An address bounced, complained or unsubscribed before. Leave those addresses out. The message lists them.
template_error The Word template has a broken placeholder, or the data does not fit it. Fix the place the message names.
template_too_slow Filling the template took too long. Simplify its loops.
timeout Reading the PDF or scan took too long. Nothing was charged. Read fewer pages at a time, or send a smaller file.
too_many The ticket would hold more tags or custom fields than it may. Remove some first.
tool_error The tool could not do what was asked. The message says why. Do what the message says, then call again.
unmapped_columns No column of the CSV looks like an email, a name or a phone (for companies: a name, domain or website). Name the columns like Email, Name, Company and send it again.
unreadable The speech service could not read the file. Send a common audio or video format.
writing_check An outreach email does not pass Conecto's writing check: a dash, a stock opener or closer, a contrast or slogan, hype, too many words, links or asks, "Re:" on a first email, or a placeholder some people have no value for. Make each fix the message names with outreach_save_campaign, look again with outreach_preview, then start it.

429 Too many requests

Code What it means What to do
daily_budget_reached The key reached its daily budget. Keys made from one key share that key's budget. Wait until midnight UTC, or lower the cost of the call. Only the owner raises the budget.
daily_email_limit The business emailed as many quotes, invoices or purchase orders in 24 hours as it may. Send the rest tomorrow, or download the PDF and send it yourself. A business that needs more asks with account_request_limit.
monthly_ceiling_reached The business reached its monthly spending ceiling. Wait until the month turns, or ask the owner to raise the ceiling on their account page.
new_recipient_limit The business emailed as many new addresses today as it may. Send to these people tomorrow. Replies and people who wrote first are not limited. A business that needs more asks with account_request_limit.
rate_limited Too many calls in a short time: from this key or account, or to a service the tool uses (search, social posting, a site's analytics events), or more than three exports of the account in a day. Wait a few seconds (a minute for a service) and call again. A business that needs more calls a minute asks with account_request_limit.
team_budget_reached The key's team spent its budget for this period, and the budget is hard. Wait for the next period (counted in the account's time zone. A project budget doesn't start again), or ask the owner to raise the budget or make it soft.
too_many_emails The document was emailed as often in 24 hours as one document may be. Try again tomorrow.
too_soon A reminder about it went out in the last 24 hours. Remind again after the time the message gives.

500 Server error

Code What it means What to do
internal_error Something failed on Conecto's side. Nothing was charged. Call again in a moment, with the same Idempotency-Key if you sent one.
interrupted A call stopped before it finished (shown on the call when you poll it). Nothing was charged. Run the call again.
secret_unreadable A background call's secret arguments could not be read back. Nothing was charged. Call the tool again.

502 Bad gateway

Code What it means What to do
carrier_error The phone carrier answered with something else than was asked. Nothing was charged. Search again with phone_search_numbers.
check_failed Asking the AI assistants failed. Nothing was charged. Run the check again later.
delivery_failed The notification reached no channel, or a channel's test message did not arrive. Nothing was charged. Check the channel's webhook or token, or add the channel again.
directory_rejected The directory refused: the credentials, or the permissions given to them, are not enough for that. Ask the directory's admin to grant what the message names, then try again.
email_failed The email with the document could not be sent. The document stays as it was and nothing was charged. Try again in a moment.
fetch_failed The link did not answer. Check the link and try again.
refund_refused Stripe refused the refund, for instance because the way it was paid can't be refunded. Nothing was refunded. The payer can ask Link's support, which can refund a payment within 60 days.
send_failed The email service did not accept the email. Call again in a moment. The message says what was saved.
service_refused The business's own email service turned the email down, often a from address it does not allow. Allow the from address in the service, or connect it with one it allows.
service_unreachable The business's own email service could not be reached, or the connection dropped. Check the SMTP server and port (587 or 465), then try again.
stripe_error Stripe refused or could not do what was asked (an invoice's payment page, its webhook). Try again. The message gives Stripe's reason.
vendor_rejected The company's Microsoft 365 or Google Workspace refused: its app lacks a permission or the admin's consent, or it said no to the request. Ask the admin to grant what the message names, then try again.
vendor_unavailable The other service an import reads from did not answer. Nothing was charged. Try again in a few minutes, with the same next_cursor if you passed one.

503 Unavailable

Code What it means What to do
bridge_offline The company's bridge, the program inside its network that reaches systems behind its firewall, has not checked in for over 30 seconds. Nothing was charged. Ask the company's IT to start the bridge, then call again.
busy The workers that read files or run code are busy with other calls. Nothing was charged. Try again in a minute.
calendar_unavailable The business's connected calendar could not be checked, so nothing can be booked. Try again in a few minutes.
carrier_refused The phone carrier could not complete the order just now. Nothing was charged. Search again with phone_search_numbers and try another number.
carrier_unavailable The phone carrier could not be reached. Try again in a minute. The message says what is kept.
check_unavailable Every new email is checked for cold outreach before it goes, and the check couldn't run just now. Nothing was sent or charged. Try again in a minute.
directory_unavailable The company's directory (Entra ID or Okta) or its sign-in could not be reached. Try again in a minute. Nothing changed.
not_switched_on This kind of tool (social posting, running code) is not switched on yet. Nothing was charged. Try again later.
phone_unavailable The phone service is not available right now. Nothing was charged. Try again later.
rates_loading The day's exchange rates are still loading. Try again in a few minutes, or pass the rate yourself.
sandbox_unavailable The code sandbox is not available or did not answer. Nothing was charged. Try again later.
search_unavailable The search service is not available or did not answer. Nothing was charged. Try again later.
sending_unavailable Email to outsiders is not possible yet while the sending account is in review, or the email service turned the emails away. Send to the owner's address for now, or try again later.
service_busy The business's own email service asked to slow down. Try again in a few minutes.
social_unavailable The social posting service or Telegram did not answer, or the business's social workspace could not be opened. Nothing was charged. Call again in a minute. When the message says so, tell Conecto's support.
unavailable The tool, or a service it needs, is not available right now (or not switched on yet). Nothing was charged. Try again later.

504 Timed out

Code What it means What to do
timeout The site took too long to send the page. Try again later.

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