Kakao User API

Logged-in user information, scopes, and account linking.

OpenAPI Specification

kakao-user-api-openapi.yml Raw ↑
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.