# Auth

인증 관련 API

## 로그인

> Privy 토큰을 사용하여 로그인합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Auth","description":"인증 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/auth/sign-in":{"post":{"tags":["Auth"],"summary":"로그인","description":"Privy 토큰을 사용하여 로그인합니다","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["privyAccessToken","privyIdToken"],"properties":{"privyAccessToken":{"type":"string","description":"Privy Access Token"},"privyIdToken":{"type":"string","description":"Privy ID Token"}}}}}},"responses":{"200":{"description":"로그인 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"status":{"type":"string","enum":["EXISTING","USER_CREATED"]},"accessToken":{"type":"string"},"uuid":{"type":"string"}}}}}}}},"400":{"description":"잘못된 요청"},"401":{"description":"인증 실패"}}}}}}
```


# User

사용자 관련 API

## 사용자 정보 조회

> UUID로 사용자 정보를 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"User","description":"사용자 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/user/me":{"post":{"tags":["User"],"summary":"사용자 정보 조회","description":"UUID로 사용자 정보를 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID","default":"40115395-195e-4c14-b5f4-261f13da353e"}}}}}},"responses":{"200":{"description":"사용자 정보 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/User"}}}}}},"401":{"description":"인증 실패"},"404":{"description":"사용자를 찾을 수 없음"}}}}},"components":{"schemas":{"User":{"type":"object","properties":{"id":{"type":"number"},"uuid":{"type":"string"},"email":{"type":"string"},"nickname":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}}}}}
```

## 회원 삭제

> UUID로 사용자 계정을 삭제합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"User","description":"사용자 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/user/delete":{"post":{"tags":["User"],"summary":"회원 삭제","description":"UUID로 사용자 계정을 삭제합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID","default":"40115395-195e-4c14-b5f4-261f13da353e"}}}}}},"responses":{"200":{"description":"회원 삭제 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}}}}}},"401":{"description":"인증 실패"},"404":{"description":"사용자를 찾을 수 없음"}}}}}}
```

## 사용자 존재 여부 확인

> Privy DID로 사용자 존재 여부를 확인합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"User","description":"사용자 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/user/is-exists":{"post":{"tags":["User"],"summary":"사용자 존재 여부 확인","description":"Privy DID로 사용자 존재 여부를 확인합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["privyDid"],"properties":{"privyDid":{"type":"string","description":"확인할 Privy DID"}}}}}},"responses":{"200":{"description":"조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"exists":{"type":"boolean"}}}}}}}},"401":{"description":"인증 실패"}}}}}}
```

## 닉네임 유효성 검사

> 닉네임 사용 가능 여부를 확인합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"User","description":"사용자 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/user/nickname/validate":{"post":{"tags":["User"],"summary":"닉네임 유효성 검사","description":"닉네임 사용 가능 여부를 확인합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["nickname"],"properties":{"nickname":{"type":"string","description":"검증할 닉네임"}}}}}},"responses":{"200":{"description":"검증 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"isValid":{"type":"boolean"},"message":{"type":"string"}}}}}}}},"401":{"description":"인증 실패"}}}}}}
```

## 닉네임 변경

> UUID로 사용자의 닉네임을 변경합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"User","description":"사용자 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/user/nickname/modify":{"post":{"tags":["User"],"summary":"닉네임 변경","description":"UUID로 사용자의 닉네임을 변경합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid","nickname"],"properties":{"uuid":{"type":"string","description":"사용자 UUID"},"nickname":{"type":"string","description":"새로운 닉네임"}}}}}},"responses":{"200":{"description":"닉네임 변경 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}}}}}},"400":{"description":"잘못된 요청"},"401":{"description":"인증 실패"},"404":{"description":"사용자를 찾을 수 없음"}}}}}}
```


# Token

토큰 관련 API

## 지원 토큰 목록

> 시스템에서 지원하는 모든 토큰 목록을 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Token","description":"토큰 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/token/supported":{"post":{"tags":["Token"],"summary":"지원 토큰 목록","description":"시스템에서 지원하는 모든 토큰 목록을 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"responses":{"200":{"description":"토큰 목록 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Token"}}}}}}},"401":{"description":"인증 실패"}}}}},"components":{"schemas":{"Token":{"type":"object","properties":{"id":{"type":"number"},"symbol":{"type":"string"},"name":{"type":"string"},"decimals":{"type":"number"},"cmcId":{"type":"number"},"coingeckoId":{"type":"string"},"binanceSymbol":{"type":"string"},"isActive":{"type":"boolean"}}}}}}
```

## 토큰 가격 조회

> 특정 토큰의 현재 가격을 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Token","description":"토큰 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/token/token-price/{symbol}":{"post":{"tags":["Token"],"summary":"토큰 가격 조회","description":"특정 토큰의 현재 가격을 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"},{"in":"path","name":"symbol","required":true,"schema":{"type":"string"},"description":"토큰 심볼"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"quote":{"type":"string","default":"USDT","description":"기준 통화"},"invalidate":{"type":"boolean","default":false,"description":"캐시 무효화 여부"}}}}}},"responses":{"200":{"description":"가격 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"symbol":{"type":"string"},"price":{"type":"string"},"quote":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"}}}}}}}},"401":{"description":"인증 실패"},"404":{"description":"토큰을 찾을 수 없음"}}}}}}
```

