기본형
군더더기 없이 빠른 스캔
같은 엔드포인트로도 다양한 스타일을 만들 수 있습니다. 심플하게 유지하거나, 브랜드를 살리거나, 오프라인 캠페인용으로 프레임을 추가해 보세요.
군더더기 없이 빠른 스캔
먼 거리에서도 잘 보이도록 설계
테마에 맞춘 캠페인
기본 워터마크 아이콘
포스터용 "SCAN ME"
소셜용 스타일 강화
정적 또는 동적 QR 코드를 생성하고 계정에 저장합니다.
JSON만 전송하세요. 키 인증의 경우 헤더 사용이 권장됩니다. 본문의 키 필드는 기존 통합과의 호환성을 위해 제공됩니다.
가장 빠르게 Hello World를 시작하는 방법입니다.
curl -sS -X POST 'https://createqr.app/api/v1/create' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer ck_live_XXXXXXXXXXXXXXXXXXXXXXXX' \
-d '{"data":"https://createqr.app","qrtype":"static"}'
| 매개변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
apikey |
문자열 | 필수 |
비밀 API 키입니다. Authorization 헤더(Bearer) 사용을 권장합니다. JSON 본문의 apikey/api_key도 허용됩니다. |
data |
문자열 | 필수 |
인코딩할 콘텐츠입니다. 동적 QR의 경우 유효한 URL이어야 합니다. |
qrtype |
문자열 | static |
QR 모드: static 또는 dynamic. |
title |
문자열 | 선택 사항 |
대시보드에 표시되는 QR 제목입니다(120자까지 잘림). |
folderid |
숫자 | 선택 사항 |
계정에 속한 양의 정수 폴더 ID입니다. |
| 매개변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
transparent |
문자열/불리언 | off |
on/off, true/false, 1/0, yes/no를 허용합니다. |
backcolor |
문자열 | #FFFFFF |
#RRGGBB 형식의 배경 16진수 색상입니다. |
frontcolor |
문자열 | #000000 |
#RRGGBB 형식의 기본 점 16진수 색상입니다. |
gradient |
문자열/불리언 | off |
두 가지 색상의 점 그라데이션을 활성화합니다. |
radial |
문자열/불리언 | off |
방사형 그라데이션을 활성화합니다(gradient가 켜져 있을 때 작동). |
gradient_color |
문자열 | #15A97C |
#RRGGBB 형식의 두 번째 그라데이션 색상입니다. |
marker_out_color |
문자열 | #000000 |
외부 파인더 마커 색상입니다. |
marker_in_color |
문자열 | #000000 |
내부 파인더 마커 색상입니다. |
pattern |
문자열 | default |
본문 점 스타일 프리셋입니다.
default
circle
star
diamond
sparkle
danger
cross
plus
x
heart
shake
blob
special-circle-orizz
special-circle-vert
special-circle
special-diamond
ribbon
oriental
ellipse
|
marker |
문자열 | default |
외부 마커 스타일 프리셋입니다.
default
flurry
sdoz
drop_in
drop
dropeye
dropeyeleft
dropeyeleaf
dropeyeright
squarecircle
circle
rounded
flower
flower_in
leaf
|
marker_in |
문자열 | default |
내부 마커 스타일 프리셋입니다.
default
flurry
sdoz
drop_in
drop
dropeye
circle
rounded
sun
star
diamond
danger
cross
plus
x
heart
|
optionlogo |
문자열 | none |
none, 권장되는 로컬 SVG 워터마크 경로, 레거시 로컬 PNG 경로 또는 base64 이미지 데이터입니다.
none
data:image/*;base64,...
/images/watermarks/v2/01-link.svg
/images/watermarks/v2/02-location.svg
/images/watermarks/v2/03-email.svg
/images/watermarks/v2/04-whatsapp.svg
/images/watermarks/v2/05-wifi.svg
/images/watermarks/v2/06-vcard.svg
/images/watermarks/v2/07-menu.svg
/images/watermarks/v2/08-app.svg
/images/watermarks/v2/09-video.svg
/images/watermarks/v2/10-feedback.svg
/images/watermarks/v2/11-event.svg
/images/watermarks/v2/12-coupon.svg
/images/watermarks/v2/13-music.svg
/images/watermarks/v2/14-social.svg
/images/watermarks/v2/15-paypal.svg
/images/watermarks/v2/16-bitcoin.svg
/images/watermarks/v2/17-scan.svg
|
no_logo_bg |
문자열/불리언 | off |
로고 배경판을 비활성화합니다. |
| 매개변수 | 유형 | 기본값 | 설명 |
|---|---|---|---|
outer_frame |
문자열 | none |
프레임 스타일 프리셋입니다.
none
bottom
top
balloon-bottom
balloon-top
ribbon-bottom
ribbon-top
phone
cine
|
framelabel |
문자열 | 스캔하세요 |
프레임 텍스트 라벨입니다(80자까지 잘림). |
label_font |
문자열 | Arial, Helvetica, sans-serif |
프레임 라벨용 글꼴 스택입니다. |
custom_frame_color |
문자열/불리언 | off |
사용자 지정 프레임 색상을 활성화합니다. |
framecolor |
문자열 | #000000 |
#RRGGBB 형식의 프레임 16진수 색상입니다. |
{
"apikey": "ck_live_XXXXXXXXXXXXXXXXXXXXXXXX",
"data": "https://createqr.app",
"qrtype": "static",
"title": "Launch Landing QR",
"transparent": "off",
"backcolor": "#FFFFFF",
"frontcolor": "#000000",
"marker_out_color": "#000000",
"marker_in_color": "#000000",
"pattern": "default",
"marker": "default",
"marker_in": "default",
"optionlogo": "none"
}
{
"apikey": "ck_live_XXXXXXXXXXXXXXXXXXXXXXXX",
"data": "https://createqr.app/features",
"qrtype": "static",
"title": "Feature Tour QR",
"transparent": "off",
"backcolor": "#033895",
"frontcolor": "#FFFFFF",
"marker_out_color": "#669DF4",
"marker_in_color": "#669DF4",
"pattern": "oriental",
"marker": "flower",
"marker_in": "circle",
"optionlogo": "/images/watermarks/v2/01-link.svg"
}
{
"apikey": "ck_live_XXXXXXXXXXXXXXXXXXXXXXXX",
"data": "https://createqr.app/pricing",
"qrtype": "static",
"title": "Pricing Poster QR",
"transparent": "off",
"frontcolor": "#2B0011",
"marker_out_color": "#3B0001",
"marker_in_color": "#3B0001",
"pattern": "ellipse",
"marker": "sdoz",
"marker_in": "sdoz",
"optionlogo": "none",
"outer_frame": "balloon-top",
"framelabel": "SCAN ME",
"label_font": "Arial, Helvetica, sans-serif",
"custom_frame_color": "on",
"framecolor": "#3B0001"
}
{
"success": true,
"data": {
"qrid": "1284",
"svg": "<svg ...>...</svg>",
"type": "static",
"title": "Pricing Poster QR",
"dashboard_url": "https://createqr.app/app/qrs/1284",
"download_url": "https://createqr.app/app/qrs/1284/download/svg"
},
"request_id": "0f8fad5b-d9cb-469f-a165-70867728950e"
}
ID로 QR 코드를 삭제합니다(소유자만 가능).
{
"apikey": "ck_live_XXXXXXXXXXXXXXXXXXXXXXXX",
"qrid": "1284"
}
{
"success": true,
"data": {
"deleted": true,
"qrid": "1284"
},
"request_id": "0f8fad5b-d9cb-469f-a165-70867728950e"
}
QR 코드를 최신순으로 페이지당 100개씩 조회합니다.
페이지네이션은 1부터 시작하세요. 결과는 페이지당 최대 100개 항목을 반환합니다.
{
"apikey": "ck_live_XXXXXXXXXXXXXXXXXXXXXXXX",
"pagination": "1"
}
{
"success": true,
"data": {
"pagination": "1",
"page_size": 100,
"total": 2,
"items": [
{
"qrid": "1284",
"title": "Campaign QR",
"type": "dynamic",
"created_at": "2026-02-17 09:12:30",
"short_url": "https://createqr.app/r/a1b2c3",
"dashboard_url": "https://createqr.app/app/qrs/1284"
},
{
"qrid": "1269",
"title": "Storefront QR",
"type": "static",
"created_at": "2026-02-17 08:02:08",
"dashboard_url": "https://createqr.app/app/qrs/1269"
}
]
},
"request_id": "0f8fad5b-d9cb-469f-a165-70867728950e"
}
모든 응답에는 request_id가 포함됩니다. 빠르게 디버깅할 수 있도록 지원팀에 문의할 때 이를 함께 전달해 주세요.
{
"success": false,
"error": {
"code": "validation_error",
"message": "Dynamic QR requires a valid URL in data."
},
"request_id": "5f5fbd38-f82f-49ad-bf11-f7f04ca9747a"
}
| 오류 코드 | HTTP | 발생 시점 | 대응 방법 |
|---|---|---|---|
invalid_api_key |
401 | API 키가 없거나 유효하지 않음 | Bearer, X-API-Key 또는 JSON 본문 필드를 통해 유효한 키를 제공하세요. |
invalid_content_type |
415 | 본문이 application/json이 아님 | Content-Type: application/json을 전송하세요. |
request_too_large |
413 | 페이로드가 설정된 제한을 초과함 | 본문 크기를 줄이세요. 특히 base64 로고를 확인하세요. |
plan_upgrade_required |
403 | 현재 요금제에서는 API를 사용할 수 없음 | 결제 페이지에서 Business로 업그레이드하세요. |
validation_error |
422 | URL, color 또는 folderid 등의 필드가 유효하지 않음 | 페이로드 형식을 수정한 후 다시 제출하세요. |
rate_limited |
429 | 분당 제한에 도달함 | 지수 백오프로 재시도하고 Retry-After를 준수하세요. |
monthly_quota_exceeded |
429 | 월간 할당량을 모두 소진함 | 재설정을 기다리거나 할당량 및 키 설정을 조정하세요. |
qr_not_found |
404 | 삭제 대상이 없거나 본인 소유가 아님 | qrid 소유권을 확인한 후 다시 시도하세요. |
internal_error |
500 | 예기치 않은 서버 측 문제 | 백오프로 재시도하고 지원팀 문의를 위해 request_id를 보관하세요. |
통합에서 가장 자주 받는 질문에 대한 짧은 답변입니다.
API는 Business 전용입니다. 월간 할당량은 활성 플랜과 키별 재정의 설정에 따라 결정됩니다. 기본 Business 제공량은 넉넉하며, 관리자는 키별로 세부 조정할 수 있습니다.
예. 헤더 기반 인증을 권장하지만, 호환성을 위해 본문 필드 apikey 또는 api_key도 허용됩니다.
예. 생성에 성공한 모든 QR은 계정에 저장되며 다른 QR과 동일하게 관리할 수 있습니다.
JSON 오류를 받게 됩니다. 429 응답의 경우 Retry-After를 준수하고 지터를 포함한 지수 백오프를 사용하세요.
아니요. 삭제와 목록 조회는 인증된 API 키 소유자 범위로 제한됩니다.