This document introduces the errors that may occur when integrating Kakao Login and the solutions.
This document is intended for developers integrating Kakao Login into their apps, not for users attempting to log in with Kakao. This page is not a customer support page.
Refer to the Common error codes for other error codes.
These are common errors that may occur when calling Kakao Login REST APIs.
Error Code | Status Code | Cause | Solution |
---|---|---|---|
-101 |
400 |
If a user whose Kakao Account is not linked to the app makes a request. | Retry after linking the Kakao Account to the app through Kakao Login. |
-102 |
400 |
If requested the manual signup API with an access token of a user who is already linked to the app. | - |
-103 |
400 |
If the request has been made with a dormant or invalid Kakao Account. | - |
-201 |
400 |
If tried to retrieve or store the value of the invalid user property key. | Go to App > [Kakao Login] > [User Properties] to check registered keys, and set the request parameters to match the registered user property keys. |
-402 |
403 |
If a user has not agreed to provide the user information (scope) that the API attempts to access. | Check the required_scopes in the response body, and request additional consent to the scope. |
-406 |
401 |
If a user under age 14 calls the API from the app that does not allow the users under age 14. | - |
The list shows errors that may occur when getting an authorization code for Kakao Login.
Error Code | Cause | Solution |
---|---|---|
KOE001 |
You used the wrong request parameters. | Check the parameters in your request and use the right parameters. |
KOE002 |
You have sent your request to the wrong URL. | Check the URL you sent the request to and make a request again. |
KOE003 |
Due to a temporary error in the Kakao OAuth server, the request is not completed. | Try it again a few seconds later. If the problem persists, contact us through DevTalk. |
KOE004 |
Kakao Login is not activated. | Go to [Kakao Login] > [General] on the app management page, and set Activation setting to ON. Note: Activate Kakao Login |
KOE005 |
A user who is not registered as a team member for a test app tries to log in. | Invite the person as a team member in [App] > [Member] on the app management page. Note: Manage team members |
KOE006 |
You used an unregistered Redirect URI when requesting an authorization code. | Go to [Kakao Login] > [General] > [Redirect URI] on the app management page and register the Redirect URI. Or use the registered Redirect URI as the value of redirect_uri parameter for requesting an authorization code.Note: Set Redirect URI |
KOE007 |
You used an unregistered Logout Redirect URI when requesting logout. | Go to [Kakao Login] > [Advanced] > [Logout redirect URI] on the app management page and register the Logout Redirect URI. Or use the registered Logout Redirect URI as the value of logout_redirect_uri parameter for requesting logout.Note: Set Redirect URI |
KOE008 |
You used the wrong app key. | Go to [App] > [General] > [App keys] on the app management page and check if the app key you used is correct (One of native app key, REST API key, or JavaScript key). Note: Check your app keys |
KOE023 |
JavaScript SDK Login by presenting popup consent screen is not available | Use the Kakao.Auth.authorize function or update the JavaScript SDK to the latest version. |
KOE101 |
You used the wrong app key, or the app key has a typo. | Go to [App] > [General] > [App keys] on the app management page and check if the app key you used is correct. Note: Check your app keys |
KOE102 invalid_client |
The channel_public_id parameter is included in your request even though any Kakao Talk Channel is not connected to your app.Error message: Required PLUS_FRIENDS_ON_AGREEMENT_SUPPORTED permission |
After connecting a Kakao Talk Channel to your app, make a request again. |
KOE125 |
Your Kakao Developers app or developer account has been suspended. | Contact DevTalk. |
KOE201 invalid_request |
Unsupported response_type is included in the request for getting an authorization code.Error message: Unsupported response type: {response_type} |
Check if response_type is set to code . If not, change it to code . |
KOE202 invalid_request |
response_type is set to token .Error message: Implicit grant Required OAUTH_IMPLICIT_GRANT_SUPPORTED permission |
Change response_type to code . |
KOE203 invalid_request |
User have not agreed to 'Required consent' item on the Consent screen. Error message: All required service terms must be approved. required:{Service Term IDs} agreed:{Service Term IDs} |
If you encounter this error, contact DevTalk. |
KOE204 invalid_request |
Invalid parameters are included in your request. Error message: Invalid agreement_code: ${AGREEMENT_CODE} |
Check the valid parameters in REST API > Get authorization code and make a request again with the valid parameters. |
KOE205 invalid_scope |
(A) You used the consent items that are not specified in [Kakao Login] > [Consent Items] on the app management page as the scope parameters.(B) You passed openid to scope even though you did not enable OIDC. Invalid scope: ${SCOPE} |
(A) Exclude the scopes that are not enabled in > [Kakao Login] > [Consent Items] on the app management page from your request. (B) If you intergrate OpenID Connect (OIDC), activate OIDC, and then add openid to scope when requesting the requesting additional consent API. If you want to apply OAuth, exclude openid from scope . |
KOE207 invalid_request |
Required parameters are missing. | Check the required parameters in REST API, and request again, including the required parameters. |
access_denied |
User selected [Cancel] on the Consent screen instead of [Accept and Continue]. Error message: User denied access |
Implement the subsequent process invoked when a user cancels the login, such as redirecting the user to the main page. |
access_denied |
Users under age 15 can not use the app. Or failed to get parental consent for a user under age 15. Error message: Not allowed under age 14 |
Implement the subsequent process, such as redirecting the user to the main page. |
login_required |
The request for Auto-login (prompt=none ) failed because a user authentication has not been completed.Error message: user authentication required. |
The user must log in with the Kakao Account. |
consent_required |
The request for Auto-login (prompt=none ) failed because the authorization server requires user consent but the user did not consent.Error message: user consent required. |
The user must consent on the Consent screen when logging with Kakao. |
interaction_required |
The request for Auto-login (prompt=none ) failed because the user has not provided user's required personal information.Error message: need to collect additional personal information. |
Implement the subsequent process, such as collecting additional user information. |
The list shows errors that may occur when getting an access token for Kakao Login.
Error Code | Cause | Solution |
---|---|---|
KOE101 invalid_client |
You used the wrong app key, or the app key has a typo. Error message: Not exist client_id ${CLIENT_ID} |
Check if you pass the right app key of the app used for Kakao Login when you request an access token. Go to [App] > [General] > [App keys] on the app management page and check if the app key you used is correct. Use 'JavaScript Key' to initialize JavaScript SDK and use 'Native app key' to initialize iOS or Android SDK. Use 'REST API Key' to make a REST API call. Note: Check your app keys |
KOE009 misconfigured |
You requested an access token from the unregistered platform. Error message: invalid android_key_hash or ios_bundle_id or web_site_url |
Go to [App] > [General] > [Platform] on the app management page, and check if the platform (Web, Android, or iOS) is correctly set. Note: Register platforms |
KOE010 invalid_client |
You did not pass client_secret or passed incorrect client_secret when requesting an access token from the app that activates the Client secret feature.Error message: Bad client credentials |
If the Client secret feature is activated, you must use the client_secret parameter. Otherwise, you cannot get an access token from the authorization server. Pass the Client secret code created in [Kakao Login] > [Advanced] > [Client Secret] as a value of the client_secret parameter. |
KOE114 invalid_client |
The value of client_id is different between Get authorization code API and Get token API. |
Use the code value issued with the same app to get tokens. |
KOE237 invalid_request |
When token issuance requests exceed the rate limit Error message: token request rate limit exceeded |
See Token roles and expiration times and request token issuance only when a new token is needed. |
KOE303 invalid_grant |
You used a different redirect_uri from the one used when requesting an authorization code.Error message: Redirect URI mismatch. |
Request an access token by using the same redirect_uri passed when requesting an authorization code. |
KOE310 invalid_request unsupported_grant_type |
The value of grant_type is unsupported or missing. |
Request again with the supported value of grant_type . |
KOE319 invalid_grant |
You did not pass the refresh token when requesting to refresh tokens. Error message: refresh token is blank |
Pass the right refresh token issued when you request to renew tokens as the value of refresh_token . |
KOE320 invalid_grant |
You used the same authorization code twice or more, you used the expired authorization code, or the value of the authorization code is empty. Error message: authorization code not found for code=${AUTHORIZATION_CODE} |
You must use a new authorization code every time you request an access token. After getting a new authorization code, request an access token with the newly issued authorization code. |
KOE322 invalid_grant |
You used an expired refresh token, or the value of refresh_token is emptyError message: expired_or_invalid_refresh_token |
Get a new access token and a refresh token by using an authorization code. |
invalid_request |
You used the wrong request parameters. | Check the parameters in your request and use the right parameters. |
The list shows errors that may occur when getting an ID token information if you implement OpenID Connect for Kakao Login.
Error Code | Cause | Solution |
---|---|---|
KOE400 invalid_token |
You did not pass id_token or passed wrong format of id_token when requesting to get an ID token information.Error message: invalid id_token format |
Check if the ID token passed in your request exactly matches the ID token issued through getting tokens. |
KOE401 invalid_token |
ID token is not issued from the Kakao authorization server (kauth). Error message: invalid id_token issuer |
The ID token must be issued from Kakao authorization server. Check if the value of iss in the JWT payload is https://kauth.kakao.com . |
KOE402 invalid_token |
Failed to validate the ID token due to wrong signature value. Error message: invalid id_token |
Check if the ID token passed in your request exactly matches the ID token issued through getting tokens. |
KOE403 invalid_token |
ID token expires. Error message: id_token has expired |
Get a new ID token by requesting the Refreshing tokens API. |
The list shows errors that may occur when requesting the shipping address using Kakao SDK.
Error Code | Cause | Solution |
---|---|---|
KAE003 INVALID_PARAMETER_ERROR |
Invalid parameters are included in the request. | Request with correct parameters. |
KAE102 APP_SCOPE_ERROR |
The required consent item is not set in the app. | Set the [Shipping information] consent item by referring to Consent items. |
KAE103 PERMISSION_ERROR |
The app does not have permission for [Shipping information]. | Obtain the required permission and set the consent item, then try again. |
KAE104 APP_KEY_TYPE_ERROR |
Requested with the REST API key or the admin key. | Use one of the native app key or the JavaScript key depending on the type of Kakao SDK. |
KAE108 BLOCKED_APP_ERROR |
Your Kakao Developers app or developer account has been suspended. | Contact DevTalk. |
KAE201 AUTH_ERROR |
The access token is not valid. | Reissue the access token and request again. |
KAE202 NOT_REGISTERED_USER_ERROR |
The user has not linked to the app. | Request Manual signup API and request again. |
KAE203 INVALID_SCOPE_ERROR |
The user exited the shipping address picker during the consent. | Request again or try Request additional consent. |
KAE205 LOGIN_REQUIRED_ERROR |
The user's Kakao account has been protected or banned. | Guide the user according to the error code. |
The following are errors that may occur when requesting Kakao Login using the Android, iOS, or Flutter SDK.
These are authentication errors that may occur when requesting Kakao Login.
Error Code | Cause | Solution |
---|---|---|
InvalidRequest |
The API request is not valid. | Check if the parameter you requested is correct by referring to the development guide, and then make a request again with the valid parameters. |
InvalidClient |
You used the wrong app key. | For Android or iOS SDK, check that you used the correct Native app key from App keys. For JavaScript SDK, use the JavaScript key. |
InvalidScope |
You used the scopes that are not specified in [Kakao Login] > [Consent Items] on the app management page as the scope parameters. |
Check if you used correct scope ID, or enable the desired scope in [Kakao Login] > [Consent Items] on the app management page. |
InvalidGrant |
Your refresh token has expired, or refresh token does not exist. | Obtain new tokens through the login process. |
Misconfigured |
The platform information is incorrect. | Verify your platform settings in [App] > [General] > [Platform] on the app management page are correct and that the registered key hash values are valid. |
Unauthorized |
You have no permission to request the API. | Kakao Login API does not require any permission to call. If you encounter this error, contact us through DevTalk. |
ServerError |
Internal server error occurs. | Try it again a few seconds later. If the problem persists, contact us through DevTalk. |
Unknown |
Unknown error occurs. | If you encounter this error, contact us through DevTalk. |
These are client errors that may occur internally within the SDK.
Error Code | Cause | Solution |
---|---|---|
TokenNotFound |
There is no token that can be used to request API. | Obtain tokens through the login process. |
NotSupported |
Kakao Talk is not installed or a browser is not available on a user's device to proceed Kakao Login. | Check if there is an available browser on the user's device and then request Kakao Login, or guide that Kakao Login is not available in the current environment. |
BadParameter |
You request APIs with the wrong parameter. | Check if the parameter you requested is correct by referring to the development guide, and then make a request again with the valid parameters. |
Cancelled |
User canceled the login request. | Implement the subsequent process when the user cancels the login, such as redirecting the user to the main page. |
IllegalState |
This is an abnormal state. | If you encounter this error, contact us through DevTalk. |
Unknown |
Unknown error occurs. | If you encounter this error, contact us through DevTalk. |