## 사용자 토큰 잔액 조회

> UUID로 사용자의 토큰 잔액을 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Token","description":"토큰 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/token/user-balances":{"post":{"tags":["Token"],"summary":"사용자 토큰 잔액 조회","description":"UUID로 사용자의 토큰 잔액을 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID","default":"40115395-195e-4c14-b5f4-261f13da353e"}}}}}},"responses":{"200":{"description":"잔액 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"balance":{"type":"string"},"decimals":{"type":"number"}}}}}}}}},"401":{"description":"인증 실패"},"404":{"description":"사용자를 찾을 수 없음"}}}}}}
```

## 토큰 가격 캔들 차트

> 특정 토큰의 가격 캔들 차트 데이터를 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Token","description":"토큰 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/token/token-price-candles/{symbol}":{"post":{"tags":["Token"],"summary":"토큰 가격 캔들 차트","description":"특정 토큰의 가격 캔들 차트 데이터를 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"},{"in":"path","name":"symbol","required":true,"schema":{"type":"string"},"description":"토큰 심볼"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["interval"],"properties":{"interval":{"type":"string","enum":["1m","5m","15m","30m","1h","4h","1d","1w","1M"],"description":"캔들 간격"},"limit":{"type":"integer","minimum":1,"maximum":1000,"default":100,"description":"반환할 캔들 개수"},"quote":{"type":"string","default":"USDT","description":"기준 통화"}}}}}},"responses":{"200":{"description":"캔들 데이터 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Candle"}}}}}}},"401":{"description":"인증 실패"},"404":{"description":"토큰을 찾을 수 없음"}}}}},"components":{"schemas":{"Candle":{"type":"object","properties":{"time":{"type":"number","description":"Unix timestamp in milliseconds"},"open":{"type":"string"},"high":{"type":"string"},"low":{"type":"string"},"close":{"type":"string"},"volume":{"type":"string"}}}}}}
```


# Exchange

포인트 교환 관련 API

## 포인트를 코인으로 전환

> 포인트를 암호화폐로 전환합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Exchange","description":"포인트 교환 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/exchange/convert-point-to-coin":{"post":{"tags":["Exchange"],"summary":"포인트를 코인으로 전환","description":"포인트를 암호화폐로 전환합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid","symbol","cexType","pointAmount","pointType"],"properties":{"uuid":{"type":"string","description":"사용자 UUID"},"symbol":{"type":"string","description":"토큰 심볼"},"cexType":{"type":"string","description":"거래소 타입"},"pointAmount":{"type":"string","description":"포인트 수량"},"pointType":{"type":"string","description":"포인트 타입"}}}}}},"responses":{"200":{"description":"전환 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"orderId":{"type":"string"}}}}}}}},"401":{"description":"인증 실패"}}}}}}
```

## 전환 견적 조회

> 포인트를 코인으로 전환할 때의 예상 견적을 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Exchange","description":"포인트 교환 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/exchange/convert-quote":{"post":{"tags":["Exchange"],"summary":"전환 견적 조회","description":"포인트를 코인으로 전환할 때의 예상 견적을 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["symbol","cexType","pointAmount","pointType"],"properties":{"symbol":{"type":"string","description":"토큰 심볼"},"cexType":{"type":"string","description":"거래소 타입"},"pointAmount":{"type":"string","description":"포인트 수량"},"pointType":{"type":"string","description":"포인트 타입"}}}}}},"responses":{"200":{"description":"견적 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"fromAsset":{"type":"string"},"toAsset":{"type":"string"},"fromAmount":{"type":"string"},"toAmount":{"type":"string"},"ratio":{"type":"string"},"price":{"type":"string"}}}}}}}},"401":{"description":"인증 실패"}}}}}}
```

## 전환 내역 조회

> 사용자의 포인트 전환 내역을 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Exchange","description":"포인트 교환 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/exchange/convert-quote-history":{"post":{"tags":["Exchange"],"summary":"전환 내역 조회","description":"사용자의 포인트 전환 내역을 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID"},"since":{"type":"number","description":"시작 시간 (Unix timestamp, 0 = 전체)"},"until":{"type":"number","description":"종료 시간 (Unix timestamp, 0 = 전체)"}}}}}},"responses":{"200":{"description":"내역 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"orderId":{"type":"string"},"pointType":{"type":"string"},"pointAmount":{"type":"string"},"fromAsset":{"type":"string"},"toAsset":{"type":"string"},"fromAmount":{"type":"string"},"toAmount":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}}}}}}}},"401":{"description":"인증 실패"}}}}}}
```


# Trading

거래 관련 API

## 출금 요청

> 암호화폐 출금을 요청합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Trading","description":"거래 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/trading/withdraw":{"post":{"tags":["Trading"],"summary":"출금 요청","description":"암호화폐 출금을 요청합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid","coin","cexType","amount","address","network"],"properties":{"uuid":{"type":"string","description":"사용자 UUID"},"coin":{"type":"string","description":"코인 심볼"},"cexType":{"type":"string","description":"거래소 타입"},"amount":{"type":"string","description":"출금 수량"},"address":{"type":"string","description":"출금 주소"},"network":{"type":"string","description":"네트워크"}}}}}},"responses":{"200":{"description":"출금 요청 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"withdrawId":{"type":"string"},"status":{"type":"string"}}}}}}}},"401":{"description":"인증 실패"}}}}}}
```

