# {PROJECT_NAME} API PRD (Lite)

> MVP용. 핵심만. 하지만 AI가 빠뜨리면 안 되는 건 다 있음.
>
> 작성일: {DATE}

---

## 1. 한 줄 요약

**[클라이언트]**를 위한 **[핵심 기능]** API

---

## 2. 문제 → 해결

| 문제 | 해결 |
|------|------|
| [현재 겪는 문제] | [이 API가 해결하는 방법] |

---

## 3. 엔드포인트 (P0만)

| Method | Path | 설명 | 에러 |
|--------|------|------|------|
| POST | /auth/login | 로그인 | 400, 401 |
| POST | /auth/signup | 회원가입 | 400, 409 |
| GET | /api/[리소스] | 목록 | 401, 500 |
| POST | /api/[리소스] | 생성 | 400, 401 |

---

## 4. Constraints (AI 경계)

### ALWAYS (무조건)
- [ ] 모든 입력 검증
- [ ] 적절한 HTTP 상태 코드
- [ ] 에러 로깅

### NEVER (절대 금지)
- [ ] **스펙에 없는 엔드포인트 구현**
- [ ] 하드코딩된 시크릿
- [ ] SQL 직접 작성

### Out of Scope (이번에 안 함)
- [기능 X] - v2에서

---

## 5. 응답 형식

**성공**
```json
{ "success": true, "data": { ... } }
```

**에러**
```json
{ "success": false, "error": { "code": "ERROR_CODE", "message": "메시지" } }
```

---

## 6. 에러 코드

| 코드 | HTTP | 메시지 |
|------|------|--------|
| AUTH_REQUIRED | 401 | "로그인이 필요합니다" |
| INVALID_INPUT | 400 | [필드별] |
| NOT_FOUND | 404 | "찾을 수 없습니다" |
| INTERNAL_ERROR | 500 | "잠시 후 다시 시도해주세요" |

---

## 7. 기술 스택

| 구분 | 선택 |
|------|------|
| 런타임 | Node / Python |
| 프레임워크 | Express / FastAPI |
| DB | PostgreSQL |

---

## 8. 완료 체크리스트

- [ ] P0 엔드포인트 동작
- [ ] 에러 응답 형식 통일
- [ ] 인증 플로우 완료
- [ ] 테스트 커버리지 > 80%

---

## 변경 로그

| 날짜 | 내용 |
|------|------|
| {DATE} | 최초 작성 |
