Skip to main content

Error codes

Across all of our 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
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_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_session_challenge_invalidThe provided customer challenge digits are invalid.
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 issue type and can't be changed to it.
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.
user_already_this_statusUser is already in this status can can't be changed to it.
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🧙 You haven't signed up for our early access program. Sign up at www.plain.com