## 출금 내역 조회

> 사용자의 출금 내역을 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Trading","description":"거래 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/trading/withdraw-history":{"post":{"tags":["Trading"],"summary":"출금 내역 조회","description":"사용자의 출금 내역을 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID"},"since":{"type":"number","description":"시작 시간 (Unix timestamp, 0 = 전체)"},"until":{"type":"number","description":"종료 시간 (Unix timestamp, 0 = 전체)"}}}}}},"responses":{"200":{"description":"내역 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"withdrawId":{"type":"string"},"coin":{"type":"string"},"amount":{"type":"string"},"address":{"type":"string"},"network":{"type":"string"},"status":{"type":"string"},"txHash":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}}}}}}}},"401":{"description":"인증 실패"}}}}}}
```


# Notification

알림 관련 API

## 알림 목록 조회

> UUID로 사용자의 알림 목록을 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Notification","description":"알림 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/notifications":{"post":{"tags":["Notification"],"summary":"알림 목록 조회","description":"UUID로 사용자의 알림 목록을 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID"},"onlyUnread":{"type":"boolean","default":false,"description":"읽지 않은 알림만 조회"},"page":{"type":"integer","minimum":1,"default":1,"description":"페이지 번호"},"pageSize":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"페이지당 항목 수"}}}}}},"responses":{"200":{"description":"알림 목록 조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"notifications":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}},"totalCount":{"type":"number"},"page":{"type":"number"},"pageSize":{"type":"number"}}}}}}}},"401":{"description":"인증 실패"},"404":{"description":"사용자를 찾을 수 없음"}}}}},"components":{"schemas":{"Notification":{"type":"object","properties":{"id":{"type":"number"},"kind":{"type":"string","enum":["TRADE_COMPLETED","DEPOSIT_CONFIRMED","WITHDRAWAL_COMPLETED","SYSTEM_NOTICE"]},"refType":{"type":"string"},"refId":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"readAt":{"type":"string","format":"date-time","nullable":true}}}}}}
```

## 읽지 않은 알림 개수

> UUID로 읽지 않은 알림의 개수를 조회합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Notification","description":"알림 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/notifications/unread-count":{"post":{"tags":["Notification"],"summary":"읽지 않은 알림 개수","description":"UUID로 읽지 않은 알림의 개수를 조회합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID","default":"40115395-195e-4c14-b5f4-261f13da353e"}}}}}},"responses":{"200":{"description":"조회 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"unreadCount":{"type":"number"}}}}}}}},"401":{"description":"인증 실패"},"404":{"description":"사용자를 찾을 수 없음"}}}}}}
```

## 알림 읽음 처리

> UUID로 특정 알림을 읽음으로 표시합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Notification","description":"알림 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/notifications/{id}/read":{"post":{"tags":["Notification"],"summary":"알림 읽음 처리","description":"UUID로 특정 알림을 읽음으로 표시합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"},{"in":"path","name":"id","required":true,"schema":{"type":"integer"},"description":"알림 ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID","default":"40115395-195e-4c14-b5f4-261f13da353e"}}}}}},"responses":{"200":{"description":"읽음 처리 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}}}}}},"401":{"description":"인증 실패"},"404":{"description":"알림을 찾을 수 없음"}}}}}}
```

## 모든 알림 읽음 처리

> UUID로 사용자의 모든 알림을 읽음으로 표시합니다

```json
{"openapi":"3.0.0","info":{"title":"Tikkly B2C API","version":"0.0.1"},"tags":[{"name":"Notification","description":"알림 관련 API"}],"servers":[{"url":"https://api-b2c.tikkly.io","description":"Development Server (Active)"},{"url":"https://api.tikkly.com","description":"Production Server"},{"url":"http://localhost:8081","description":"Local Development Server"}],"paths":{"/tikkly-b2c/notifications/read-all":{"post":{"tags":["Notification"],"summary":"모든 알림 읽음 처리","description":"UUID로 사용자의 모든 알림을 읽음으로 표시합니다","parameters":[{"in":"header","name":"x-api-key","required":true,"schema":{"type":"string","default":"TEST_API_KEY"},"description":"API Key"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"사용자 UUID","default":"40115395-195e-4c14-b5f4-261f13da353e"}}}}}},"responses":{"200":{"description":"모두 읽음 처리 성공","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"updatedCount":{"type":"number"}}}}}}}},"401":{"description":"인증 실패"},"404":{"description":"사용자를 찾을 수 없음"}}}}}}
```


