{"openapi":"3.1.0","info":{"title":"CCS 거래소 공통 API · 본인 테스트 봇 API","version":"0.9.0","description":"일반 메인 API 52.65.154.88은 유지. 이 서버 16.176.130.206은 공통 시세와 본인 계정 테스트를 담당합니다. 공통 ServiceToken / 본인 DeviceToken / BotAgentToken은 호환되지 않습니다. 모든 실주문·취소는 출시 잠금 상태입니다. Swagger는 읽기 전용이며 API 키·Secret 입력 및 Try it out을 제공하지 않습니다. 네이티브/서버 클라이언트를 사용하세요. Query string과 브라우저 Origin은 API에서 거부됩니다. 상세 요청·응답 및 제한은 API.md 참고.","license":{"name":"Private CCS API"}},"servers":[{"url":"/ccs-tapbit","description":"현재 거래소 API 서버"}],"paths":{"/health/ready":{"get":{"operationId":"get_health_ready","summary":"프로세스 준비 확인","tags":["상태"],"description":"DB·거래소 연결 성공과는 별개입니다. ready, service, canTrade를 반환합니다.","security":[],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"ready":{"type":"boolean"},"service":{"type":"string"},"canTrade":{"const":false}},"required":["ready","service","canTrade"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/status":{"get":{"operationId":"get_v1_shared_status","summary":"거래소 공통 API 역할·시세 수신 상태","tags":["공통 시세"],"description":"공통 토큰은 개인 계좌 API에서 사용할 수 없습니다. 일반 메인 API는 별도 서버로 유지됩니다.","security":[{"ServiceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/main-link/status":{"get":{"operationId":"get_v1_main_link_status","summary":"메인 API 연결 및 보고 대기 상태","tags":["메인 API 연계"],"description":"직접 DB 접속 없이 동작하는 관찰 전용 연계 상태. 미설정·DB 미준비·계약 불일치를 구분합니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/main-link/config":{"get":{"operationId":"get_v1_main_link_config","summary":"메인 API에 저장된 전략 설정","tags":["메인 API 연계"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}},"put":{"operationId":"put_v1_main_link_config","summary":"메인 API를 경유한 설정 저장","tags":["메인 API 연계"],"description":"requestId는 재확인·재전송 시 동일하게 유지. 409는 갱신 충돌. 이 경로가 실주문을 시작하지 않습니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":0},"requestId":{"type":"string","format":"uuid"},"config":{"type":"object","additionalProperties":true,"example":{"name":"밴드 반등 · 실시간 검증","symbols":["BTC","ETH"],"frame":15,"capitalMode":"fixed","initialCapital":10000,"fixedMargin":100,"allocationPct":1,"leverage":5,"entry":{"enabled":true,"mode":"rebound","bufferPct":0,"nearPct":0.1,"reboundPct":0.02,"maxDistancePct":0.8,"tiered":false,"tiers":[1,2,3,4,5]},"band":{"lookback":20,"narrowPct":-20,"widePct":20,"narrowTpRoi":10,"wideTpRoi":15},"filters":{"rsi":false,"longRsiMax":40,"shortRsiMin":60,"adx":false,"adxMax":25,"ema":false,"vwap":false,"macd":false},"dca":{"enabled":false,"steps":[{"minLossRoiPct":30,"entryMode":"rebound","reboundPct":0.02,"amountMode":"initial_multiple","amount":1}]},"exits":{"tp":true,"sl":true,"slRoi":50,"slAfterAllAdds":true,"beforeFirst":false,"beforeFirstRoi":20,"beforeSecond":false,"beforeSecondRoi":30,"idle":false,"idleAfterAdds":1,"idleHours":2,"maxHold":false,"maxHoldMinutes":60,"breakEven":false,"breakEvenStartRoi":10,"atrStop":false,"atrMultiple":1.5},"schedule":{"sleep":{"enabled":false,"start":"21:00","end":"05:00"},"windDownMinutes":30,"rests":[],"stopPause":false,"stopPauseHours":1},"risk":{"maxMarginPct":20,"dailyLossPct":3,"maxDrawdownPct":10,"maxSpreadPct":0.1,"liquidationBufferPct":1,"feeEstimatePct":0.06}}}},"required":["expectedRevision","requestId","config"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/test/api/features":{"get":{"operationId":"get_test_api_features","summary":"점검 페이지 features","tags":["점검 페이지"],"description":"비밀값·UID·잔고 금액 없음. 테스트 페이지 전용.","security":[],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/test/api/status":{"get":{"operationId":"get_test_api_status","summary":"점검 페이지 status","tags":["점검 페이지"],"description":"비밀값·UID·잔고 금액 없음. 테스트 페이지 전용.","security":[],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/test/api/catalog":{"get":{"operationId":"get_test_api_catalog","summary":"점검 페이지 catalog","tags":["점검 페이지"],"description":"비밀값·UID·잔고 금액 없음. 테스트 페이지 전용.","security":[],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/api-catalog.json":{"get":{"operationId":"get_api_catalog_json","summary":"USDT 선물 API 20개 · WS 2종 대조표","tags":["API 전체 목록"],"description":"첨부 HTML 기준. 연결 구현·실제 조회·모의 검증·출시 잠금을 구분합니다. Spot/제휴 제외.","security":[],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/test/api/session":{"post":{"operationId":"post_test_api_session","summary":"15분 읽기 전용 점검 세션 연결","tags":["점검 페이지"],"description":"동일 Origin + X-CCS-Test: 1 필수. API 키가 아닌 SSH 발급 일회용 코드. HttpOnly Secure 쿠키를 반환합니다.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["code"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/test/api/logout":{"post":{"operationId":"post_test_api_logout","summary":"점검 세션 연결 해제","tags":["점검 페이지"],"description":"동일 Origin + X-CCS-Test: 1 필수. 네이티브 계정 설정은 삭제하지 않습니다.","security":[{"TestSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/test/api/run":{"post":{"operationId":"post_test_api_run","summary":"공개·모의·개인 읽기 점검과 통신 내역","tags":["점검 페이지"],"description":"동일 Origin + X-CCS-Test: 1 필수. 개인 항목만 TestSession 필요. 실주문 없음. 공개·모의 결과는 60초 캐시. communication 배열에 http/websocket/mock/local 종류, request(method/url/query/headers/body), response(status/headers/body), startedAt/receivedAt/durationMs를 제공합니다. 인증 헤더·개인 계좌 값 마스킹. 배열 최대20개, 요청별 최대10개 통신. WebSocket은 기존 구독·마지막 수신 프레임이며 새 전송/왕복 지연을 뜻하지 않습니다. 캐시 응답의 통신 시각은 원본 점검 시각입니다.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","enum":["time","instruments","ticker","depth","tickers","fundingRate","candleHistory","orderBookStream","candles_3","candles_5","candles_15","recentTrades","stream","account","positions","openOrders","closedOrders","order","fills","funding","plans","mock_order","mock_cancel","mock_cancel_plan","mock_protection","mock_modify_plan","mock_close","mock_websocket","mock_lifecycle","mock_strategy"]},"symbol":{"type":"string","enum":["BTC","ETH"]},"orderId":{"type":"string"},"period":{"type":"string","enum":["1","3","5","15","30","60","120","240","360","720","D","W","M"],"description":"candleHistory 점검 전용"},"cursor":{"type":"string","description":"closedOrders 전용"},"page":{"type":"integer","minimum":1,"description":"funding/plans 전용"},"pageSize":{"type":"integer","minimum":1,"maximum":50,"description":"funding/plans 전용"}},"required":["id","symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/events":{"get":{"operationId":"get_v1_shared_events","summary":"실시간 ticker 이벤트 전달 (SSE)","tags":["공통 시세"],"description":"Authorization 헤더가 있는 서버 클라이언트 전용. 기존 단일 거래소 WS의 BTC/ETH quote와 15초 status 이벤트를 전달합니다. 토큰당 1개, 서버 최대32개, 세션5분. 과거 이벤트 재생 없음. 연결 끊김·backpressure 시 종료하므로 재연결 후 관찰 상태를 초기화하세요. 연결 실패에는 60초 backoff. 브라우저 EventSource의 query 토큰은 금지.","security":[{"ServiceToken":[]}],"responses":{"200":{"description":"event: quote | status; data: JSON. 가격 이벤트는 서버로 수신된 실제 ticker입니다.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/time":{"post":{"operationId":"post_v1_shared_market_time","summary":"거래소 시간","tags":["공통 시세"],"description":"서버 시간·시계 오차. 최대 1초 캐시. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"iso":{"type":"string","format":"date-time"},"epoch":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"offsetMs":{"type":"number"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["iso","epoch","offsetMs","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/instruments":{"post":{"operationId":"post_v1_shared_market_instruments","summary":"계약 명세","tags":["공통 시세"],"description":"계약 승수·최소 수량·가격 단위·최대 레버리지. 최대 60초 캐시. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"instruments":{"type":"array","items":{"type":"object","properties":{"contractCode":{"type":"string"},"baseAsset":{"type":"string"},"multiplier":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"minContracts":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"maxContracts":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"priceTick":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"pricePrecision":{"type":"integer"},"maxLeverage":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"leverages":{"type":"array","items":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"}}},"required":["contractCode","baseAsset","multiplier","minContracts","maxContracts","priceTick","pricePrecision","maxLeverage"],"additionalProperties":false}},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["instruments","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/ticker":{"post":{"operationId":"post_v1_shared_market_ticker","summary":"REST 시세 요약","tags":["공통 시세"],"description":"최대 1초 캐시. 실시간 판단은 quote 이벤트가 기준입니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"lastPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"markPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"bid":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"ask":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"asOf":{"type":"string","format":"date-time"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","lastPrice","markPrice","bid","ask","asOf","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/ticker-details":{"post":{"operationId":"post_v1_shared_market_ticker_details","summary":"개별 계약 전체 시세","tags":["공통 시세"],"description":"24시간 가격·변동률·거래대금·호가 수량까지 반환. fresh가 false면 오래된 시세입니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"lastPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"markPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"bid":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"ask":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"asOf":{"type":"string","format":"date-time"},"bidQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"askQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"high24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"low24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"volume24hUsdt":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change0h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"fresh":{"type":"boolean"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","lastPrice","markPrice","bid","ask","asOf","bidQuantity","askQuantity","high24h","low24h","volume24hUsdt","change24h","change0h","fresh","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/tickers":{"post":{"operationId":"post_v1_shared_market_tickers","summary":"전체 계약 시세 목록","tags":["공통 시세"],"description":"2초 공통 캐시. 개별 fresh 필드를 확인하세요. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":5000,"default":0},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tickers":{"type":"array","items":{"type":"object","properties":{"contractCode":{"type":"string"},"lastPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"markPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"bid":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"ask":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"asOf":{"type":"string","format":"date-time"},"bidQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"askQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"high24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"low24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"volume24hUsdt":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change0h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"fresh":{"type":"boolean"}},"required":["contractCode","lastPrice","markPrice","bid","ask","asOf","bidQuantity","askQuantity","high24h","low24h","volume24hUsdt","change24h","change0h","fresh"],"additionalProperties":false}},"total":{"type":"integer"},"offset":{"type":"integer"},"limit":{"type":"integer"},"observedAt":{"type":"string","format":"date-time"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["tickers","total","offset","limit","observedAt","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/depth":{"post":{"operationId":"post_v1_shared_market_depth","summary":"REST 호가","tags":["공통 시세"],"description":"최대 1초 캐시. 가격·계약 수량·주문 수를 반환합니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"},"depth":{"type":"integer","enum":[5,10,50,100],"default":10}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"depth":{"type":"integer"},"bids":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asks":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asOf":{"type":"string","format":"date-time"},"observedAt":{"type":"string","format":"date-time"},"source":{"const":"rest_snapshot"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","depth","bids","asks","asOf","observedAt","source","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/funding-rate":{"post":{"operationId":"post_v1_shared_market_funding_rate","summary":"현재 펀딩비율","tags":["공통 시세"],"description":"최대 5초 캐시. 실제 지급 내역이나 정산 시각이 아닙니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"fundingRate":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"observedAt":{"type":"string","format":"date-time"},"asOf":{"type":"null"},"settlementAt":{"type":"null"},"source":{"const":"current_rate"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","fundingRate","observedAt","asOf","settlementAt","source","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/candles":{"post":{"operationId":"post_v1_shared_market_candles","summary":"3/5/15분 완료 봉","tags":["공통 시세"],"description":"최대 최근 500개 완료 봉; 초봉 합성이나 백테스트가 아닙니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"frame":{"type":"integer","enum":[3,5,15]}},"required":["symbol","frame"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"candles":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","description":"UNIX milliseconds"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"},"volume":{"type":"number"}},"required":["at","open","high","low","close","volume"],"additionalProperties":false}},"frame":{"type":"integer","enum":[3,5,15]},"closedOnly":{"const":true},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["candles","frame","closedOnly","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/candle-history":{"post":{"operationId":"post_v1_shared_market_candle_history","summary":"전체 13종 주기 · 선택 기간 캔들","tags":["공통 시세"],"description":"start/end는 UNIX 초. 반환 at은 ms. OHLC/volume/turnover/longVolume/shortVolume 정밀 문자열. 미완료 봉 포함 가능. 로컬 범위 상한 500주기(M은28일 기준); 반환 수로 전체 이력 완전성을 추정하지 않습니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"period":{"type":"string","enum":["1","3","5","15","30","60","120","240","360","720","D","W","M"]},"start":{"type":"integer","minimum":1000000000},"end":{"type":"integer","minimum":1000000001}},"required":["symbol","period","start","end"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"symbol":{"type":"string"},"period":{"type":"string","enum":["1","3","5","15","30","60","120","240","360","720","D","W","M"]},"start":{"type":"integer"},"end":{"type":"integer"},"candles":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","description":"UNIX milliseconds"},"open":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"high":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"low":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"close":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"volume":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"turnover":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"longVolume":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"shortVolume":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"}},"required":["at","open","high","low","close","volume","turnover","longVolume","shortVolume"],"additionalProperties":false}},"closedOnly":{"const":false},"completeHistory":{"const":false},"note":{"type":"string"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["symbol","period","start","end","candles","closedOnly","completeHistory","note","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/trades":{"post":{"operationId":"post_v1_shared_market_trades","summary":"최근 체결 목록","tags":["공통 시세"],"description":"trades에 price/side(b·s)/quantityContracts/at(ms). count/latestAt 요약 포함. 거래소가 제공한 최근 스냅샷이며 완전한 체결 스트림은 아닙니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"count":{"type":"integer"},"trades":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"side":{"type":"string","enum":["b","s"]},"quantityContracts":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"at":{"type":"integer","description":"UNIX milliseconds"}},"required":["price","side","quantityContracts","at"],"additionalProperties":false}},"completeSecond":{"const":false},"reason":{"const":"NO_DOCUMENTED_TRADE_ID_OR_GAP_CURSOR"},"latestAt":{"anyOf":[{"type":"integer","description":"UNIX milliseconds"},{"type":"null"}]},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["count","trades","completeSecond","reason","latestAt","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/quote":{"post":{"operationId":"post_v1_shared_market_quote","summary":"실시간 ticker 최신 이벤트","tags":["공통 시세"],"description":"기존 단일 WebSocket 연결의 신선한 이벤트만 반환. 새 연결 생성 없음. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"at":{"type":"integer","description":"UNIX milliseconds"},"last":{"type":"number"},"mark":{"type":"number"},"bid":{"type":"number"},"ask":{"type":"number"},"feed":{"type":"object","properties":{"source":{"const":"tapbit_ws"},"receivedAt":{"type":"integer","description":"UNIX milliseconds"},"healthy":{"const":true},"epoch":{"type":"string"},"sequence":{"type":"integer"}},"required":["source","receivedAt","healthy","epoch","sequence"],"additionalProperties":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["symbol","at","last","mark","bid","ask","feed","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/orderbook":{"post":{"operationId":"post_v1_shared_market_orderbook","summary":"실시간 호가 50단계","tags":["공통 시세"],"description":"초기 스냅샷과 변경분 병합. 끊김·버전 이상·5초 초과 시 503. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"depth":{"type":"integer"},"bids":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asks":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asOf":{"type":"string","format":"date-time"},"observedAt":{"type":"string","format":"date-time"},"version":{"type":"string"},"source":{"const":"websocket"},"continuityPolicy":{"const":"consecutive_version_required"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","depth","bids","asks","asOf","observedAt","version","source","continuityPolicy","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/shared/market/stream":{"post":{"operationId":"post_v1_shared_market_stream","summary":"실시간 수신 상태","tags":["공통 시세"],"description":"기존 연결 상태 조회; 자동 구독 추가 없음. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"ServiceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"market":{"type":"object","properties":{"state":{"type":"string"},"epoch":{"type":"string"},"code":{"type":"string"},"received":{"type":"integer"},"lastAt":{"anyOf":[{"type":"integer","description":"UNIX milliseconds"},{"type":"null"}]},"books":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"depth":{"type":"integer"},"fresh":{"type":"boolean"},"code":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastAt":{"anyOf":[{"type":"integer","description":"UNIX milliseconds"},{"type":"null"}]}},"required":["symbol","depth","fresh","code","version","lastAt"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["market","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/time":{"post":{"operationId":"post_v1_market_time","summary":"거래소 시간","tags":["본인 봇 · 시세"],"description":"서버 시간·시계 오차. 최대 1초 캐시. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"iso":{"type":"string","format":"date-time"},"epoch":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"offsetMs":{"type":"number"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["iso","epoch","offsetMs","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/instruments":{"post":{"operationId":"post_v1_market_instruments","summary":"계약 명세","tags":["본인 봇 · 시세"],"description":"계약 승수·최소 수량·가격 단위·최대 레버리지. 최대 60초 캐시. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"instruments":{"type":"array","items":{"type":"object","properties":{"contractCode":{"type":"string"},"baseAsset":{"type":"string"},"multiplier":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"minContracts":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"maxContracts":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"priceTick":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"pricePrecision":{"type":"integer"},"maxLeverage":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"leverages":{"type":"array","items":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"}}},"required":["contractCode","baseAsset","multiplier","minContracts","maxContracts","priceTick","pricePrecision","maxLeverage"],"additionalProperties":false}},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["instruments","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/ticker":{"post":{"operationId":"post_v1_market_ticker","summary":"REST 시세 요약","tags":["본인 봇 · 시세"],"description":"최대 1초 캐시. 실시간 판단은 quote 이벤트가 기준입니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"lastPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"markPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"bid":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"ask":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"asOf":{"type":"string","format":"date-time"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","lastPrice","markPrice","bid","ask","asOf","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/ticker-details":{"post":{"operationId":"post_v1_market_ticker_details","summary":"개별 계약 전체 시세","tags":["본인 봇 · 시세"],"description":"24시간 가격·변동률·거래대금·호가 수량까지 반환. fresh가 false면 오래된 시세입니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"lastPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"markPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"bid":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"ask":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"asOf":{"type":"string","format":"date-time"},"bidQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"askQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"high24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"low24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"volume24hUsdt":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change0h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"fresh":{"type":"boolean"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","lastPrice","markPrice","bid","ask","asOf","bidQuantity","askQuantity","high24h","low24h","volume24hUsdt","change24h","change0h","fresh","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/tickers":{"post":{"operationId":"post_v1_market_tickers","summary":"전체 계약 시세 목록","tags":["본인 봇 · 시세"],"description":"2초 공통 캐시. 개별 fresh 필드를 확인하세요. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":0,"maximum":5000,"default":0},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tickers":{"type":"array","items":{"type":"object","properties":{"contractCode":{"type":"string"},"lastPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"markPrice":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"bid":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"ask":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"asOf":{"type":"string","format":"date-time"},"bidQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"askQuantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"high24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"low24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"volume24hUsdt":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change24h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"change0h":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"fresh":{"type":"boolean"}},"required":["contractCode","lastPrice","markPrice","bid","ask","asOf","bidQuantity","askQuantity","high24h","low24h","volume24hUsdt","change24h","change0h","fresh"],"additionalProperties":false}},"total":{"type":"integer"},"offset":{"type":"integer"},"limit":{"type":"integer"},"observedAt":{"type":"string","format":"date-time"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["tickers","total","offset","limit","observedAt","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/depth":{"post":{"operationId":"post_v1_market_depth","summary":"REST 호가","tags":["본인 봇 · 시세"],"description":"최대 1초 캐시. 가격·계약 수량·주문 수를 반환합니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"},"depth":{"type":"integer","enum":[5,10,50,100],"default":10}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"depth":{"type":"integer"},"bids":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asks":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asOf":{"type":"string","format":"date-time"},"observedAt":{"type":"string","format":"date-time"},"source":{"const":"rest_snapshot"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","depth","bids","asks","asOf","observedAt","source","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/funding-rate":{"post":{"operationId":"post_v1_market_funding_rate","summary":"현재 펀딩비율","tags":["본인 봇 · 시세"],"description":"최대 5초 캐시. 실제 지급 내역이나 정산 시각이 아닙니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"fundingRate":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"observedAt":{"type":"string","format":"date-time"},"asOf":{"type":"null"},"settlementAt":{"type":"null"},"source":{"const":"current_rate"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","fundingRate","observedAt","asOf","settlementAt","source","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/candles":{"post":{"operationId":"post_v1_market_candles","summary":"3/5/15분 완료 봉","tags":["본인 봇 · 시세"],"description":"최대 최근 500개 완료 봉; 초봉 합성이나 백테스트가 아닙니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"frame":{"type":"integer","enum":[3,5,15]}},"required":["symbol","frame"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"candles":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","description":"UNIX milliseconds"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"},"volume":{"type":"number"}},"required":["at","open","high","low","close","volume"],"additionalProperties":false}},"frame":{"type":"integer","enum":[3,5,15]},"closedOnly":{"const":true},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["candles","frame","closedOnly","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/candle-history":{"post":{"operationId":"post_v1_market_candle_history","summary":"전체 13종 주기 · 선택 기간 캔들","tags":["본인 봇 · 시세"],"description":"start/end는 UNIX 초. 반환 at은 ms. OHLC/volume/turnover/longVolume/shortVolume 정밀 문자열. 미완료 봉 포함 가능. 로컬 범위 상한 500주기(M은28일 기준); 반환 수로 전체 이력 완전성을 추정하지 않습니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"period":{"type":"string","enum":["1","3","5","15","30","60","120","240","360","720","D","W","M"]},"start":{"type":"integer","minimum":1000000000},"end":{"type":"integer","minimum":1000000001}},"required":["symbol","period","start","end"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"symbol":{"type":"string"},"period":{"type":"string","enum":["1","3","5","15","30","60","120","240","360","720","D","W","M"]},"start":{"type":"integer"},"end":{"type":"integer"},"candles":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","description":"UNIX milliseconds"},"open":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"high":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"low":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"close":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"volume":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"turnover":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"longVolume":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"shortVolume":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"}},"required":["at","open","high","low","close","volume","turnover","longVolume","shortVolume"],"additionalProperties":false}},"closedOnly":{"const":false},"completeHistory":{"const":false},"note":{"type":"string"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["symbol","period","start","end","candles","closedOnly","completeHistory","note","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/trades":{"post":{"operationId":"post_v1_market_trades","summary":"최근 체결 목록","tags":["본인 봇 · 시세"],"description":"trades에 price/side(b·s)/quantityContracts/at(ms). count/latestAt 요약 포함. 거래소가 제공한 최근 스냅샷이며 완전한 체결 스트림은 아닙니다. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"count":{"type":"integer"},"trades":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"side":{"type":"string","enum":["b","s"]},"quantityContracts":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"at":{"type":"integer","description":"UNIX milliseconds"}},"required":["price","side","quantityContracts","at"],"additionalProperties":false}},"completeSecond":{"const":false},"reason":{"const":"NO_DOCUMENTED_TRADE_ID_OR_GAP_CURSOR"},"latestAt":{"anyOf":[{"type":"integer","description":"UNIX milliseconds"},{"type":"null"}]},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["count","trades","completeSecond","reason","latestAt","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/quote":{"post":{"operationId":"post_v1_market_quote","summary":"실시간 ticker 최신 이벤트","tags":["본인 봇 · 시세"],"description":"기존 단일 WebSocket 연결의 신선한 이벤트만 반환. 새 연결 생성 없음. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"at":{"type":"integer","description":"UNIX milliseconds"},"last":{"type":"number"},"mark":{"type":"number"},"bid":{"type":"number"},"ask":{"type":"number"},"feed":{"type":"object","properties":{"source":{"const":"tapbit_ws"},"receivedAt":{"type":"integer","description":"UNIX milliseconds"},"healthy":{"const":true},"epoch":{"type":"string"},"sequence":{"type":"integer"}},"required":["source","receivedAt","healthy","epoch","sequence"],"additionalProperties":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["symbol","at","last","mark","bid","ask","feed","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/orderbook":{"post":{"operationId":"post_v1_market_orderbook","summary":"실시간 호가 50단계","tags":["본인 봇 · 시세"],"description":"초기 스냅샷과 변경분 병합. 끊김·버전 이상·5초 초과 시 503. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"contractCode":{"type":"string"},"depth":{"type":"integer"},"bids":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asks":{"type":"array","items":{"type":"object","properties":{"price":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"quantity":{"type":"string","pattern":"^-?[0-9]+(?:\\.[0-9]+)?$","example":"123.45","description":"정밀도 보존을 위한 10진 문자열"},"orders":{"type":"string"}},"required":["price","quantity"],"additionalProperties":false}},"asOf":{"type":"string","format":"date-time"},"observedAt":{"type":"string","format":"date-time"},"version":{"type":"string"},"source":{"const":"websocket"},"continuityPolicy":{"const":"consecutive_version_required"},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["contractCode","depth","bids","asks","asOf","observedAt","version","source","continuityPolicy","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/market/stream":{"post":{"operationId":"post_v1_market_stream","summary":"실시간 수신 상태","tags":["본인 봇 · 시세"],"description":"기존 연결 상태 조회; 자동 구독 추가 없음. 호출자당 공개 시세 12회/분; REST 전송은 공통 인스턴스에서 직렬화됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"market":{"type":"object","properties":{"state":{"type":"string"},"epoch":{"type":"string"},"code":{"type":"string"},"received":{"type":"integer"},"lastAt":{"anyOf":[{"type":"integer","description":"UNIX milliseconds"},{"type":"null"}]},"books":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"depth":{"type":"integer"},"fresh":{"type":"boolean"},"code":{"type":"string"},"version":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastAt":{"anyOf":[{"type":"integer","description":"UNIX milliseconds"},{"type":"null"}]}},"required":["symbol","depth","fresh","code","version","lastAt"],"additionalProperties":false}}},"required":["state"],"additionalProperties":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["market","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/pair":{"post":{"operationId":"post_v1_pair","summary":"일회용 코드로 본인 기기 연결","tags":["본인 봇 · 연결"],"description":"코드는 SSH 관리 CLI에서 발급하며 1회 사용. 응답 deviceToken은 OS 보안 저장소에만 보관합니다.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","writeOnly":true,"pattern":"^[a-f0-9]{64}$"}},"required":["code"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/connection":{"get":{"operationId":"get_v1_connection","summary":"저장된 연결 상태 (비밀 제외)","tags":["본인 봇 · 연결"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}},"put":{"operationId":"put_v1_connection","summary":"UID·API 키 암호화 저장","tags":["본인 봇 · 연결"],"description":"본인 네이티브 클라이언트에서 HTTPS로 전송합니다. Swagger에는 키를 입력하지 마세요. UID는 사용자 선언값이며 API 검증 완료를 뜻하지 않습니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"uid":{"type":"string"},"apiKey":{"type":"string","writeOnly":true},"secret":{"type":"string","writeOnly":true},"version":{"type":"integer"}},"required":["uid","apiKey","secret","version"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}},"delete":{"operationId":"delete_v1_connection","summary":"서버에 저장한 키 삭제","tags":["본인 봇 · 연결"],"description":"거래소 키 폐기·주문 취소·포지션 종료가 아닙니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"integer"}},"required":["version"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/connection/check":{"post":{"operationId":"post_v1_connection_check","summary":"계좌 GET 인증 확인","tags":["본인 봇 · 연결"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/device":{"delete":{"operationId":"delete_v1_device","summary":"현재 기기 인증 회수","tags":["본인 봇 · 연결"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/diagnostics/features":{"get":{"operationId":"get_v1_diagnostics_features","summary":"기능별 진단 목록","tags":["진단"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/diagnostics/run":{"post":{"operationId":"post_v1_diagnostics_run","summary":"선택 기능 진단","tags":["진단"],"description":"exchange_pass 실제 조회, mock_pass 모의 실행, blocked 미준비, failed 실패를 구분합니다. mock_*는 실제 주문·취소를 전송하지 않습니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","enum":["time","instruments","ticker","depth","tickers","fundingRate","candleHistory","orderBookStream","candles_3","candles_5","candles_15","recentTrades","stream","account","positions","openOrders","closedOrders","order","fills","funding","plans","mock_order","mock_cancel","mock_cancel_plan","mock_protection","mock_modify_plan","mock_close","mock_websocket","mock_lifecycle","mock_strategy","uid","live"]},"symbol":{"type":"string","enum":["BTC","ETH"]},"orderId":{"type":"string"},"period":{"type":"string","enum":["1","3","5","15","30","60","120","240","360","720","D","W","M"],"description":"candleHistory 점검 전용"},"cursor":{"type":"string","description":"closedOrders 전용"},"page":{"type":"integer","minimum":1,"description":"funding/plans 전용"},"pageSize":{"type":"integer","minimum":1,"maximum":50,"description":"funding/plans 전용"}},"required":["id"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/exchange/read/account":{"post":{"operationId":"post_v1_exchange_read_account","summary":"계좌 잔고","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/account에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"object","properties":{"available_balance":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"frozen_balance":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"balance":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"margin_balance":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"margin_ratio":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"unrealised_pnl":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."}},"required":["available_balance","frozen_balance","balance","margin_balance","margin_ratio","unrealised_pnl"],"additionalProperties":false},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/account","ratePerSecond":3}}},"/v1/exchange/read/positions":{"post":{"operationId":"post_v1_exchange_read_positions","summary":"포지션","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/position_list에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"array","items":{"type":"object","properties":{"contract_code":{"type":"string"},"side":{"enum":["long","short"]},"quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"available_quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"average_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"mark_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"liquidation_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"leverage":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"position_margin":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"position_value":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"realised_pnl":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"unrealised_pnl":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"roe":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"deleverage_percentile":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"create_time":{"type":"string","format":"date-time"},"margin_mode":{"enum":["fixed","crossed"]},"position_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"separated_position_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["contract_code","side","quantity","available_quantity","average_price","mark_price","liquidation_price","leverage","position_margin","position_value","realised_pnl","unrealised_pnl","roe","deleverage_percentile","create_time","margin_mode","position_id","separated_position_id"],"additionalProperties":false},"maxItems":5000},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/position_list","ratePerSecond":2}}},"/v1/exchange/read/open-orders":{"post":{"operationId":"post_v1_exchange_read_open_orders","summary":"미체결 주문","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/open_order_list에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"array","items":{"type":"object","properties":{"order_id":{"type":"string"},"contract_code":{"type":"string"},"direction":{"enum":["openLong","openShort","closeLong","closeShort"]},"leverage":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_type":{"enum":["market","limit","postOnly","fok","ioc"]},"quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"filled_quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_value":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"take_profit_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"take_profit_order_type":{"anyOf":[{"enum":["planLimit","planMarket"]},{"type":"null"}]},"stop_loss_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"stop_loss_order_type":{"anyOf":[{"enum":["planLimit","planMarket"]},{"type":"null"}]},"average_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"fee":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"profit":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_time":{"type":"string","format":"date-time"},"status":{"enum":["new","filled","canceled","partiallyCanceled"]},"margin_mode":{"anyOf":[{"enum":["fixed","crossed"]},{"type":"null"}]}},"required":["order_id","contract_code","direction","leverage","order_type","quantity","filled_quantity","order_price","order_value","take_profit_price","take_profit_order_type","stop_loss_price","stop_loss_order_type","average_price","fee","profit","order_time","status","margin_mode"],"additionalProperties":false},"maxItems":5000},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/open_order_list","ratePerSecond":3}}},"/v1/exchange/read/closed-orders":{"post":{"operationId":"post_v1_exchange_read_closed_orders","summary":"과거 주문 · 커서","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/closed_order_list에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"cursor":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"array","items":{"type":"object","properties":{"order_id":{"type":"string"},"contract_code":{"type":"string"},"direction":{"enum":["openLong","openShort","closeLong","closeShort"]},"leverage":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_type":{"enum":["market","limit","postOnly","fok","ioc"]},"quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"filled_quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_value":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"take_profit_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"take_profit_order_type":{"anyOf":[{"enum":["planLimit","planMarket"]},{"type":"null"}]},"stop_loss_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"stop_loss_order_type":{"anyOf":[{"enum":["planLimit","planMarket"]},{"type":"null"}]},"average_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"fee":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"profit":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_time":{"type":"string","format":"date-time"},"status":{"enum":["new","filled","canceled","partiallyCanceled"]},"margin_mode":{"anyOf":[{"enum":["fixed","crossed"]},{"type":"null"}]}},"required":["order_id","contract_code","direction","leverage","order_type","quantity","filled_quantity","order_price","order_value","take_profit_price","take_profit_order_type","stop_loss_price","stop_loss_order_type","average_price","fee","profit","order_time","status","margin_mode"],"additionalProperties":false},"maxItems":5000},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/closed_order_list","ratePerSecond":3}}},"/v1/exchange/read/order":{"post":{"operationId":"post_v1_exchange_read_order","summary":"주문 상세 · TP/SL","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/order_info에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orderId":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"}},"required":["orderId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"object","properties":{"order_id":{"type":"string"},"contract_code":{"type":"string"},"direction":{"enum":["openLong","openShort","closeLong","closeShort"]},"leverage":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_type":{"enum":["market","limit","postOnly","fok","ioc"]},"quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"filled_quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_value":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"take_profit_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"take_profit_order_type":{"anyOf":[{"enum":["planLimit","planMarket"]},{"type":"null"}]},"stop_loss_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"stop_loss_order_type":{"anyOf":[{"enum":["planLimit","planMarket"]},{"type":"null"}]},"average_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"fee":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"profit":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_time":{"type":"string","format":"date-time"},"status":{"enum":["new","filled","canceled","partiallyCanceled"]},"margin_mode":{"anyOf":[{"enum":["fixed","crossed"]},{"type":"null"}]}},"required":["order_id","contract_code","direction","leverage","order_type","quantity","filled_quantity","order_price","order_value","take_profit_price","take_profit_order_type","stop_loss_price","stop_loss_order_type","average_price","fee","profit","order_time","status","margin_mode"],"additionalProperties":false},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/order_info","ratePerSecond":3}}},"/v1/exchange/read/fills":{"post":{"operationId":"post_v1_exchange_read_fills","summary":"주문별 체결 · 수수료","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/fills에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"orderId":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"}},"required":["symbol","orderId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"array","items":{"type":"object","properties":{"contract_code":{"type":"string"},"trade_id":{"type":"string"},"order_id":{"type":"string"},"price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"fee":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"trade_time":{"type":"string","format":"date-time"},"exec_type":{"enum":["T","M"]},"side":{"enum":["openLong","openShort","closeLong","closeShort"]}},"required":["contract_code","trade_id","order_id","price","fee","quantity","trade_time","exec_type","side"],"additionalProperties":false},"maxItems":5000},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/fills","ratePerSecond":3}}},"/v1/exchange/read/funding":{"post":{"operationId":"post_v1_exchange_read_funding","summary":"펀딩 이력 · 페이지","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/historical_funding_rate에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"page":{"type":"integer","minimum":1,"maximum":1000000},"pageSize":{"type":"integer","minimum":1,"maximum":50}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"array","items":{"type":"object","properties":{"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"contract_code":{"type":"string"},"side":{"enum":["long","short"]},"mark_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"position_value":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"fee":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"fee_rate":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"timestamp":{"type":"string","format":"date-time"},"leverage":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."}},"required":["quantity","contract_code","side","mark_price","position_value","fee","fee_rate","timestamp","leverage"],"additionalProperties":false},"maxItems":5000},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/historical_funding_rate","ratePerSecond":3}}},"/v1/exchange/read/plans":{"post":{"operationId":"post_v1_exchange_read_plans","summary":"TP/SL 목록 · 페이지","tags":["선물 전체 · 개인 조회"],"description":"Tapbit GET /api/v1/usdt/plan_close_order_list에 연계. DB 없이 본인 DeviceToken+서버 vault 키로 동작. 자동 DB 적재 없음. 2초 캐시. 원장 완전성·UID 권한 검증과 별개. ID/금액 정밀 문자열.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"page":{"type":"integer","minimum":1,"maximum":1000000},"pageSize":{"type":"integer","minimum":1,"maximum":50}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"venue":{"const":"tapbit"},"market":{"const":"usdt_perpetual"},"source":{"const":"private_rest"},"observedAt":{"type":"string","format":"date-time"},"currency":{"const":"USDT"},"quantityUnit":{"const":"contracts"},"data":{"type":"array","items":{"type":"object","properties":{"plan_id":{"type":"string"},"instrument_id":{"type":"string"},"direction":{"enum":["closeLong","closeShort"]},"plan_type":{"enum":["takeProfit","stopLoss"]},"order_type":{"enum":["planLimit","planMarket"]},"trigger_price":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"order_price":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"trigger_quantity":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Exact decimal string; never convert order IDs or money to floating-point for execution."},"status":{"enum":["waitTrigger","trigger","canceled","fail"]},"trigger_way":{"enum":["mark","latest"]},"trigger_direction":{"enum":["gt","eq","lt"]},"create_time":{"type":"string","format":"date-time"},"update_time":{"type":"string","format":"date-time"},"edit_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"trade_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"separated_position_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["plan_id","instrument_id","direction","plan_type","order_type","trigger_price","order_price","quantity","trigger_quantity","status","trigger_way","trigger_direction","create_time","update_time","edit_time","trade_type","separated_position_id"],"additionalProperties":false},"maxItems":5000},"persisted":{"const":false},"uidVerified":{"const":false},"canTrade":{"const":false}},"required":["venue","market","source","observedAt","currency","quantityUnit","data","persisted","uidVerified","canTrade"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"GET","path":"/api/v1/usdt/plan_close_order_list","ratePerSecond":3}}},"/v1/exchange/draft/order":{"post":{"operationId":"post_v1_exchange_draft_order","summary":"신규 · 종료 주문 초안 검증","tags":["선물 전체 · 전송 전 검증"],"description":"Tapbit POST /api/v1/usdt/order 요청 바디 생성만 수행합니다. 거래소로 전송하거나 DB에 저장하지 않습니다. planId를 넣으면 TP/SL 수정입니다. market도 문서상 orderPrice가 필수이며 값 0을 임의로 대입하지 않습니다. 실제 수락/체결은 미검증, 실주문 잠금 유지.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"direction":{"type":"string","enum":["openLong","openShort","closeLong","closeShort"]},"leverage":{"type":"string","pattern":"^[1-9][0-9]{0,3}$"},"orderType":{"type":"string","enum":["limit","market","postOnly"]},"orderPrice":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","maxLength":50},"quantityContracts":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","maxLength":50},"marginMode":{"type":"string","enum":["fixed","crossed"]},"positionMode":{"type":"string","enum":["merged","separated"]},"separatedPositionId":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"},"takeProfitPrice":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","maxLength":50},"stopLossPrice":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","maxLength":50},"triggerWay":{"type":"string","enum":["mark","latest"]}},"required":["symbol","direction","leverage","orderType","orderPrice","quantityContracts","marginMode","positionMode"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"method":{"const":"POST"},"path":{"const":"/api/v1/usdt/order"},"query":{"const":""},"body":{"type":"string","description":"실제 전송 시 서명할 JSON 바이트"},"canExecute":{"const":false}},"required":["method","path","query","body","canExecute"],"additionalProperties":false},"submitted":{"const":false},"persisted":{"const":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["draft","submitted","persisted","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"POST","path":"/api/v1/usdt/order","ratePerSecond":2,"execution":"locked"}}},"/v1/exchange/draft/cancel":{"post":{"operationId":"post_v1_exchange_draft_cancel","summary":"일반 주문 취소 초안 검증","tags":["선물 전체 · 전송 전 검증"],"description":"Tapbit POST /api/v1/usdt/cancel_order 요청 바디 생성만 수행합니다. 거래소로 전송하거나 DB에 저장하지 않습니다. planId를 넣으면 TP/SL 수정입니다. market도 문서상 orderPrice가 필수이며 값 0을 임의로 대입하지 않습니다. 실제 수락/체결은 미검증, 실주문 잠금 유지.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orderId":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"}},"required":["orderId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"method":{"const":"POST"},"path":{"const":"/api/v1/usdt/cancel_order"},"query":{"const":""},"body":{"type":"string","description":"실제 전송 시 서명할 JSON 바이트"},"canExecute":{"const":false}},"required":["method","path","query","body","canExecute"],"additionalProperties":false},"submitted":{"const":false},"persisted":{"const":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["draft","submitted","persisted","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"POST","path":"/api/v1/usdt/cancel_order","ratePerSecond":3,"execution":"locked"}}},"/v1/exchange/draft/plan":{"post":{"operationId":"post_v1_exchange_draft_plan","summary":"TP/SL 생성 · 수정 초안 검증","tags":["선물 전체 · 전송 전 검증"],"description":"Tapbit POST /api/v1/usdt/plan_close_order 요청 바디 생성만 수행합니다. 거래소로 전송하거나 DB에 저장하지 않습니다. planId를 넣으면 TP/SL 수정입니다. market도 문서상 orderPrice가 필수이며 값 0을 임의로 대입하지 않습니다. 실제 수락/체결은 미검증, 실주문 잠금 유지.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","pattern":"^[A-Z0-9]{1,20}(?:\\([A-Z0-9]{1,10}\\))?$"},"planId":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"},"planType":{"type":"string","enum":["takeProfit","stopLoss"]},"orderType":{"type":"string","enum":["planLimit","planMarket"]},"direction":{"type":"string","enum":["closeLong","closeShort"]},"quantityContracts":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","maxLength":50},"triggerPrice":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","maxLength":50},"orderPrice":{"type":"string","pattern":"^[0-9]+(?:\\.[0-9]+)?$","maxLength":50},"triggerWay":{"type":"string","enum":["mark","latest"]},"positionMode":{"type":"string","enum":["merged","separated"]},"separatedPositionId":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"}},"required":["symbol","planType","orderType","direction","quantityContracts","triggerPrice","triggerWay","positionMode"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"method":{"const":"POST"},"path":{"const":"/api/v1/usdt/plan_close_order"},"query":{"const":""},"body":{"type":"string","description":"실제 전송 시 서명할 JSON 바이트"},"canExecute":{"const":false}},"required":["method","path","query","body","canExecute"],"additionalProperties":false},"submitted":{"const":false},"persisted":{"const":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["draft","submitted","persisted","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"POST","path":"/api/v1/usdt/plan_close_order","ratePerSecond":3,"execution":"locked"}}},"/v1/exchange/draft/cancel-plan":{"post":{"operationId":"post_v1_exchange_draft_cancel_plan","summary":"TP/SL 취소 초안 검증","tags":["선물 전체 · 전송 전 검증"],"description":"Tapbit POST /api/v1/usdt/cancel_plan_close_order 요청 바디 생성만 수행합니다. 거래소로 전송하거나 DB에 저장하지 않습니다. planId를 넣으면 TP/SL 수정입니다. market도 문서상 orderPrice가 필수이며 값 0을 임의로 대입하지 않습니다. 실제 수락/체결은 미검증, 실주문 잠금 유지.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"planId":{"type":"string","pattern":"^[1-9][0-9]{0,29}$"}},"required":["planId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"method":{"const":"POST"},"path":{"const":"/api/v1/usdt/cancel_plan_close_order"},"query":{"const":""},"body":{"type":"string","description":"실제 전송 시 서명할 JSON 바이트"},"canExecute":{"const":false}},"required":["method","path","query","body","canExecute"],"additionalProperties":false},"submitted":{"const":false},"persisted":{"const":false},"canTrade":{"const":false},"realOrdersSent":{"const":0}},"required":["draft","submitted","persisted","canTrade","realOrdersSent"],"additionalProperties":false}},"required":["data"],"additionalProperties":false}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}},"x-tapbit-api":{"method":"POST","path":"/api/v1/usdt/cancel_plan_close_order","ratePerSecond":10,"execution":"locked"}}},"/v1/exchange/ws/draft":{"post":{"operationId":"post_v1_exchange_ws_draft","summary":"모든 WS 구독·해제 메시지 생성","tags":["선물 전체 · 전송 전 검증"],"description":"순수 메시지 생성. ticker는 symbol=all 지원, orderBook 깊이는 생략/5/10/50/100/200. 배포의 실제 구독은 BTC/ETH ticker와50단계호가로 제한하며 새 구독을 전송하지 않습니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"op":{"type":"string","enum":["subscribe","unsubscribe"]},"channel":{"type":"string","enum":["ticker","orderBook"]},"symbol":{"type":"string","description":"BTC, ETH 등. ticker만 all 허용"},"depth":{"type":"integer","enum":[5,10,50,100,200]}},"required":["op","channel","symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/capabilities":{"get":{"operationId":"get_v1_ops_capabilities","summary":"capabilities","tags":["본인 봇 · 계좌"],"description":"외부 PostgreSQL 필요. 잔고·UID 원장은 본인 인증 범위에만 제공됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/sync-settings":{"get":{"operationId":"get_v1_ops_sync_settings","summary":"sync-settings","tags":["본인 봇 · 계좌"],"description":"외부 PostgreSQL 필요. 잔고·UID 원장은 본인 인증 범위에만 제공됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}},"post":{"operationId":"post_v1_ops_sync_settings","summary":"정기 계좌 조회 설정","tags":["본인 봇 · 계좌"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"intervalSeconds":{"type":"integer"}},"required":["enabled","intervalSeconds"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/snapshot":{"get":{"operationId":"get_v1_ops_snapshot","summary":"snapshot","tags":["본인 봇 · 계좌"],"description":"외부 PostgreSQL 필요. 잔고·UID 원장은 본인 인증 범위에만 제공됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/policy":{"get":{"operationId":"get_v1_ops_policy","summary":"policy","tags":["본인 봇 · 계좌"],"description":"외부 PostgreSQL 필요. 잔고·UID 원장은 본인 인증 범위에만 제공됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/ledger":{"get":{"operationId":"get_v1_ops_ledger","summary":"ledger","tags":["본인 봇 · 계좌"],"description":"외부 PostgreSQL 필요. 잔고·UID 원장은 본인 인증 범위에만 제공됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/account":{"post":{"operationId":"post_v1_ops_account_account","summary":"account","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/positions":{"post":{"operationId":"post_v1_ops_account_positions","summary":"positions","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string"}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/open-orders":{"post":{"operationId":"post_v1_ops_account_open_orders","summary":"open-orders","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/closed-orders":{"post":{"operationId":"post_v1_ops_account_closed_orders","summary":"closed-orders","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"cursor":{"type":"string"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/order":{"post":{"operationId":"post_v1_ops_account_order","summary":"order","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"orderId":{"type":"string"}},"required":["orderId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/fills":{"post":{"operationId":"post_v1_ops_account_fills","summary":"fills","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"orderId":{"type":"string"}},"required":["symbol","orderId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/funding":{"post":{"operationId":"post_v1_ops_account_funding","summary":"funding","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"page":{"type":"integer"},"pageSize":{"type":"integer"}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/account/plans":{"post":{"operationId":"post_v1_ops_account_plans","summary":"plans","tags":["본인 봇 · 계좌"],"description":"서버 vault의 본인 키로 서명된 GET만 보냅니다. 외부 DB 필요. 수량 단위는 contracts, 가격·금액·ID는 정밀 문자열입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"page":{"type":"integer"},"pageSize":{"type":"integer"}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/sync":{"post":{"operationId":"post_v1_ops_sync","summary":"계좌 스냅샷 갱신","tags":["본인 봇 · 계좌"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/market/instruments":{"get":{"operationId":"get_v1_ops_market_instruments","summary":"기존 계약 명세 경로","tags":["호환 경로"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/market/ticker":{"post":{"operationId":"post_v1_ops_market_ticker","summary":"기존 시세 경로","tags":["호환 경로"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/intents":{"post":{"operationId":"post_v1_ops_intents","summary":"주문·취소·TP/SL 초안 저장 (전송 안 함)","tags":["본인 봇 · 관찰"],"description":"DB에 초안만 기록합니다. submitted=false. input의 상세 필드는 API.md 계약을 따릅니다. 실거래 경로가 아닙니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"requestKey":{"type":"string","format":"uuid"},"kind":{"enum":["order","plan","cancel","cancel-plan"]},"symbol":{"type":"string","enum":["BTC","ETH"]},"input":{"type":"object","additionalProperties":true}},"required":["requestKey","kind","input"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/capabilities":{"get":{"operationId":"get_v1_ops_live_capabilities","summary":"capabilities","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/checklist":{"get":{"operationId":"get_v1_ops_live_checklist","summary":"checklist","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/runtime":{"get":{"operationId":"get_v1_ops_live_runtime","summary":"runtime","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/decisions":{"get":{"operationId":"get_v1_ops_live_decisions","summary":"decisions","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/state":{"get":{"operationId":"get_v1_ops_live_state","summary":"state","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/summary":{"get":{"operationId":"get_v1_ops_live_summary","summary":"summary","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/fills":{"get":{"operationId":"get_v1_ops_live_fills","summary":"fills","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/history":{"get":{"operationId":"get_v1_ops_live_history","summary":"history","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}},"post":{"operationId":"post_v1_ops_live_history","summary":"주문·펀딩 이력 한 페이지 적재","tags":["본인 봇 · 관찰"],"description":"관찰 자료 저장이며 잔고에 자동 회계 반영하지 않습니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]},"kind":{"enum":["orders","funding"]},"cursor":{"type":"string"},"page":{"type":"integer"}},"required":["symbol","kind"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/config":{"put":{"operationId":"put_v1_ops_live_config","summary":"실시간 관찰 전략 설정","tags":["본인 봇 · 관찰"],"description":"stopped 상태이며 미해결 위험이 없을 때만 수정. 서버의 엄격한 StrategyConfig 검증이 적용됩니다. 예시는 전체 설정입니다. 현재 band-reversion-v1만 지원, 모든 연구 시나리오 동등성은 미검증입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer"},"config":{"type":"object","additionalProperties":true,"example":{"name":"밴드 반등 · 실시간 검증","symbols":["BTC","ETH"],"frame":15,"capitalMode":"fixed","initialCapital":10000,"fixedMargin":100,"allocationPct":1,"leverage":5,"entry":{"enabled":true,"mode":"rebound","bufferPct":0,"nearPct":0.1,"reboundPct":0.02,"maxDistancePct":0.8,"tiered":false,"tiers":[1,2,3,4,5]},"band":{"lookback":20,"narrowPct":-20,"widePct":20,"narrowTpRoi":10,"wideTpRoi":15},"filters":{"rsi":false,"longRsiMax":40,"shortRsiMin":60,"adx":false,"adxMax":25,"ema":false,"vwap":false,"macd":false},"dca":{"enabled":false,"steps":[{"minLossRoiPct":30,"entryMode":"rebound","reboundPct":0.02,"amountMode":"initial_multiple","amount":1}]},"exits":{"tp":true,"sl":true,"slRoi":50,"slAfterAllAdds":true,"beforeFirst":false,"beforeFirstRoi":20,"beforeSecond":false,"beforeSecondRoi":30,"idle":false,"idleAfterAdds":1,"idleHours":2,"maxHold":false,"maxHoldMinutes":60,"breakEven":false,"breakEvenStartRoi":10,"atrStop":false,"atrMultiple":1.5},"schedule":{"sleep":{"enabled":false,"start":"21:00","end":"05:00"},"windDownMinutes":30,"rests":[],"stopPause":false,"stopPauseHours":1},"risk":{"maxMarginPct":20,"dailyLossPct":3,"maxDrawdownPct":10,"maxSpreadPct":0.1,"liquidationBufferPct":1,"feeEstimatePct":0.06}}}},"required":["revision","config"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/command":{"post":{"operationId":"post_v1_ops_live_command","summary":"관찰 시작·중지","tags":["본인 봇 · 관찰"],"description":"실제 주문·취소·포지션 정리는 하지 않습니다. enable_live는 금지됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"enum":["start_shadow","pause","stop","emergency_stop"]},"requestKey":{"type":"string","format":"uuid"}},"required":["action","requestKey"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/reconcile":{"post":{"operationId":"post_v1_ops_live_reconcile","summary":"실제 계좌 조회와 로컬 상태 대사","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/preview":{"post":{"operationId":"post_v1_ops_live_preview","summary":"현재 시세·지표로 판단 미리보기","tags":["본인 봇 · 관찰"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"symbol":{"type":"string","enum":["BTC","ETH"]}},"required":["symbol"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/live/recovery":{"post":{"operationId":"post_v1_ops_live_recovery","summary":"결과 불명 주문의 정확한 ID 조회·연결","tags":["본인 봇 · 관찰"],"description":"2단계 확인 방식. 원래 주문을 재전송하지 않습니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"localOrderId":{"type":"string"},"exchangeOrderId":{"type":"string"},"confirmation":{"type":"string"}},"required":["localOrderId","exchangeOrderId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/bots":{"get":{"operationId":"get_v1_ops_bots","summary":"내 봇 목록","tags":["봇 관리"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/bots/register":{"post":{"operationId":"post_v1_ops_bots_register","summary":"내 봇 등록","tags":["봇 관리"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/bots/command":{"post":{"operationId":"post_v1_ops_bots_command","summary":"봇에 관찰 명령","tags":["봇 관리"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"botId":{"type":"string","format":"uuid"},"action":{"enum":["start_shadow","pause","stop","emergency_stop"]},"requestKey":{"type":"string","format":"uuid"}},"required":["botId","action","requestKey"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/bots/revoke":{"post":{"operationId":"post_v1_ops_bots_revoke","summary":"revoke","tags":["봇 관리"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"botId":{"type":"string","format":"uuid"}},"required":["botId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/bots/events":{"post":{"operationId":"post_v1_ops_bots_events","summary":"events","tags":["봇 관리"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"botId":{"type":"string","format":"uuid"}},"required":["botId"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/bot-agent/poll":{"post":{"operationId":"post_v1_bot_agent_poll","summary":"poll","tags":["봇 Agent"],"description":"BotAgentToken 전용. 다른 owner/UID 및 계좌/공통 API에 사용할 수 없습니다. events/heartbeat/ack 상세는 API.md 참조. 일반 메인 API의 기존 구성과 자동 연결되는 경로는 아닙니다.","security":[{"BotAgentToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/bot-agent/context":{"post":{"operationId":"post_v1_bot_agent_context","summary":"context","tags":["봇 Agent"],"description":"BotAgentToken 전용. 다른 owner/UID 및 계좌/공통 API에 사용할 수 없습니다. events/heartbeat/ack 상세는 API.md 참조. 일반 메인 API의 기존 구성과 자동 연결되는 경로는 아닙니다.","security":[{"BotAgentToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/bot-agent/events":{"post":{"operationId":"post_v1_bot_agent_events","summary":"events","tags":["봇 Agent"],"description":"BotAgentToken 전용. 다른 owner/UID 및 계좌/공통 API에 사용할 수 없습니다. events/heartbeat/ack 상세는 API.md 참조. 일반 메인 API의 기존 구성과 자동 연결되는 경로는 아닙니다.","security":[{"BotAgentToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/bot-agent/heartbeat":{"post":{"operationId":"post_v1_bot_agent_heartbeat","summary":"heartbeat","tags":["봇 Agent"],"description":"BotAgentToken 전용. 다른 owner/UID 및 계좌/공통 API에 사용할 수 없습니다. events/heartbeat/ack 상세는 API.md 참조. 일반 메인 API의 기존 구성과 자동 연결되는 경로는 아닙니다.","security":[{"BotAgentToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/bot-agent/ack":{"post":{"operationId":"post_v1_bot_agent_ack","summary":"ack","tags":["봇 Agent"],"description":"BotAgentToken 전용. 다른 owner/UID 및 계좌/공통 API에 사용할 수 없습니다. events/heartbeat/ack 상세는 API.md 참조. 일반 메인 API의 기존 구성과 자동 연결되는 경로는 아닙니다.","security":[{"BotAgentToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/research/catalog":{"post":{"operationId":"post_v1_ops_research_catalog","summary":"catalog","tags":["연구 호환 (이 서버 미설정)"],"description":"과거 연구 서버 연결용 선택 모듈. 새 거래소 서버에는 역사 데이터·연구 실행 경로를 설정하지 않아 503입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/research/editor":{"post":{"operationId":"post_v1_ops_research_editor","summary":"editor","tags":["연구 호환 (이 서버 미설정)"],"description":"과거 연구 서버 연결용 선택 모듈. 새 거래소 서버에는 역사 데이터·연구 실행 경로를 설정하지 않아 503입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/research/validate":{"post":{"operationId":"post_v1_ops_research_validate","summary":"validate","tags":["연구 호환 (이 서버 미설정)"],"description":"과거 연구 서버 연결용 선택 모듈. 새 거래소 서버에는 역사 데이터·연구 실행 경로를 설정하지 않아 503입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/research/run":{"post":{"operationId":"post_v1_ops_research_run","summary":"run","tags":["연구 호환 (이 서버 미설정)"],"description":"과거 연구 서버 연결용 선택 모듈. 새 거래소 서버에는 역사 데이터·연구 실행 경로를 설정하지 않아 503입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"202":{"description":"연구 작업 접수"},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/research/chart":{"post":{"operationId":"post_v1_ops_research_chart","summary":"chart","tags":["연구 호환 (이 서버 미설정)"],"description":"과거 연구 서버 연결용 선택 모듈. 새 거래소 서버에는 역사 데이터·연구 실행 경로를 설정하지 않아 503입니다.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"202":{"description":"연구 작업 접수"},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/presets":{"get":{"operationId":"get_v1_ops_presets","summary":"presets","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}},"post":{"operationId":"post_v1_ops_presets","summary":"연구 프리셋 저장","tags":["저장 자료"],"description":"연구 모듈 필요; 이 서버에는 미설정.","security":[{"DeviceToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"selection":{"type":"object","additionalProperties":true},"id":{"type":"string","format":"uuid"},"version":{"type":"integer"}},"required":["selection"],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/trash/presets":{"get":{"operationId":"get_v1_ops_trash_presets","summary":"휴지통 presets","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/presets/{id}/trash":{"post":{"operationId":"post_v1_ops_presets_id_trash","summary":"trash presets","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/presets/{id}/restore":{"post":{"operationId":"post_v1_ops_presets_id_restore","summary":"restore presets","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/jobs":{"get":{"operationId":"get_v1_ops_jobs","summary":"jobs","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/trash/jobs":{"get":{"operationId":"get_v1_ops_trash_jobs","summary":"휴지통 jobs","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/jobs/{id}/trash":{"post":{"operationId":"post_v1_ops_jobs_id_trash","summary":"trash jobs","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/jobs/{id}/restore":{"post":{"operationId":"post_v1_ops_jobs_id_restore","summary":"restore jobs","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/jobs/{id}":{"get":{"operationId":"get_v1_ops_jobs_id_","summary":"저장 작업 조회","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/jobs/{id}/result":{"get":{"operationId":"get_v1_ops_jobs_id_result","summary":"저장 결과 조회","tags":["저장 자료"],"description":"실제 거래소 주문을 전송하지 않습니다. 인증 및 요청 제한이 적용됩니다.","security":[{"DeviceToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}},"/v1/ops/jobs/{id}/cancel":{"post":{"operationId":"post_v1_ops_jobs_id_cancel","summary":"연구 작업 취소 요청","tags":["저장 자료"],"description":"거래소 주문 취소와 무관합니다.","security":[{"DeviceToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"성공. 조회 성공은 실거래 승인이나 UID 검증을 의미하지 않습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{}},"required":["data"]}}}},"default":{"description":"400 형식 / 401 인증 / 403 범위·Origin / 404 없음 / 409 버전·연결 충돌 / 413 크기 / 423 실거래 잠금 / 429 호출 제한 / 503 DB·시세·상위 서비스 준비 안 됨. 오류는 error.code로 제공.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"}}}}}}}}}}}},"x-tapbit-coverage":{"scope":"USDT perpetual only","version":"0.9.0","source":"tapbit_openapi_docs_USDTPERP.html","restCount":20,"webSocketChannels":2,"canTrade":false,"realOrderTests":false,"excluded":["Spot","Spot V2","Affiliate"],"note":"구현 목록이며 실제 계좌 검증 완료 목록이 아닙니다. 공개 조회는 점검 페이지, 개인 조회는 인증된 세션, 쓰기는 모의 검증만 제공합니다.","endpoints":[{"id":"time","label":"거래소 시간","method":"GET","path":"/api/v1/usdt/time","ratePerSecond":5,"scope":"public","route":"/v1/shared/market/time","diagnostic":"time","verification":"exchange_read_available"},{"id":"instruments","label":"계약 명세","method":"GET","path":"/api/usdt/instruments/list","ratePerSecond":3,"scope":"public","route":"/v1/shared/market/instruments","diagnostic":"instruments","verification":"exchange_read_available"},{"id":"depth","label":"호가","method":"GET","path":"/api/usdt/instruments/depth","ratePerSecond":10,"scope":"public","route":"/v1/shared/market/depth","diagnostic":"depth","verification":"exchange_read_available"},{"id":"candles","label":"전체 주기 · 기간 캔들","method":"GET","path":"/api/usdt/instruments/candles","ratePerSecond":3,"scope":"public","route":"/v1/shared/market/candle-history","diagnostic":"candleHistory","verification":"exchange_read_available"},{"id":"ticker","label":"개별 전체 시세","method":"GET","path":"/api/usdt/instruments/ticker_one","ratePerSecond":3,"scope":"public","route":"/v1/shared/market/ticker-details","diagnostic":"ticker","verification":"exchange_read_available"},{"id":"tickers","label":"전체 시세","method":"GET","path":"/api/usdt/instruments/ticker_list","ratePerSecond":3,"scope":"public","route":"/v1/shared/market/tickers","diagnostic":"tickers","verification":"exchange_read_available"},{"id":"fundingRate","label":"현재 펀딩 비율","method":"GET","path":"/api/usdt/instruments/funding_rate","ratePerSecond":3,"scope":"public","route":"/v1/shared/market/funding-rate","diagnostic":"fundingRate","verification":"exchange_read_available"},{"id":"recentTrades","label":"최근 체결 목록","method":"GET","path":"/api/usdt/instruments/trade_list","ratePerSecond":3,"scope":"public","route":"/v1/shared/market/trades","diagnostic":"recentTrades","verification":"exchange_read_available"},{"id":"account","label":"계좌 잔고","method":"GET","path":"/api/v1/usdt/account","ratePerSecond":3,"scope":"private","route":"/v1/exchange/read/account","diagnostic":"account","verification":"credentials_required"},{"id":"positions","label":"포지션","method":"GET","path":"/api/v1/usdt/position_list","ratePerSecond":2,"scope":"private","route":"/v1/exchange/read/positions","diagnostic":"positions","verification":"credentials_required"},{"id":"openOrders","label":"미체결 주문","method":"GET","path":"/api/v1/usdt/open_order_list","ratePerSecond":3,"scope":"private","route":"/v1/exchange/read/open-orders","diagnostic":"openOrders","verification":"credentials_required"},{"id":"closedOrders","label":"과거 주문 · 커서","method":"GET","path":"/api/v1/usdt/closed_order_list","ratePerSecond":3,"scope":"private","route":"/v1/exchange/read/closed-orders","diagnostic":"closedOrders","verification":"credentials_required"},{"id":"order","label":"주문 상세 · TP/SL","method":"GET","path":"/api/v1/usdt/order_info","ratePerSecond":3,"scope":"private","route":"/v1/exchange/read/order","diagnostic":"order","verification":"credentials_required"},{"id":"fills","label":"주문별 체결 · 수수료","method":"GET","path":"/api/v1/usdt/fills","ratePerSecond":3,"scope":"private","route":"/v1/exchange/read/fills","diagnostic":"fills","verification":"credentials_required"},{"id":"funding","label":"펀딩 이력 · 페이지","method":"GET","path":"/api/v1/usdt/historical_funding_rate","ratePerSecond":3,"scope":"private","route":"/v1/exchange/read/funding","diagnostic":"funding","verification":"credentials_required"},{"id":"plans","label":"TP/SL 목록 · 페이지","method":"GET","path":"/api/v1/usdt/plan_close_order_list","ratePerSecond":3,"scope":"private","route":"/v1/exchange/read/plans","diagnostic":"plans","verification":"credentials_required"},{"id":"write_order","label":"신규 · 종료 주문","method":"POST","path":"/api/v1/usdt/order","ratePerSecond":2,"scope":"write","route":"/v1/exchange/draft/order","diagnostic":"mock_order","verification":"mock_only_live_locked"},{"id":"write_cancel","label":"일반 주문 취소","method":"POST","path":"/api/v1/usdt/cancel_order","ratePerSecond":3,"scope":"write","route":"/v1/exchange/draft/cancel","diagnostic":"mock_cancel","verification":"mock_only_live_locked"},{"id":"write_plan","label":"TP/SL 생성 · 수정","method":"POST","path":"/api/v1/usdt/plan_close_order","ratePerSecond":3,"scope":"write","route":"/v1/exchange/draft/plan","diagnostic":"mock_protection","verification":"mock_only_live_locked"},{"id":"write_cancel-plan","label":"TP/SL 취소","method":"POST","path":"/api/v1/usdt/cancel_plan_close_order","ratePerSecond":10,"scope":"write","route":"/v1/exchange/draft/cancel-plan","diagnostic":"mock_cancel_plan","verification":"mock_only_live_locked"},{"id":"wsTicker","label":"실시간 시세 구독 · 해제","method":"WS","path":"usdt/ticker.{instrument_id}","scope":"public","route":"/v1/shared/events","diagnostic":"stream","verification":"configured_symbols_only"},{"id":"wsBook","label":"실시간 호가 구독 · 해제","method":"WS","path":"usdt/orderBook.{instrument_id}.[depth]","scope":"public","route":"/v1/shared/market/orderbook","diagnostic":"orderBookStream","verification":"configured_symbols_only"}]},"components":{"securitySchemes":{"ServiceToken":{"type":"http","scheme":"bearer","description":"서버별 공통 시세 조회 전용 64자리 토큰. 개인 계좌 접근 불가."},"DeviceToken":{"type":"http","scheme":"bearer","description":"일회용 기기 연결에서 발급. 이 서버는 primary owner 전용."},"BotAgentToken":{"type":"http","scheme":"bearer","description":"등록 봇 명령·상태 보고 전용. 개인 계좌 직접 조회 불가."},"TestSession":{"type":"apiKey","in":"cookie","name":"__Secure-ccs-test","description":"테스트 페이지의 15분 점검 전용 세션. 직접 입력하지 않습니다."}}}}