validation_failed it is field_errors.<field>[].rule,
on conflict, rate_limited and service_unavailable it is error.context.reason. The message next to it is the
sentence below, so an agent branches on the reason and a person reads the message; the ids, dates and limits the sentence
refers to are in error.context (a retry_after timestamp, a resend_available_at, a max_bytes).
This page is generated from the same table the backends answer from (one catalog per service, checked in CI so no
reason is thrown without a sentence). 198 reasons across 4 services.
| Reason | What it means | Service |
|---|---|---|
access_type_identity_mismatch | the field does not match access_type: an internal session carries no access key, an external one carries no connected user. | |
account_already_shared | This account is already shared; recall the share before sharing it again. | id |
account_bound_other_team | linkedin: This LinkedIn member is already connected in another workspace; one member lives in one workspace at a time. email: This mailbox is already connected in another workspace. | linkedin, email |
account_currently_shared | This account is shared out right now; recall the share before transferring it. | id |
account_erasure_pending | This account is deactivated and waiting for erasure; use the cancel link in the deactivation email to sign in again. | id |
account_missing_ln_id | The LinkedIn account behind this call has no profile URN of its own yet, so it cannot address the wire; wait for its initial sync to finish (linkedin_accounts.ln_id fills on the first profile read). | |
account_not_active | This email account is not active (see context.status), so it cannot send; reconnect it first. | |
account_not_in_team | That LinkedIn account is not usable here: it is missing, deleted, or belongs to another workspace. | |
account_not_lendable | This account cannot be lent: it has not completed its login yet. | |
account_not_shareable | The channel refused to lend this account (see context.detail): it is not in a state that can be handed over. | id |
account_not_syncable | This account has no sync runs (see context.detail). | |
account_not_transferable | The channel refused to transfer this account (see context.reason): it is not in a state that can be handed over. | id |
account_sending_paused | Sending from this account is paused (see context.reason); resume it, or send from another account. | |
account_shared_out | This LinkedIn member is lent to another workspace right now; recall the share before connecting it again. | |
acme_unreachable | The certificate authority did not answer; retry in a minute. | id |
addon_not_on_subscription | This add-on is not on the subscription, so there is nothing to remove or change. | id |
already_erased | This account was erased; nothing of it remains to act on. | id |
attachment_fetch_failed | The attachment could not be downloaded from the provider (see context.detail). | |
attachment_too_large | The attachments together exceed the size a send may carry (context.max_bytes). | |
attachments_too_large | The attachments together exceed the 35 MB a send may carry; send fewer or smaller files. | |
attributes_not_supported_in_thread | Rich-text attributes apply to the first message that opens a Recruiter thread only; a reply into an existing thread takes plain text. | |
audio_transcoder_unavailable | The audio converter is not available on this host right now; retry in a minute. | |
audio_unreadable | The audio could not be read as a sound file; send an mp3, m4a, ogg, wav or webm file, as a URL or as base64. | |
auto_scrape_not_active | This auto-scrape is not active; resume it before running. | |
automation_server_in_maintenance | This automation server is in maintenance and takes no browsers. | |
automation_server_mismatch | The browser is registered on a different automation server than the caller; the fleet reconciles this on its own. | |
body_fetch_failed | The message body could not be fetched from the provider (see context.detail); a sync refreshes its locator. | |
bounded_scan_required | the field must narrow the search with eq or in; a search of this table across the whole workspace is refused. | |
browser_already_bound | This browser is already bound to a different LinkedIn member; unbind it, or use another browser. | |
browser_already_connected | A cloud browser session on this browser is already open; join it or wait for it to end. | |
browser_maintenance | The browser’s host is in maintenance; retry after the window. | |
browser_profile_missing | The bound browser has no profile at the vendor, so there is nothing to launch; create or import a profile first. | |
browser_starting | The browser is starting; retry in a few seconds. | |
browser_unavailable | The browser could not serve this call (the tab died or the browser is gone); retry once it is running. | |
browser_unreachable | The browser is not reachable right now (stopped, restarting, or its host is down); start it and retry. | |
bucket_saturated | This account has used its budget for this action type; retry after retry_after. | |
callback_host_registry_unavailable | The identity service did not answer the callback-host lookup; retry in a minute. | |
cannot_issue_deleted_certificate | This certificate was deleted; add the domain again to issue a new one. | id |
cannot_rotate_inactive_key | Only an active API key can be rotated; this one is revoked or expired. | id |
channel_busy | The channel is handling its maximum number of handovers; retry this call unchanged in a minute. | id |
channel_no_cross_cluster | The two workspaces live on different clusters and this channel cannot hand an account across clusters. | id |
channel_unavailable | The channel service did not answer; retry in a minute. | id |
channel_unreachable | The channel service could not be reached; retry in a minute. | id |
comment_not_deleted | LinkedIn did not delete this comment: it is not this account’s, or it is already gone. | |
commit_token_expired | commit_token has expired; run the preview again and commit with the new token. | orchestration |
company_anchor_not_numeric | source_input.anchor_company_ln_id must be the numeric LinkedIn company id, not a slug or a URL. | |
confirmation_count_mismatch | confirmation_count does not match the number of accounts the filter matched; re-read the count and confirm again. | id |
conversation_deleted | This thread was deleted and cannot be acted on; sync the inbox again if it should still exist. | |
conversation_not_deletable | This thread has no LinkedIn-side object to delete yet (it was opened by a send that never landed); nothing to remove. | |
counterpart_copy_exists | The receiving workspace already holds a copy of this account. | |
daily_limit_exceeded | This account has used its daily sending budget; pass scheduled_at and the queue sends when budget allows. | |
degree_indeterminate | LinkedIn did not expose a network distance for this profile (the account itself, a hidden profile, or a page that carries none), so no degree can be recorded. | |
disconnect_in_progress | This cloud browser is disconnecting; wait for it to finish. | |
dispatch_in_flight | This message is being sent right now; retry once it reaches a terminal status. | |
dns_resolvers_unavailable | The DNS resolvers did not answer, so the domain could not be verified; retry in a minute. | |
domain_active_in_another_team | This domain has an active certificate in another workspace. | id |
domain_already_active | This domain already has an active certificate. | id |
domain_bound_other_team | This domain is already registered in another workspace. | |
domain_required | domain is required. | id |
duplicate_host_port | An automation server is already registered at this ip and port. | |
email_box_dump_not_ready | The mailbox dump is not finished (see context.status); retry once it is done. | |
email_box_has_no_bundle | A secrets merge needs a stored bundle to merge into, and this box has none; send the full bundle. | id |
email_box_not_replaceable | id: The box named in replaces_email_box_sid is not the workspace’s single live box (or is not active or suspended), so it cannot be replaced. orchestration: The current email box is not in a state a new one can replace (see context.status or context.detail); only an active or suspended box is replaced. | id, orchestration |
email_box_ops_disabled | This deployment is not a workspace mailbox host; box operations are off here. | |
email_box_unaddressable | This box is not live or has no hostname and access key yet, so it cannot be addressed. | id |
email_taken | An account with this email already exists; sign in and connect the agent from the app instead. | id |
filters_must_be_a_non_empty_object | source_input.filters must be an object with at least one search filter. | |
handover_in_flight | A handover of this account is already in progress; wait for it to finish. | id |
handover_in_progress | Another handover of this account is still in progress; finish or cancel it first. | |
handover_payload_mismatch | The handover rows do not carry the role this step expects; the handover is out of order. | |
holder_team_unavailable | The receiving workspace does not exist or is not active. | id |
idempotency_key_busy | A send with this idempotency_key is in progress; wait for it to finish. | |
idempotency_key_reused | This idempotency_key was used for a different send; use a new key for a new message. | |
infrastructure_maintenance | The automation fleet is in maintenance; browsers cannot be started until it ends. | |
infrastructure_unavailable | The automation infrastructure did not answer; retry in a minute. | |
initial_sync_pending | The account’s initial sync has not finished; the latest-* reads work once it has. | |
inmail_requires_premium | InMail needs a Premium LinkedIn account and this one is not Premium; send a regular message, or send from a Premium account. | |
invalid_base64 | the field is not valid base64; encode the file bytes as standard or url-safe base64 without a data: prefix. | |
invalid_commit_token | commit_token does not match this plan: preview the same title, scope, plan and schedule again and commit with the token the preview returns. | orchestration |
invalid_group_by | group_by names a field this metrics call cannot split on; use one of the fields the tool lists. | |
invalid_source_method | source_method is not one of the auto-scrape sources; use one of the values the tool lists. | |
invalid_status_transition | linkedin: This status change is not allowed from the current status; check the status first. orchestration: This status change is not allowed from the run’s current status (see context.detail). | linkedin, orchestration |
invalid_transition | id: This status change is not allowed from the member’s current status. email: This status change is not allowed while the account is connecting. | id, email |
invalid_url | The URL is not a LinkedIn search, post, or people-you-may-know page this auto-scrape can read; paste a linkedin.com search URL or a post link. | |
invitation_already_redeemed | This invitation was already used. | id |
invitation_expired | This invitation has expired; ask for a new one. | id |
invoice_fetch_failed | The billing provider did not return the invoice; retry in a minute. | id |
invoice_not_available | No invoice exists for this transaction (it never billed, or it was refunded before billing). | id |
invoice_not_ready | This transaction is not billed yet, so it has no invoice; retry after it bills. | id |
issuance_already_in_progress | A certificate for this domain is being issued right now; wait for it. | id |
latest_refresh_failed | The live read did not complete; retry in a minute. | |
linkedin_account_exists | A LinkedIn account is already bound to this browser; delete it first, or use it. | |
login_already_confirmed | This session already carries a different login result. | |
login_error_reason_required | A login result other than success needs login_error_reason. | |
login_not_confirmed | The login of this session was not confirmed, so the browser cannot be run from it. | |
mass_action_incompatible | The mass action targets an entity this auto-scrape’s results cannot feed; pick a run whose target_entity matches the result kind. | |
mass_action_registry_unavailable | The mass-action service did not answer; retry in a minute. | |
message_already_recalled | This message is already recalled; a second recall would spend a call to be told nothing. | |
message_not_reactable | This message no longer exists on our side (a reset removed it), so it cannot be reacted to. | |
message_not_recallable | This message no longer exists on our side (a reset removed it), so it cannot be recalled. | |
message_too_old_to_recall | LinkedIn allows a recall within 60 minutes of sending, and this message is older; it stays. | |
messenger_type_mismatch | This thread lives on another messenger surface than the verb you called; use the send, delete or mute verb of the thread’s surface (LinkedIn, Sales Navigator or Recruiter). | |
method_not_available | This source method has no live fetcher yet; pick another source, or feed the run through append-items. | |
missing_invitation_id | This invitation carries no LinkedIn invitation id or secret, so the wire cannot act on it; sync the invitations and retry. | |
missing_profile_id | This connection row stores no profile URN, so the wire cannot be asked about it; sync the connections and retry. | |
no_automation_server_available | No automation server has capacity for a new browser right now; retry later. | |
no_canary_available | No canary account is available to run the check right now; retry later. | |
no_default_team | This user belongs to no workspace yet; create one or accept an invitation first. | id |
no_endorsable_skills | The target lists no skills this account can endorse (none, or all already endorsed). | |
no_erasure_pending | No erasure is pending for this account. | id |
no_live_browsers | No browser of this workspace is live to serve the call; start one. | |
no_mailbox_license | This Microsoft account has no mailbox (no Exchange license), so there is nothing to connect. | |
no_mass_action_set | This auto-scrape feeds no mass action; set one with set-mass-action before running. | |
no_recognised_filter_members | None of the keys in source_input.filters is a filter this search understands; use the keys the tool lists. | |
not_a_login_session | This session is not a login session, so it has no login result to confirm. | |
not_connected | The target is not a 1st-degree connection of this account, and this action needs one; send a connection request first, or act from an account that is connected. | |
oauth_app_failed | This OAuth app is not verified (see context); fix its credentials and probe it again. | |
oauth_app_probe_rate_limited | The OAuth app was probed too often; retry after retry_after. | |
oauth_grant_invalid | The provider refused this refresh token (revoked, expired, or from a mailbox that changed); connect the account again with a fresh consent. | |
oauth_mint_lock_timeout | Another token mint for this client is in progress; retry in a few seconds. | id |
oauth_scope_insufficient | The consent did not grant the mailbox scope this connection needs; connect again and accept the mail permission. | |
operation_blocked | LinkedIn refused this operation for this account; see context.reason for the cause. | |
outside_sending_window | The account’s sending window is closed right now; pass scheduled_at, or widen the window on the account. | |
owner_cannot_be_removed | The workspace owner cannot be removed; transfer ownership first. | id |
owner_cannot_be_rescoped | The workspace owner sees every account; a sender slice applies to other members only. | id |
paddle_unavailable | The billing provider did not answer; retry in a minute. | id |
paid_subscription_applied | A paid subscription is applied to this workspace; unapply and cancel it before deleting the workspace. | id |
partner_sentinel_missing | The partner-managed workspace has no internal subscription row; provisioning did not finish. | id |
password_already_set | This account already has a password; use the reset flow to change it. | id |
payload_too_large | The webhook payload exceeds 64 KB after encoding and cannot be delivered. | orchestration |
period_inverted | period.from is after period.to; swap them. | linkedin, orchestration |
period_start_must_be_monday | period_start must be the Monday that opens the ISO week. | |
period_too_wide | The period spans more than 90 days; narrow period.from / period.to. | linkedin, id, orchestration, email |
plugin_unavailable | The browser plugin did not answer; retry once the browser is running. | |
post_not_deleted | LinkedIn did not delete this post: it is not this account’s, or it is already gone. | |
post_not_resolvable | The post link could not be turned into a post id (a shortlink that does not expand, a URL without an activity id); paste the full linkedin.com post URL or the urn:li:activity id. | |
post_target_missing | source_input names no post: pass activity_urn, or a post URL. | |
price_is_not_an_addon | This price is not an add-on and cannot be added to a subscription. | id |
price_is_the_subscription_base_price | This price is the subscription’s base plan, not an add-on; change the plan instead. | id |
profile_id_or_conversation_required | Address the send: pass linkedin_conversation_sid for an existing thread, or profile_id (a profile URN or a Sales Navigator id) to open one. | |
provider_app_not_configured | No OAuth client of this provider is configured on this deployment; the connection cannot be probed. | |
provider_not_reconnectable | A hosted mailbox has no external provider to reconnect. | |
provider_probe_failed | The provider’s token endpoint could not be reached or refused our client; retry in a minute. | |
provider_probe_not_available | This provider cannot be probed on this deployment yet (see context.detail). | |
provision_lock_timeout | Another provisioning of this partner workspace is in progress; retry in a few seconds. | id |
proxy_managed_by_owner | The proxy of a borrowed browser is managed by its owner; ask them to change it. | |
quantity_must_be_positive | quantity must be 1 or more. | id |
reaction_not_removed | LinkedIn did not remove a reaction here: this account had none on the post. | |
recipient_or_conversation_required | Address the Recruiter send: pass linkedin_conversation_sid for an existing thread, or a recipient (recruiter_id, ln_id or sn_id) to open one. | |
recipient_suppressed | Every recipient is on the suppression list (bounced or unsubscribed); nothing was sent. | |
recipient_unresolvable | This thread stores no id of its counterpart, so a new Recruiter message cannot be addressed; sync the recruiter inbox and retry, or send by recipient id. | |
recruiter_reauth_required | The Recruiter session of this account expired; sign in to Recruiter again from the account page. | |
redirect_host_not_allowed | success_redirect_url must point at an allowed host. | |
registry_unavailable | The identity service did not answer the email-box registry call; retry in a minute. | orchestration |
relation_not_found | reply_to_email_message_sid names no message this account holds. | |
release_not_supported | A share is recalled, not released; use recall. | |
report_end_not_supported | Only a share reports its end; a transfer completes on its own. | id |
requester_has_no_email | The requester’s account has no email to reply to; add one before opening a support request. | id |
resolver_unavailable | The subject profile could not be resolved right now; retry later. | |
run_in_progress | A run of this auto-scrape is still in flight; wait for it to finish or stop it. | |
run_not_active | This run does not take new items (see context.detail: it is paused or deleted); resume it, or create a new run. | orchestration |
run_not_failed | Only a failed provisioning run can be retried; this one has not failed. | orchestration |
run_window_expired | More than 15 minutes passed since the login was confirmed; open a new session. | |
sales_nav_required | This source reads Sales Navigator and the account has no Sales Navigator seat; pick an account with one, or a LinkedIn-search source. | |
sales_session_stale | LinkedIn refused this Sales Navigator call for a stale seat session; the platform re-arms the session or moves the call off the seat on the next attempt, retry after retry_after. | |
scheduled_at_in_past | scheduled_at is in the past; omit it to send now, or pass a future time. | |
scheduled_change_is_not_cancel | The scheduled change on this subscription is not a cancellation, so there is no cancellation to undo. | id |
scheduled_post_not_deleted | LinkedIn did not delete this scheduled post: it is not this account’s, or it was already published or removed. | |
send_as_denied | from_email is not an address this account owns or is allowed to send as. | |
session_already_disconnected | This session is already disconnected. | |
shadowban_check_not_pending | This check is not pending, so its send cannot be confirmed. | |
share_not_active | This share is not active, so it cannot be recalled or returned. | id |
sid_xor_filter_required | Provide sid for one item or filter for a set, not neither. | orchestration |
skill_discovery_failed | Reading the target’s skills from LinkedIn failed; retry, or endorse a skill by id. | |
slug_collision | Another product already carries this slug; the catalog cannot map two products to one slug. | id |
source_not_parked | The source rows are not parked under a handover; park them before exporting. | |
subject_already_connected | The subject is already connected to every canary; the check needs a canary that is not connected to them. | |
subscription_canceled | This subscription is canceled and cannot be changed. | id |
subscription_locked_pending_changes | This subscription has a scheduled change pending; wait for it to apply or cancel it first. | id |
subscription_not_floating | This subscription is already applied to another workspace. | id |
sync_in_progress | linkedin: A sync of the same kind is running on this account; retry after retry_after. email: A sync of this account is already running (context.open_sync_run_sid); wait for it to finish. | linkedin, email |
target_unresolvable | LinkedIn answered no profile for the target nickname; check the vanity slug, or address the person by their profile URN. | |
team_already_has_subscription | This workspace already has a subscription applied; cancel or replace it first. | id |
team_partner_managed | This workspace is managed by a partner; billing changes come through the partner. | id |
team_unavailable | That workspace does not exist or was deleted. | id |
too_many_splits | group_by would produce more than 500 groups; narrow the filter or split on a field with fewer values. | linkedin, id, orchestration |
tool_busy | The shadowban checker is at its daily budget; retry after retry_after. | |
tool_disabled | The shadowban checker is switched off right now. | |
tool_misconfigured | The shadowban checker is not available right now. | |
tracking_domain_not_verified | The account’s tracking domain is not verified, so tracking cannot be injected; verify the domain or send without tracking. | |
unpark_giver_not_supported | A share has no giver-side unpark; recall it instead. | |
unpark_not_supported | A transfer is not unparked; it completes or it is cancelled. | |
vendor_profile_busy | The vendor profile is in use by another browser right now; wait for it to be released. | |
vendor_proxy_update_failed | The vendor did not accept the proxy change; the browser was restarted with its previous proxy, retry. | |
voice_exceeds_60s | A voice message is at most 60 seconds long and this audio is longer; trim it. | |
voice_not_supported_on_recruiter | Voice messages exist on the LinkedIn messenger only; this thread is a Recruiter thread, use send-recruiter with text. | |
voice_not_supported_on_sales_navigator | Voice messages exist on the LinkedIn messenger only; this thread is a Sales Navigator thread, use send-sales-nav with text. | |
wildcard_must_be_alone | The events wildcard (*) stands alone; do not list other event types next to it. | orchestration |