> For the complete documentation index, see [llms.txt](https://docs.archisketch.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.archisketch.com/guide/dev-kr/api-sdk/api/undefined.md).

# 인증

## OAuth SSO 로그인

> Client Credentials로 SSO 로그인을 합니다.

```json
{"openapi":"3.1.0","info":{"title":"Open API","version":"snapshot"},"tags":[{"name":"인증"}],"servers":[{"url":"https://openapi.archisketch.com"}],"security":[],"paths":{"/api/v1/oauth/login":{"post":{"tags":["인증"],"summary":"OAuth SSO 로그인","description":"Client Credentials로 SSO 로그인을 합니다.","operationId":"ssoLogin","requestBody":{"description":"SSO 로그인 요청","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiResponseOAuthResponse"}}}}}}}},"components":{"schemas":{"LoginRequest":{"type":"object","properties":{"accessKey":{"type":"string","description":"발급받은 accessKey"},"verifyToken":{"type":"string","description":"파트너사 인증 token"}}},"ApiResponseOAuthResponse":{"type":"object","properties":{"result":{"type":"string","description":"응답 결과 타입","enum":["SUCCESS","FAIL"]},"data":{"$ref":"#/components/schemas/OAuthResponse","description":"응답 데이터"},"error":{"$ref":"#/components/schemas/ErrorMessage","description":"에러 응답, result FAIL 시 제공"}},"required":["result"]},"OAuthResponse":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/OAuthUserResponse","description":"OAuth 사용자 정보"},"token":{"$ref":"#/components/schemas/OAuthTokenResponse","description":"OAuth 토큰"}},"required":["token","user"]},"OAuthUserResponse":{"type":"object","properties":{"id":{"type":"string","description":"사용자 ID"},"origin":{"type":"string","description":"파트너사 영어 이름"},"uid":{"type":"string","description":"파트너사 사용자 ID"},"name":{"type":"string","description":"사용자 이름"},"imageUrl":{"type":"string","description":"프로필 이미지 URL"},"email":{"type":"string","description":"이메일"},"role":{"type":"string","description":"역할 (USER: 일반 사용자, DESIGNER: 디자이너, MANAGER: 매니저, ADMIN: 관리자)","enum":["USER","DESIGNER","MANAGER","ADMIN"]},"categoryId":{"type":"string","description":"카테고리 ID"},"createdAt":{"type":"string","format":"date-time","description":"생성일시"},"updatedAt":{"type":"string","format":"date-time","description":"수정일시"}},"required":["createdAt","email","id","origin","role","uid","updatedAt"]},"OAuthTokenResponse":{"type":"object","properties":{"access":{"type":"string","description":"액세스 토큰"},"refresh":{"type":"string","description":"리프레시 토큰"}},"required":["access","refresh"]},"ErrorMessage":{"type":"object","properties":{"errorCode":{"type":"string","description":"에러 코드","enum":["INTERNAL_ERROR","BAD_REQUEST","NOT_FOUND","CONFLICT","FORBIDDEN"]},"message":{"type":"string","description":"에러 메시지"}}}}}}
```
