계좌
모든 계좌 API는 인증 필요예요. 토큰 주인의 계좌만 보여요.
| 메서드 | 경로 | 설명 |
|---|---|---|
| GET | /v1/accounts/buying-power | 잔고(주문가능금액) |
| GET | /v1/accounts/holdings | 보유종목 |
| GET | /v1/accounts/profile | 프로필 |
| PATCH | /v1/accounts/profile | 표시 이름 변경 |
| GET | /v1/me | 토큰 확인(사용자 id, 인증 방식) |
잔고
GET /v1/accounts/buying-power
{ "cashBalance": 287450 } cashBalance는 현금 잔고예요. 지정가 대기 주문은 돈을 미리 묶어두지 않아서, 대기 주문이 있어도 이 값은 줄지 않아요. 대신 지정가가 체결되는 순간 잔고가 모자라면 체결되지 않고 계속 대기해요.
보유종목
GET /v1/accounts/holdings
[
{
"symbol": "FOXX",
"species": "여우",
"quantity": 10,
"avgCost": 1180.5,
"lastPrice": 1234,
"marketValue": 12340,
"unrealizedPnl": 535
}
] | 필드 | 설명 |
|---|---|
quantity | 보유 수량 |
avgCost | 평균 매입단가(소수 가능) |
marketValue | 평가금액 = quantity × lastPrice |
unrealizedPnl | 평가손익 = marketValue − quantity × avgCost |
총 평가자산은 cashBalance + Σ marketValue, 총수익은 거기서 시작 자금 300,000원을 뺀 값이에요(웹 프로필 화면과 같은 계산).
프로필
GET /v1/accounts/profile → { "id": "...", "displayName": "호야" }
PATCH /v1/accounts/profile 바디 { "displayName": "새 이름" } (1~40자). 커뮤니티 글 작성자 이름으로 쓰여요.
토큰 확인
GET /v1/me
{ "userId": "8b6b74e7-...", "isAdmin": false, "authMethod": "api_key" } authMethod는 api_key(API 키 토큰) 또는 session(웹 로그인 토큰)이에요.