Skip to main content

Error codes

Across all of the APIs when you run a mutation you will be able to query for a field called code (see Core API error handling).

General errors

CodeDescription
input_validationThe provided input failed validation. See field errors for details.
forbiddenPermission denied.
internalAn internal server error. The request should be retried. If the error persists, please get in touch at help@plain.com
not_foundAn entity referenced in the request is not found. For example trying to create an issue for a customer that doesn't exist.
not_yet_implementedThe API is not yet implemented. If you think it should already be implemented please get in touch at help@plain.com

Specific errors

CodeDescription
action_not_allowed_in_demo_workspaceThe performed action is not allowed for a demo workspace.
attachment_file_size_too_largeThe attachment being uploaded exceeds the limit (6MB)
attachment_file_type_not_allowedThe file type is not allowed. Banned file types: bat, bin, chm, com, cpl, crt, exe, hlp, hta, inf, ins, isp, jse, lnk, mdb, msc, msi, msp, mst, pcd, pif, reg, scr, sct, shs, vba, vbe, vbs, wsf, wsh, wsl
attachment_not_uploadedThe attachment ID being referenced was created, but not uploaded. Upload the attachment and try again.
cannot_assign_customer_to_userThe user that the customer is being assigned to doesn't have a role that is capable of helping the customer. Assign the "Help customers" role to the user and try again.
cannot_remove_only_admin_userCan't remove the last user with an admin role. Assign another user the admin role as well and try again.
cannot_reply_to_unsent_emailThe email being replied to has yet to be sent. Wait until the email is sent and try again.
cannot_update_fieldSome custom timeline entry fields can't be updated but only created (such as timestamp). Delete the custom timeline entry and recreate it if you want to update these fields.
customer_already_exists_with_emailA customer with this email already exists in the workspace and can't be created again.
customer_already_exists_with_external_idA customer with this external id already exists in the workspace and can't be created again.
customer_already_is_statusAn attempt to change a customer to a status that the customer already is was made.
customer_already_marked_as_spamThe customer has already been marked as spam and can't be marked as spam again.
customer_card_config_key_already_existsA customer card config with this key already exists in the workspace and can't be created again.
customer_is_marked_as_spamAn action was attempted but cannot be performed as the customer is marked as spam.
customer_is_not_marked_as_spamAn action was attempted but cannot be performed as it requires the customer to be marked as spam.
customer_status_cannot_be_changed_to_idleThe customer's status cannot be changed to idle, see error for reason.
customer_jwt_expiredThe customer's JWT has expired. Recreate the JWT and try again.
customer_jwt_invalidThe customer's JWT is in an invalid format. Fix the contents of the JWT and try again.
customer_group_has_membershipsThe customer group has memberships and can't be deleted.
customer_group_key_already_existsA customer group with this key already exists in the workspace and can't be created again.
customer_session_challenge_invalidThe provided customer challenge digits are invalid.
domain_alreay_takenThe domain in the support email address is already taken by a different workspace. Currently only one workspace can use a domain. If this is an issue, please contact help@plain.com.
domain_cannot_be_publicThe domain in the support email address is considered public and cannot be used.
insufficient_permissionsThe user doesn't have the required permissions to create an API key that has more permissions than the user itself.
issue_already_openIssue is already in an open state and can't be opened.
issue_already_resolvedIssue is already in a resolved state and can't be resolved.
issue_already_this_issue_typeIssue is already the provided issue type and can't be changed to it.
issue_already_this_priorityIssue is already the provided priority and can't be changed to it.
linear_issue_already_linked_to_issueIssue is already linked to the provided Linear issue and cannot be linked again.
linear_organisation_cannot_be_authorisedThe Linear OAuth flow failed. Detailed reasoning is included in the error.
mark_as_read_user_must_be_assigned_to_customerThe user trying to mark the timeline as read isn't the user that is assigned to the customer. Assign the user to the customer and try again.
roles_at_least_one_admin_requiredCan't remove the role for the user as it would leave no users with the admin role in the workspace. Assign another user the admin role as well and try again.
too_many_customer_card_configsThe maximum number of customer card configs has been reached for this workspace.
too_many_webhook_targetsThe maximum number of webhook targets has been reached for this webhook.
user_account_already_existsA User Account already exists for the current user.
user_already_this_statusUser is already in this status can can't be changed to it.
user_linear_integration_not_foundA User does not have a Linear integration setup.
workspace_app_key_not_foundThe workspace app key can't be found.
workspace_app_public_key_requiredA workspace app key must be provided.
workspace_app_requiredA workspace app must be provided.
workspace_chat_not_enabledChat is disabled so chat messages can't be sent.
workspace_email_domain_not_configuredEmail domain settings aren't fully configured yet. Double check the email settings page.
workspace_email_domain_not_setA support email is not configured in the email settings. Double check the email settings page.
workspace_email_forwarding_not_configuredEmail forwarding settings aren't fully configured yet. Double check the email settings page.
workspace_email_not_enabledEmail is not enabled so emails can't be sent.
workspace_invite_already_acceptedThe invite has already been accepted by the user.
workspace_invite_email_already_invitedThe email trying to be invited already has an outstanding invite.
workspace_invite_email_already_member_of_workspaceThe email trying to be invited is already a member of the workspace.
workspace_invite_email_doesnt_matchThe user trying to accept the invite has a different email than the invite is for.
workspace_support_email_address_conflictThe entered support email address is already taken by a different workspace.
you_shall_not_pass🧙 User account signup is currently blocked.