For the complete documentation index, see llms.txt. This page is also available as Markdown.

토스 로그인

AccessToken 받기

post

Authorization Code로 Access Token과 Refresh Token을 발급하는 API예요. 발급된 Access Token의 유효 시간은 1시간이에요.

비즈니스 오류 코드

아래 오류는 HTTP 200과 resultType: FAIL로 응답해요.

errorCode
설명

4050

인증서버에 등록된 미니앱이 아닙니다.

4095

요청 한도를 초과했습니다. 잠시 후 다시 시도해주세요.

이 API는 연동된 내부 시스템의 오류 코드를 그대로 전달할 수 있어요. 문서화되지 않은 errorCode는 실패로 처리하고 reason 메시지를 참고하세요.

요청 한도: 앱당 분당 3,000회

Authorizations
mutualTLS

파트너에게 발급된 클라이언트 인증서 기반 mTLS 인증이에요. 인증서의 CN으로 미니앱을 식별해요. 인증서 발급·관리 방법은 서버 API 이용하기 문서를 참고하세요.

Body

OAuth2 토큰 발급을 위한 요청 본문이에요.

authorizationCodestringRequired

OAuth2 인증 과정을 통해 발급받은 Authorization Code예요. 이 코드는 사용자 인증을 완료한 뒤 리디렉션 URL에 쿼리 파라미터로 전달돼요.

Example: SplxlOBeZQQYbYS6WxSbIA
referrerstringRequired

사용자가 앱에 진입하게 된 유입 경로예요. 예를 들어 딥링크, 푸시 알림, 앱 내 배너 등 어떤 경로로 이 기능을 사용했는지를 의미해요.

Example: deeplink
Responses
200

요청에 성공해서 발급된 토큰 정보가 돌아와요.

application/json
or
post/api-partner/v1/apps-in-toss/user/oauth2/generate-token
POST /api-partner/v1/apps-in-toss/user/oauth2/generate-token HTTP/1.1
Host: apps-in-toss-api.toss.im
Content-Type: application/json

{
  "authorizationCode": "SplxlOBeZQQYbYS6WxSbIA",
  "referrer": "deeplink"
}
{
  "resultType": "SUCCESS",
  "success": {
    "accessToken": "ya29.A0ARrdaM9bZxZJ...",
    "expiresIn": 3600,
    "refreshToken": "1//0gdfg23rF9sds...",
    "scope": "profile message:send",
    "tokenType": "Bearer"
  }
}

사용자 정보 받기

get

Access Token을 사용해서 로그인된 사용자의 정보를 조회하는 API예요.

비즈니스 오류 코드

아래 오류는 HTTP 200과 resultType: FAIL로 응답해요.

errorCode
설명

4010

인증 정보를 찾을 수 없어요.

4095

요청 한도를 초과했습니다. 잠시 후 다시 시도해주세요.

이 API는 연동된 내부 시스템의 오류 코드를 그대로 전달할 수 있어요. 문서화되지 않은 errorCode는 실패로 처리하고 reason 메시지를 참고하세요.

요청 한도: 앱당 분당 3,000회

Authorizations
mutualTLS

파트너에게 발급된 클라이언트 인증서 기반 mTLS 인증이에요. 인증서의 CN으로 미니앱을 식별해요. 인증서 발급·관리 방법은 서버 API 이용하기 문서를 참고하세요.

Header parameters
AuthorizationstringRequired

Bearer 형식의 Access Token이 담긴 Authorization 헤더 값이에요. Access Token은 AccessToken 받기 API로 발급받아요.

Example: Bearer ya29.A0ARrdaM9bZxZJ...
Responses
200

요청에 성공해서 조회한 사용자 프로필 정보가 응답으로 돌아와요. 일부 항목은 사용자 동의 여부에 따라 null일 수 있어요.

application/json
or
get/api-partner/v1/apps-in-toss/user/oauth2/login-me
GET /api-partner/v1/apps-in-toss/user/oauth2/login-me HTTP/1.1
Host: apps-in-toss-api.toss.im
Authorization: Bearer {accessToken}
{
  "resultType": "SUCCESS",
  "success": {
    "agreedTerms": [
      "tos_terms_1",
      "privacy_policy"
    ],
    "birthday": "19900101",
    "callingCode": "82",
    "ci": "aaf7cb53...",
    "di": "b712df83...",
    "email": "user@example.com",
    "gender": "M",
    "name": "홍길동",
    "nationality": "KR",
    "phone": "1012345678",
    "scope": "profile message:send",
    "userKey": 123456789
  }
}

AccessToken 재발급 받기

post

Refresh Token으로 Access Token을 다시 발급받는 API예요. Refresh Token의 유효 시간은 14일이에요.

비즈니스 오류 코드

아래 오류는 HTTP 200과 resultType: FAIL로 응답해요.

errorCode
설명

4050

인증서버에 등록된 미니앱이 아닙니다.

4095

요청 한도를 초과했습니다. 잠시 후 다시 시도해주세요.

