Administration
Error codes
When Cliedesk cannot do something, it shows a message. The message tells you what to do. Behind each message is
an error code, such as cliedesk_not_found. You see the code in the browser tools, in WP-CLI output, in the REST
API answer and in the support bundle. This page lists every code in Cliedesk Free.
The number after each code is the HTTP status of the REST API answer. Some codes are used with more than one message. The table shows the most common message.
Codes you can see anywhere
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_not_found |
404 | The item does not exist, or you cannot see it. Check the link, or ask an administrator for access. |
cliedesk_forbidden |
403 | Your role does not allow this. Ask an administrator. Agents who work in Play mode see it when they open a conversation that is not theirs: use Get next. |
cliedesk_invalid |
400 | Some values are not valid. The fields with a problem are marked. Fix them and try again. |
cliedesk_invalid_input |
400 | A required choice is empty, for example no value was chosen. |
cliedesk_version_conflict |
409 | Someone else changed this item while you had it open. Reload and try again. |
cliedesk_internal |
500 | Something went wrong. The message has a reference. Give the reference to your site administrator or to support. |
cliedesk_unauthorized |
401 | You are not signed in, or your sign-in has ended. Sign in again. |
cliedesk_rate_limited |
429 | Too many requests in a short time. Wait a moment and try again. |
cliedesk_body_too_large |
413 | The request is too large. Send less data or smaller files. |
cliedesk_cookie_auth_required |
401 | The helpdesk API accepts only a signed-in browser session. For scripts, use WP-CLI, or the Public API that comes with Cliedesk Pro. |
cliedesk_cursor_expired |
410 | The list of changes is too old. Reload the page. |
cliedesk_installing |
503 | Cliedesk is still finishing its installation or an update. Try again in a minute. |
cliedesk_unknown_action |
404 | The requested action does not exist. An add-on may be turned off. |
cliedesk_dry_run_unsupported |
400 | This action cannot show a preview. |
cliedesk_idempotency_key_reused |
409 | A request was sent again with the same key but different content. Send it as a new request. |
cliedesk_idempotency_in_progress |
409 | The same request is still running. Wait a moment. |
cliedesk_record_source_unavailable |
503 | Linked records (for example WooCommerce orders) cannot be loaded now. Check that the plugin that provides them is active. |
cliedesk_confirm_required |
409 | A bulk change needs confirmation, for example moving conversations to Trash or blocking contacts. Confirm it. |
cliedesk_bulk_not_undoable |
409 | This bulk job cannot be undone. |
cliedesk_scope_required |
403 | Only people who can see every product can do this, for example change brand settings. |
Sign-in, security and permissions
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_reauth_required |
403 | This change is sensitive. Confirm your password to continue. |
cliedesk_reauth_failed |
403 | The password is not correct. |
cliedesk_reauth_locked |
429 | Too many wrong passwords. Wait 15 minutes, then try again. |
cliedesk_2fa_required |
403 | Your role must use two-factor authentication. Set it up in My profile to keep using the helpdesk. |
cliedesk_lockdown |
503 | The helpdesk is in emergency lockdown. Only administrators can sign in. |
cliedesk_strict_mode |
409 | Strict mode is on, so security settings can only be made stricter. Turn strict mode off first. |
cliedesk_lockout_risk |
422 | The change would lock you out, for example require two-factor before you have set it up. The message says why. |
cliedesk_vault_unavailable |
422 | Credentials or keys cannot be saved because the encryption key is missing. See Setup Health. |
cliedesk_credential_in_use |
422 | This stored credential is still used. Remove it where it is used first. |
cliedesk_view_as_expired |
403 | The permission preview (“view as”) has ended. Reload to continue as yourself. |
cliedesk_view_as_readonly |
403 | Nothing can be changed during a permission preview. |
cliedesk_challenge_failed |
403 | The bot check failed. The customer should confirm they are not a robot and try again. |
cliedesk_too_many_messages |
429 | Too many messages in one minute. Wait a minute. Admins can change the limit in Settings → Privacy & security → Security. |
cliedesk_blocked_link |
422 | The message links to a blocked domain. Remove the link to send it. |
cliedesk_removal_scheduled |
409 | Deletion of this data is already scheduled. |
Team and roles
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_cannot_grant |
422 | You can only give permissions you have yourself. |
cliedesk_protected_capability |
422 | This permission is reserved for Owners and Cliedesk Admins. |
cliedesk_unknown_capability |
422 | Only Cliedesk permissions can be changed here. |
cliedesk_owner_only |
422 | Only an Owner can change site administrators and Cliedesk Admins, or the Cliedesk Admin role. |
cliedesk_owner_role |
422 | The Owner role always keeps every permission and cannot be changed. |
cliedesk_owner_caps |
422 | Owners always keep every permission. Owners are WordPress administrators: change their role in WordPress. |
cliedesk_self_edit |
422 | You cannot change your own role or permissions. Ask another administrator. |
cliedesk_last_owner |
422 | The change would leave nobody who can manage roles. Give that permission to someone else first. |
cliedesk_not_default_role |
422 | Only the default roles can be reset. |
cliedesk_role_not_allowed |
422 | Team leads can add, invite and change Agents and Collaborators only. |
cliedesk_not_your_team |
403 | You can change only Agents and Collaborators in teams you lead. |
cliedesk_not_team_lead |
422 | You can invite people only to teams you lead. |
cliedesk_has_open_conversations |
409 | This person still has open conversations. Reassign them first. |
cliedesk_field_locked |
403 | An administrator locked this profile field or notification for your role. |
cliedesk_not_online |
409 | Set your status to Online to get conversations with Get next. |
Conversations and replies
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_conversation_closed |
403 / 409 / 422 | The conversation is closed. Reopen it to reply, or start a new conversation. On a closed conversation only admins can change fields. |
cliedesk_conversation_locked |
422 | The conversation is in Spam, in Trash or merged. Restore it, or open the conversation it was merged into. |
cliedesk_conversation_quarantined |
422 | The conversation is in Spam. Mark it as not spam to reply. |
cliedesk_contact_blocked |
422 | The contact is blocked. Unblock the contact to start a conversation. |
cliedesk_sender_dropped |
422 | Messages from this sender are not accepted (a blocked sender or arrival rule). |
cliedesk_channel_window_closed |
422 | The messaging window on this channel has closed. Reply by email instead. |
cliedesk_draft_mode |
422 | Your team reviews replies before they are sent. Save the reply as a draft. A reviewer sends it. |
cliedesk_already_sent |
422 | This reply has already been sent. |
cliedesk_not_failed |
422 | Only messages that failed can be retried or discarded. |
cliedesk_nothing_to_retry |
422 | There is no email to send again. Edit the reply and send it again. |
cliedesk_not_editable |
422 | Only sent chat replies can be edited. Emails have already left. |
cliedesk_not_yours |
403 | You can only edit your own replies. |
cliedesk_note_trashed |
409 | Restore the note before you edit it. |
cliedesk_team_mentions_disabled |
422 | Team mentions are turned off. Mention people instead. |
cliedesk_cc_requester |
422 | This contact is the requester already, so it cannot be added in CC. |
cliedesk_status_new |
422 | A conversation never returns to New. Choose Open. |
cliedesk_status_closed |
422 | Closed is set by Cliedesk after a conversation is resolved. It cannot be set by hand. |
cliedesk_status_inactive |
422 | This status is turned off. |
cliedesk_status_not_in_type |
422 | This status is not used by the conversation type. |
cliedesk_status_category |
422 | Custom statuses can be in New, Open, Waiting or Resolved. |
cliedesk_status_required |
422 | This status is required and cannot be turned off. |
cliedesk_resolve_blocked |
422 | Fill in the required fields (or checklist) before you resolve. |
cliedesk_type_archived |
422 | This conversation type is archived. |
cliedesk_type_system |
422 | Built-in types cannot be archived. |
cliedesk_checklist_inactive |
422 | This checklist is turned off. |
cliedesk_checklist_template_item |
422 | Items that come from the checklist template cannot be removed. |
cliedesk_not_in_trash |
422 | The conversation is not in Trash. Move it to Trash first. |
cliedesk_not_spam |
422 | The conversation is not in Spam. |
cliedesk_undo_expired |
422 | The undo time is over. Move the conversation back instead. |
cliedesk_moved_since |
422 | The conversation moved again since. Move it back instead. |
cliedesk_merge_invalid |
422 | Merged or trashed conversations cannot be merged. |
cliedesk_merge_other_customer |
422 | Merging conversations of different customers is turned off. |
cliedesk_merge_nested |
409 | The target was merged again. Undo that merge first. |
cliedesk_merge_final |
409 | The undo time for this merge has ended. |
cliedesk_split_all |
422 | Leave at least one message in the original conversation. |
cliedesk_split_selection |
422 | Choose messages of this conversation. |
cliedesk_link_self |
422 | A conversation cannot be linked to itself. |
cliedesk_link_cycle |
422 | The link would make a conversation its own parent. |
cliedesk_not_a_tracker |
422 | This conversation is not a tracker (feature request). |
cliedesk_no_requests |
422 | No conversations are linked to this feature request. |
cliedesk_tokens_missing |
422 | A placeholder in the bulk reply has no value for some conversations. |
Inbox, views, queues and tags
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_search_syntax |
400 | The search has a mistake, for example a wrong date. The message shows the right form, such as between:2026-01-01..2026-01-31. |
cliedesk_view_share_forbidden |
403 | You cannot create or share views at this level. Ask an admin for access. |
cliedesk_folder_limit |
422 | You have reached the folder limit. Remove a folder first. |
cliedesk_queue_limit |
422 | You have reached the queue limit. Archive a queue first. |
cliedesk_queue_owned |
422 | This is a team’s own queue. Change it on the team, or archive the team. |
cliedesk_tag_exists |
422 | Another tag has this name. Merge the two tags instead. |
cliedesk_tag_in_use |
409 | The tag is in use. Check where it is used, then confirm the delete. |
cliedesk_cannot_create_tags |
403 | You can pick existing tags only. Ask an admin to add new tags. |
cliedesk_saved_reply_in_use |
409 | The saved reply is used elsewhere. Confirm to delete it anyway. |
Custom fields
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_field_restricted |
403 | This field is not available to you. |
cliedesk_field_readonly |
403 | You can see this field but not change it. |
cliedesk_field_hidden |
422 | The field does not apply with the current values of other fields. |
cliedesk_field_in_use |
409 | The field has values or is used elsewhere. Archive it instead. |
cliedesk_field_key_taken |
422 | Another field already uses this key. |
cliedesk_field_no_options |
422 | Only select fields have options. |
cliedesk_field_system |
422 | System fields cannot be archived. |
cliedesk_meta_protected |
422 | This user meta key holds account security data and cannot be mapped to a field. |
cliedesk_nothing_to_undo |
422 | This value was not set by a rule, so there is nothing to undo. |
cliedesk_already_reverted |
422 | This change was already rolled back. |
cliedesk_merge_self |
422 | Choose another option to merge into. |
Contacts and organizations
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_identity_invalid |
422 | Enter a valid email address or phone number. |
cliedesk_identity_taken |
422 | Another contact already uses this email address or phone number. The message names the problem. |
cliedesk_identity_exclusive |
422 | Another contact owns this identity. Mark it as shared on that contact first. |
cliedesk_identity_still_shared |
422 | Other contacts still use this identity. Remove it from them first. |
cliedesk_merge_wp_users |
403 / 409 | Both contacts are WordPress users. Confirm the merge (no user account is deleted). Only people who can edit WordPress users can do it. |
cliedesk_import_row |
400 | One row of an import cannot be used, for example it has no email, phone number or external ID. The import report lists the row. |
Products, brands, workspace and settings
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_last_product |
409 | The workspace needs at least one active product. |
cliedesk_product_in_use |
409 | The product has conversations, channels or merged products. Archive it or merge it instead. |
cliedesk_product_merged |
409 | The product was merged into another product. Undo the merge to bring it back. |
cliedesk_already_merged |
409 | The product was already merged into another product. |
cliedesk_merge_undone |
409 | This merge was already undone. |
cliedesk_merge_running |
409 | The merge is still running. Undo it when it has finished. |
cliedesk_merge_expired |
409 | The undo time for this merge has ended. |
cliedesk_default_brand |
409 | The default brand cannot be archived. |
cliedesk_languages_managed |
409 | Languages come from your multilingual plugin. Change them there. |
cliedesk_slug_forced |
409 | The app address is set by CLIEDESK_APP_SLUG in wp-config.php. Change it there. |
cliedesk_integration_fixed |
422 | This integration cannot be switched on or off here. |
cliedesk_schedule_default |
422 | Make other business hours the default first. |
cliedesk_schedule_archived |
422 | Restore these business hours first. |
cliedesk_layout_not_saved |
500 | The email layout could not be saved. Try again. |
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_email_not_failed |
409 | Only emails that were not sent can be retried. |
cliedesk_email_not_held |
409 | Only emails with an uncertain result can be marked as sent. |
Rules and automation
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_automation_action |
400 | This action cannot run in a rule. |
cliedesk_not_automatable |
403 | This action cannot run from automation. |
cliedesk_chain_depth |
508 | Too many rules triggered each other in a row. See the automation.max_chain_depth setting. |
cliedesk_rule_action_failed |
500 | An action added by another plugin failed. The message comes from that plugin. |
cliedesk_token_missing |
400 | A placeholder in the message has no value and no fallback. Add a fallback. |
cliedesk_unknown_step_type |
400 | This kind of step needs Cliedesk Pro. |
cliedesk_pro_required |
403 | This recipe needs Cliedesk Pro. |
cliedesk_rule_live |
422 | Pause the rule before you delete it. |
cliedesk_rule_not_live |
422 | Turn the rule on before you apply it to existing conversations. |
cliedesk_no_draft |
422 | There is no draft of this rule to publish. |
cliedesk_second_admin |
422 | Applying the rule would send many customer emails. Another admin must confirm it. |
Help center
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_template_required |
400 | Articles in this category start from a template. Choose one from Patterns → Help article templates. |
cliedesk_category_limit |
403 | You can file articles only in your help categories. |
cliedesk_not_published |
409 | Only published articles get a separate draft. Edit this one directly. |
cliedesk_draft_failed |
500 | WordPress could not create the draft. The message says why. |
cliedesk_nothing_to_capture |
422 | The conversation has no messages to turn into an article. |
cliedesk_article_failed |
422 | WordPress could not create the article. The message says why. |
Chat widget, portal and surveys (what customers can see)
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_widget_off |
404 | Chat is turned off for this site or product. |
cliedesk_origin_not_allowed |
403 | The widget is embedded on a website that is not allowed. Add the website in the widget settings (widget.origins). |
cliedesk_widget_session |
401 | The chat session ended. The visitor should reload the page. |
cliedesk_new_conversations_closed |
403 | New conversations are not open here. Visitors can still use the help center. |
cliedesk_upload_quota |
413 | The visitor sent too many MB of files today. They can try again tomorrow. |
cliedesk_otp_limit |
429 | Too many sign-in codes were asked for. Try again in an hour. |
cliedesk_otp_invalid |
403 | The code is not valid any more, or there were too many wrong tries. Ask for a new code. |
cliedesk_otp_wrong |
403 | The code is not right. The message says how many tries are left. |
cliedesk_portal_signin |
401 | The customer must sign in to see or send requests. |
cliedesk_portal_session |
401 | The portal sign-in or link has ended. Ask for a new code or sign in. |
cliedesk_portal_link |
401 | The email link has ended. Ask for a new link or sign in. |
cliedesk_portal_codes_off |
403 | Sign-in codes are turned off. Sign in, or open the link in our email. |
cliedesk_portal_read_only |
403 | The customer can read a colleague’s request but not answer it. |
cliedesk_portal_reply_instead |
409 | The request is still open: reply to it instead of starting a follow-up. |
cliedesk_portal_follow_up |
409 | The request is closed. Start a follow-up request. |
cliedesk_fields_locked |
403 | The request is resolved, so its details can no longer be changed. |
cliedesk_csat_closed |
410 | The survey has closed. |
cliedesk_csat_locked |
409 | The rating is already saved and cannot be changed. |
WooCommerce and customer accounts
| Code | Status | What it means and what to do |
|---|---|---|
cliedesk_order_not_found |
422 | The order was not found in WooCommerce. |
cliedesk_order_no_target |
422 | No order is linked to this conversation, or the customer has no open order. Link an order or pick one. |
cliedesk_order_not_customer |
422 | The order belongs to another customer, so its tracking cannot be sent in this conversation. |
cliedesk_no_shipment |
422 | The order has no shipment to send. The message says why. |
cliedesk_order_no_email |
422 | The order has no billing email address. |
cliedesk_order_no_downloads |
422 | The order has no downloads the customer may use yet. |
cliedesk_email_disabled |
422 | This WooCommerce email is turned off in WooCommerce, so it cannot be resent. |
cliedesk_email_missing |
422 | WooCommerce does not offer this email on this site. |
cliedesk_rule_email_cap |
429 | A rule already resent an email for this order in the last 24 hours. |
cliedesk_notice_promotional |
400 | Order notices are for service messages only. Remove the promotional words. |
cliedesk_portal_order_codes_off |
403 | Guest order sign-in is turned off. The customer must sign in to see orders. |
cliedesk_verify_required |
403 | The customer must verify their email address to see orders. |
cliedesk_resend_recent |
429 | This email was sent a few minutes ago. The customer should check the inbox and spam folder. |
cliedesk_email_off |
422 | This email is not available in this shop. |
cliedesk_no_downloads |
422 | The order has no downloads yet. |
cliedesk_no_product |
422 | Requests cannot be sent right now. |
cliedesk_no_account |
422 | The customer has no WordPress account. |
cliedesk_no_email |
422 | The customer has no email address, so WordPress cannot confirm the request. |
cliedesk_email_taken |
422 | Another WordPress account already uses this email address. |
cliedesk_reset_limit |
429 | Too many password reset emails this hour. Wait an hour, or ask the customer to check the spam folder. |
cliedesk_reset_failed |
422 | WordPress could not send the password reset email. The message says why. |
cliedesk_no_verification |
422 | This site has no account verification email (WordPress and WooCommerce do not have one). |
cliedesk_verification_failed |
422 | The verification email could not be sent. The message says why. |
cliedesk_privacy_request |
422 | WordPress could not create the privacy request. The message says why. |
For developers
Error answers from the REST API have this form:
{ "code": "cliedesk_invalid", "message": "Some values are not valid.", "data": { "status": 400, "fields": { "email": "…" } } }
Use the code in your code, not the message: messages are translated and can change. See also the
developer docs.