핵심 기능기능프라이싱보안문서변경이력
로그인무료로 시작하기

시작하기

  • QA Note란?
  • 빠른 시작 가이드
  • Extension 설치
  • 프로젝트 멤버

기능 가이드

  • 스크린샷 & 어노테이션
  • 세션 레코딩
  • 유지보수 리포트
  • 이슈 상태 모델
  • 멀티 이슈 윈도우
  • Storage · DOM 스냅샷

연동

  • GitHub
  • 커밋 키
  • MCP 서버
  • Slack
  • Webhook
  • Vercel
  • 기존 Playwright

API 레퍼런스

  • 인증
  • 엔드포인트 레퍼런스
  • 공개 API v1
  • 에러 처리

AI 에이전트와 함께 쓰는 이슈 트래커. 수정은 당신의 에이전트가, 기록은 QA Note가.

Made in Seoul · © 2026 QA Note
제품핵심 기능기능프라이싱보안변경이력
리소스문서MCP 가이드Chrome 확장
회사브랜드이용약관개인정보처리방침

에프에프지지(ffgg)|대표: 한송욱

사업자등록번호: 746-54-00870[사업자정보확인]|통신판매업신고번호: 제 2024-서울마포-2178 호

주소: 서울특별시 마포구 월드컵북로6길 26, 5층(동교동, 삼기빌딩)

이메일: support@qanote.app|호스팅 제공자: Vercel Inc.

© 2026 QA Note. All rights reserved.

이용약관개인정보처리방침쿠키정책
  1. 홈
  2. /
  3. Docs
  4. /
  5. API 레퍼런스

에러 처리

API 에러 코드 및 해결 방법

목차
  • 에러 응답 형식
  • HTTP 상태 코드
  • 일반적인 에러 시나리오
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found
  • 400 Bad Request
  • 429 Too Many Requests

에러 처리

QA Note API는 표준 HTTP 상태 코드와 JSON 형식의 에러 응답을 반환합니다.

에러 응답 형식

모든 에러 응답은 다음 형식을 따릅니다.

json
{
  "error": "에러 메시지"
}

입력 유효성 검사 실패 시 상세 정보가 포함됩니다.

json
{
  "error": "Invalid input",
  "details": [
    {
      "field": "status",
      "message": "Invalid enum value. Expected 'open' | 'in_progress' | 'blocked' | 'fix_submitted' | 'verified' | 'closed'"
    }
  ]
}

HTTP 상태 코드

상태 코드설명
200요청 성공
201리소스 생성 성공
400잘못된 요청 (유효성 검사 실패)
401인증 실패 (API Key 누락 또는 만료)
403권한 부족 (필요한 Scope 없음)
404리소스를 찾을 수 없음
422처리할 수 없는 요청
429요청 횟수 제한 초과
500서버 내부 오류

일반적인 에러 시나리오

401 Unauthorized

API Key가 누락되었거나 유효하지 않습니다.

bash
# 잘못된 예시 — Authorization 헤더 누락
curl https://qanote.app/api/v1/projects

# 올바른 예시
curl https://qanote.app/api/v1/projects \
  -H "Authorization: Bearer qn_YOUR_API_KEY"

해결 방법:

  • Authorization 헤더가 포함되어 있는지 확인합니다
  • API Key가 qn_으로 시작하는지 확인합니다
  • API Key가 만료되지 않았는지 대시보드에서 확인합니다

403 Forbidden

API Key에 필요한 권한(Scope)이 없습니다.

json
{
  "error": "Insufficient scope"
}

해결 방법:

  • 대시보드에서 API Key의 Scope 설정을 확인합니다
  • 이슈 조회: issues:read 필요
  • 이슈 수정/코멘트 작성: issues:write 필요
  • 프로젝트 조회: projects:read 필요

404 Not Found

요청한 리소스(프로젝트, 이슈 등)가 존재하지 않거나, API Key의 조직에 속하지 않습니다.

json
{
  "error": "Project not found"
}

해결 방법:

  • 프로젝트 ID나 이슈 번호가 올바른지 확인합니다
  • 해당 리소스가 API Key의 조직에 속하는지 확인합니다

400 Bad Request

요청 본문의 유효성 검사에 실패했습니다.

json
{
  "error": "Invalid input",
  "details": [
    {
      "field": "priority",
      "message": "Invalid enum value. Expected 'low' | 'medium' | 'high' | 'critical'"
    }
  ]
}

해결 방법:

  • 요청 본문이 올바른 JSON 형식인지 확인합니다
  • Content-Type: application/json 헤더가 포함되어 있는지 확인합니다
  • 파라미터 값이 허용된 범위 내인지 확인합니다

429 Too Many Requests

API 요청 횟수 제한을 초과했습니다.

해결 방법:

  • 잠시 후 다시 시도합니다
  • 요청 간격을 두고 재시도하는 로직을 구현합니다
  • 불필요한 반복 요청을 줄입니다
이전
공개 API v1

목차

  • 에러 응답 형식
  • HTTP 상태 코드
  • 일반적인 에러 시나리오
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found
  • 400 Bad Request
  • 429 Too Many Requests