이 API는 연동된 내부 시스템의 오류 코드를 그대로 전달할 수 있어요. 문서화되지 않은 errorCode는 실패로 처리하고 reason 메시지를 참고하세요.

요청 한도: 앱당 분당 3,000회

Authorizations
mutualTLS

파트너에게 발급된 클라이언트 인증서 기반 mTLS 인증이에요. 인증서의 CN으로 미니앱을 식별해요. 인증서 발급·관리 방법은 서버 API 이용하기 문서를 참고하세요.

Body

기존에 발급된 refresh token을 사용해 access token을 재발급받는 요청이에요.

refreshTokenstringRequired

기존에 발급된 refresh token이에요. 이 토큰으로 새 access token을 요청할 수 있어요.

Example: 1//0gdfg23rF9sds...
Responses
200

요청에 성공해서 재발급된 Access Token 관련 정보가 돌아와요.

application/json
or
post/api-partner/v1/apps-in-toss/user/oauth2/refresh-token
POST /api-partner/v1/apps-in-toss/user/oauth2/refresh-token HTTP/1.1
Host: apps-in-toss-api.toss.im
Content-Type: application/json

{
  "refreshToken": "1//0gdfg23rF9sds..."
}
{
  "resultType": "SUCCESS",
  "success": {
    "accessToken": "ya29.A0ARrdaM9bZxZJ...",
    "expiresIn": 3600,
    "refreshToken": "1//0gdfg23rF9sds...",
    "scope": "profile message:send",
    "tokenType": "Bearer"
  }
}

AccessToken으로 로그인 연결 끊기

post

Authorization 헤더에 있는 Access Token으로 해당 사용자의 연결을 해제하는 API예요.

비즈니스 오류 코드

아래 오류는 HTTP 200과 resultType: FAIL로 응답해요.

errorCode
설명

4050

인증서버에 등록된 미니앱이 아닙니다.

4010

인증 정보를 찾을 수 없어요.

4095

요청 한도를 초과했습니다. 잠시 후 다시 시도해주세요.

이 API는 연동된 내부 시스템의 오류 코드를 그대로 전달할 수 있어요. 문서화되지 않은 errorCode는 실패로 처리하고 reason 메시지를 참고하세요.

요청 한도: 앱당 분당 3,000회

Authorizations
mutualTLS

파트너에게 발급된 클라이언트 인증서 기반 mTLS 인증이에요. 인증서의 CN으로 미니앱을 식별해요. 인증서 발급·관리 방법은 서버 API 이용하기 문서를 참고하세요.

Header parameters
AuthorizationstringRequired

사용자의 Access Token이 담긴 Authorization 헤더 값이에요. Access Token은 AccessToken 받기 API로 발급받아요.

Example: Bearer ya29.A0ARrdaM9bZxZJ...
Responses
200

요청에 성공해서 Access Token에 해당하는 사용자의 연결을 성공적으로 해제했어요.

application/json
or
post/api-partner/v1/apps-in-toss/user/oauth2/access/remove-by-access-token
POST /api-partner/v1/apps-in-toss/user/oauth2/access/remove-by-access-token HTTP/1.1
Host: apps-in-toss-api.toss.im
Authorization: Bearer {accessToken}
{
  "resultType": "SUCCESS",
  "success": {
    "userKey": 123456789
  }
}

userKey로 로그인 연결 끊기

post

userKey로 해당 사용자의 로그인 연결을 해제하는 API예요. 응답에는 연결이 해제된 사용자의 userKey만 포함돼요.

비즈니스 오류 코드

아래 오류는 HTTP 200과 resultType: FAIL로 응답해요.

errorCode
설명

4050

인증서버에 등록된 미니앱이 아닙니다.

4095

요청 한도를 초과했습니다. 잠시 후 다시 시도해주세요.

이 API는 연동된 내부 시스템의 오류 코드를 그대로 전달할 수 있어요. 문서화되지 않은 errorCode는 실패로 처리하고 reason 메시지를 참고하세요.

요청 한도: 앱당 분당 3,000회

Authorizations
mutualTLS

파트너에게 발급된 클라이언트 인증서 기반 mTLS 인증이에요. 인증서의 CN으로 미니앱을 식별해요. 인증서 발급·관리 방법은 서버 API 이용하기 문서를 참고하세요.

Body

UserKey로 OAuth2 사용자 연결 해제 요청

userKeyinteger · int64Required

연결을 해제할 사용자의 고유 식별자예요. 내부 시스템에서 사용자를 식별할 때 사용해요.

Example: 123456789
Responses
200

요청에 성공해서 userKey를 기반으로 연결이 해제된 사용자의 userKey가 돌아와요.

application/json
or
post/api-partner/v1/apps-in-toss/user/oauth2/access/remove-by-user-key
POST /api-partner/v1/apps-in-toss/user/oauth2/access/remove-by-user-key HTTP/1.1
Host: apps-in-toss-api.toss.im
Content-Type: application/json

{
  "userKey": 123456789
}
{
  "resultType": "SUCCESS",
  "success": {
    "userKey": 123456789
  }
}

도움이 되었나요?