API 문서
프로그램에서 URL을 단축할 수 있는 간단한 REST API입니다. 현재 인증 없이 사용할 수 있습니다.
공개 API가 일시 중단되었습니다. 아래 설명은 그대로지만 지금은 요청이 403 으로 돌아와요. 다시 열리면 고칠 것 없이 그대로 쓰시면 됩니다.
/api/v1/shorten
URL을 단축합니다. 요청 본문은 JSON 또는 폼 형식을 지원합니다.
파라미터
original_url 필수단축할 원본 URL. http:// 또는 https:// 로 시작해야 하며 2048자 이하.
한글 등 ASCII 밖의 문자는 퍼센트 인코딩해 주세요.
custom_code 선택원하는 단축 코드(생략 시 자동 생성). 한글·영문·숫자·-·_ 1~64자. 문자열로 보내야 합니다.
expire_duration 선택만료 기간: 24h, 48h, 1week, 1month
(기본 1week). 이 네 값 밖이면 400 으로 거절합니다.
한 IP 에서 1시간에 100개까지 만들 수 있습니다. 초과하면 429 와 Retry-After 헤더를 돌려줍니다.
POST https://sli.kr/api/v1/shorten
Content-Type: application/json
{
"original_url": "https://example.com/very-long-url",
"custom_code": "sale",
"expire_duration": "1week"
}
{
"status": "success",
"message": "URL이 성공적으로 단축되었습니다.",
"data": {
"short_url": "https://sli.kr/sale",
"original_url": "https://example.com/very-long-url",
"code": "sale",
"expiration_date": "2026-07-29 14:30:05"
}
}
expiration_date 는 UTC 기준 YYYY-MM-DD HH:MM:SS 입니다.
영구 링크(회원 전용)에서는 null 이 됩니다.
오류 응답
실패는 항상 아래 형태이고 Content-Type 은 application/json 입니다.
{ "status": "error", "message": "이미 사용 중인 단축 코드입니다." }
올바른 URL을 입력해 주세요. (예: example.com)— 스킴이 없거나 형식 오류. 필수 파라미터를 빠뜨린 경우도 이 메시지입니다.URL이 너무 깁니다. 2048자 이하로 입력해 주세요.단축 코드는 한글·영문·숫자·(-,_) 1~64자만 사용할 수 있습니다.단축 코드는 64자 이하로 입력해 주세요.custom_code 는 문자열이어야 합니다.이미 사용 중인 단축 코드입니다. / 사용할 수 없는 단축 코드입니다.— 뒤의 것은 예약어입니다.차단된 도메인이에요. 다른 URL을 사용해 주세요.expire_duration 은 24h, 48h, 1week, 1month 중 하나여야 합니다.
/api/ 로 시작하는 경로는 JSON 으로 답합니다)Allow 헤더에 쓸 수 있는 메서드가 옵니다.Retry-After 초 단위./api/v1/shorten
API 정보와 사용 가능한 파라미터를 JSON으로 반환합니다. HEAD 도 같은 헤더를 돌려줍니다(본문 없음).
브라우저에서 직접 호출
모든 응답에 Access-Control-Allow-Origin: * 가 붙어 있어 어느 도메인의 웹페이지에서도 바로 호출할 수 있습니다.
OPTIONS 프리플라이트는 204 로 답합니다.
인증 토큰이 없습니다. 공개해도 되는 용도로만 사용해 주세요.
cURL 예시
curl -X POST https://sli.kr/api/v1/shorten \
-H "Content-Type: application/json" \
-d '{"original_url":"https://example.com","expire_duration":"48h"}'
가입 없이도 홈에서 바로 단축할 수 있어요. 기능 전체는 가이드에 있습니다.