{"openapi":"3.0.3","info":{"title":"APICK 입지 종합 점수","version":"1.0.0","description":"후보 주소·좌표의 생활 인프라 접근성, 분류 다양성, 주소 확인도를 합산해 0~100 점수와 등급으로 만듭니다. 여러 후보지를 같은 반경·분류로 점수화해 순위를 비교할 때 씁니다."},"servers":[{"url":"https://apick.app"}],"paths":{"/rest/geo_site_score":{"post":{"summary":"입지 종합 점수","description":"후보 주소·좌표의 생활 인프라 접근성, 분류 다양성, 주소 확인도를 합산해 0~100 점수와 등급으로 만듭니다. 여러 후보지를 같은 반경·분류로 점수화해 순위를 비교할 때 씁니다.","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"서비스별 성공·처리 상태 응답","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"input":{"type":"object","properties":{"address":{"type":"string"},"radius":{"type":"integer"},"categories":{"type":"array","items":{"type":"string"}}},"description":"요청에 쓴 주소·반경·분류입니다."},"location":{"type":"object","properties":{"matched":{"type":"boolean"},"normalized":{"type":"object","properties":{"full":{"type":"string"},"jibunAddress":{"type":"string"},"roadAddress":{"type":"string"},"sido":{"type":"string"},"sigungu":{"type":"string"},"eupmyeondong":{"type":"string"},"ri":{"type":"string"},"adminDong":{"type":"string"},"jibun":{"type":"string"},"detail":{"type":"string"}}},"codes":{"type":"object","properties":{"pnu":{"type":"string"},"bjdongCode":{"type":"string"},"lawdCd":{"type":"string"},"adminDongCode":{"type":"string"},"sidoCode":{"type":"string"},"sigunguCode":{"type":"string"}}},"point":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"crs":{"type":"string"}}},"confidence":{"type":"string"},"warnings":{"type":"array","items":{}}},"description":"기준점의 주소·코드·좌표입니다. 항목 구성은 주소 표준화 API의 normalized·codes와 같습니다. 좌표로 요청하면 confidence가 coordinate입니다."},"summary":{"type":"object","properties":{"score":{"type":"integer","description":"종합 점수(0~100)입니다."},"grade":{"type":"string","description":"A~F 등급입니다."},"verdict":{"type":"string","description":"우수·양호·보통·취약 중 하나입니다."},"facilities":{"type":"integer","description":"반경 안에서 찾은 시설 수의 합입니다."},"categoriesCovered":{"type":"integer","description":"시설을 하나 이상 찾은 분류 수입니다."},"categories":{"type":"integer"},"partial":{"type":"boolean","description":"시간 초과로 일부 분류를 분석하지 못했으면 true입니다."},"elapsedMs":{"type":"integer"}}},"components":{"type":"object","properties":{"accessibility":{"type":"integer","description":"분류별 점수의 평균입니다."},"diversity":{"type":"integer","description":"시설이 있는 분류 비율(0~100)입니다."},"address":{"type":"integer","description":"주소 확인도 점수입니다. 필지번호까지 확인되면 100, 주소만 확인되면 70, 좌표 입력은 80입니다."}}},"weights":{"type":"object","properties":{"accessibility":{"type":"integer"},"diversity":{"type":"integer"},"address":{"type":"integer"}},"description":"합산 비중(접근성 60·다양성 25·주소 15)입니다."},"strongest":{"type":"object","properties":{"name":{"type":"string"},"score":{"type":"integer"}},"description":"점수가 가장 높은 분류와 그 점수입니다."},"weakest":{"type":"object","properties":{"name":{"type":"string"},"score":{"type":"integer"}},"description":"점수가 가장 낮은 분류와 그 점수입니다."},"categories":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"분류 이름입니다."},"count":{"type":"integer","description":"반경 안 시설 수입니다."},"nearestDistanceM":{"type":"number","description":"가장 가까운 시설까지의 거리(m)입니다."},"averageDistanceM":{"type":"number","description":"평균 거리(m)입니다."},"score":{"type":"integer","description":"분류 접근 점수(0~100)입니다."},"nearest":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"category":{"type":"string"},"address":{"type":"string"},"point":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"crs":{"type":"string"}}},"distanceM":{"type":"number"}}},"description":"가까운 시설 목록입니다. limit이 0이면 빈 배열입니다."}}}}}},"api":{"type":"object","properties":{"cost":{"type":"integer","description":"차감된 포인트입니다. 실패한 응답은 0입니다."},"success":{"type":"boolean"},"ms":{"type":"integer","description":"처리 시간(밀리초)입니다."}}}}}}}},"default":{"description":"HTTP 상태 및 서비스 오류코드 확인","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":false,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"기준 주소. 좌표와 둘 중 하나는 필요합니다. 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다. (string)","example":"서울특별시 강남구 역삼동 808"},"x":{"type":"string","description":"기준점 경도 숫자로 보내며, 허용 범위를 벗어나면 요청이 거부됩니다. (number)"},"y":{"type":"string","description":"기준점 위도 숫자로 보내며, 허용 범위를 벗어나면 요청이 거부됩니다. (number)"},"point":{"type":"string","description":"기준점 \"경도,위도\" 문자열로 보내며, 생략하면 서버 기본값이 적용되거나 해당 조건이 해제됩니다. (string)"},"radius":{"type":"string","description":"반경(m). 기본 800 숫자로 보내며, 허용 범위를 벗어나면 요청이 거부됩니다. (number)","example":"800"},"limit":{"type":"string","description":"분류별로 함께 돌려줄 가까운 시설 수 (기본 3, 0이면 생략) 숫자로 보내며, 허용 범위를 벗어나면 요청이 거부됩니다. (integer)"},"addrType":{"type":"string","description":"주소 유형입니다. 기본 auto입니다. 아래 addrType 허용값 표의 값을 씁니다. 주소로 조회할 때만 적용됩니다. (string)"}}}}}}}}},"x-code-tables":[{"title":"addrType 허용값","columns":["값","의미"],"rows":[["auto","지번·도로명을 알아서 판단합니다 (기본값)."],["parcel (또는 jibun·지번)","지번 주소로만 찾습니다."],["road (또는 도로명)","도로명 주소로만 찾습니다."]]},{"title":"오류와 복구","columns":["상황","HTTP","data.error","해결"],"rows":[["주소·좌표 누락","400","주소 또는 좌표가 필요합니다.","address 또는 범위 안의 좌표를 보냅니다."],["반경 범위 오류","400","반경은 100~2000m 입니다.","radius를 100~2000 사이로 보냅니다."],["분류 누락·초과","400","분류 이름이 필요합니다.","categories를 비워 보내지 말고 6개 이하로 보냅니다."],["주소 길이 초과","400","주소가 너무 깁니다.","주소를 200자 이내로 줄입니다."],["addrType 값 오류","400","주소 유형이 잘못됐습니다.","auto·parcel·road 중 하나로 보내거나 생략합니다."],["기준 주소를 찾지 못함","404","입력한 위치를 찾지 못했습니다.","주소 표기를 확인하거나 좌표로 요청합니다."],["반경 안에 시설 없음","404","반경 안에서 시설을 찾지 못했습니다. 반경을 넓히거나 분류를 바꿔 보세요.","radius를 넓힙니다."],["처리 시간 초과","408","처리 시간이 초과됐습니다. 범위를 줄여 다시 시도해 주세요.","목록 건수·반경·분류 수를 줄여 다시 요청합니다."],["일시적 조회 실패","424","공간정보를 일시적으로 가져오지 못했습니다. 잠시 후 다시 시도해 주세요.","잠시 후 같은 요청을 다시 보냅니다."]]}],"x-service-errors":[],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}