openapi: 3.1.0 info: title: Kakao Login REST OAuth User API description: REST API for Kakao Login (OAuth 2.0 / OpenID Connect), Kakao user management, consent and service-terms management, and OIDC discovery. Apps authenticate users with Kakao OAuth and then call the kapi.kakao.com user endpoints with a Bearer access token or, for app-level operations, the Kakao app Admin Key. version: 2.0.0 termsOfService: https://www.kakao.com/policy/terms contact: name: Kakao Developers url: https://developers.kakao.com/ license: name: Proprietary url: https://www.kakao.com/policy/terms servers: - url: https://kauth.kakao.com description: Kakao OAuth (kauth) endpoint - url: https://kapi.kakao.com description: Kakao API (kapi) endpoint tags: - name: User description: Logged-in user information, scopes, and account linking. paths: /v2/user/me: get: operationId: getUserMe summary: Retrieve current user info description: Return profile and account information for the access-token holder. tags: - User servers: - url: https://kapi.kakao.com security: - bearerAuth: [] responses: '200': description: User information. content: application/json: schema: type: object post: operationId: getUserMePost summary: Retrieve current user info (POST) description: POST variant of /v2/user/me that accepts a form-encoded property filter. tags: - User servers: - url: https://kapi.kakao.com security: - bearerAuth: [] requestBody: required: false content: application/x-www-form-urlencoded: schema: type: object properties: property_keys: type: string secure_resource: type: boolean responses: '200': description: User information. content: application/json: schema: type: object /v2/app/users: get: operationId: listAppUsers summary: Retrieve multiple users' info description: Return profile and account information for multiple users (Admin Key required). tags: - User servers: - url: https://kapi.kakao.com security: - adminKey: [] parameters: - name: target_ids in: query required: true schema: type: string responses: '200': description: User information list. content: application/json: schema: type: object /v1/user/logout: post: operationId: userLogout summary: Invalidate user tokens description: Invalidate the current user's Kakao tokens issued for this app. tags: - User servers: - url: https://kapi.kakao.com security: - bearerAuth: [] responses: '200': description: Logout result. content: application/json: schema: type: object /v1/user/unlink: post: operationId: userUnlink summary: Unlink user from the app description: Unlink the user's Kakao account from the calling app. tags: - User servers: - url: https://kapi.kakao.com security: - bearerAuth: [] - adminKey: [] responses: '200': description: Unlink result. content: application/json: schema: type: object /v2/user/scopes: get: operationId: getUserScopes summary: Check user consent scopes description: Return the list of consents currently granted by the user. tags: - User servers: - url: https://kapi.kakao.com security: - bearerAuth: [] responses: '200': description: Scope payload. content: application/json: schema: type: object /v2/user/revoke/scopes: post: operationId: revokeUserScopes summary: Revoke specific user scopes description: Revoke one or more consents granted by the user. tags: - User servers: - url: https://kapi.kakao.com security: - bearerAuth: [] requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: scopes: type: string required: - scopes responses: '200': description: Revoke result. content: application/json: schema: type: object components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: Kakao access token description: Kakao access token issued by /oauth/token, sent as "Bearer {access_token}". adminKey: type: apiKey in: header name: Authorization description: Kakao app Admin Key sent as "KakaoAK {admin_key}" for server-to-server calls.