PasteMD API
프로그래밍 방식으로 마크다운 문서를 생성하고 공유하세요. REST API로 문서, 프로젝트 등을 관리할 수 있습니다.
빠른 시작
간단한 API 호출로 문서를 생성해보세요.
curl -X POST https://api.pastemd.io/api/v1/documents \
-H "X-API-Key: pm_your_api_key" \
-H "Content-Type: application/json" \
-d '{"content": "# Hello World\n\nYour markdown content here."}'인증
모든 API 요청에는 X-API-Key 헤더에 API 키가 필요합니다. API 키는 Pro 플랜 사용자에게 제공됩니다.
헤더 형식
X-API-Key: pm_your_api_keyAPI 키는 설정
엔드포인트 개요
API는 3개 카테고리에 걸쳐 13개의 엔드포인트를 제공합니다.
| 메서드 | 경로 | 설명 |
|---|---|---|
| 문서 | ||
| POST | /api/v1/documents | 새 마크다운 문서 생성 |
| GET | /api/v1/documents | 내 문서 목록 조회 (페이지네이션) |
| GET | /api/v1/documents/{id} | ID(UUID)로 문서 조회 |
| GET | /api/v1/documents/slug/{slug} | 슬러그로 문서 조회 |
| PATCH | /api/v1/documents/{id} | 문서 수정 (부분 업데이트) |
| DELETE | /api/v1/documents/{id} | 문서 삭제 |
| 프로젝트 | ||
| POST | /api/v1/projects | 새 프로젝트 생성 |
| GET | /api/v1/projects | 내 프로젝트 목록 조회 |
| GET | /api/v1/projects/{id} | 프로젝트 상세 + 문서 목록 조회 |
| PATCH | /api/v1/projects/{id} | 프로젝트 수정 (소유자만) |
| DELETE | /api/v1/projects/{id} | 프로젝트 삭제 (소유자만) |
| 사용량 및 프로필 | ||
| GET | /api/v1/me | 내 프로필 정보 조회 |
| GET | /api/v1/usage | 이번 달 API 사용량 조회 |
문서
/api/v1/documents새 마크다운 문서 생성
요청 본문
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
content | string | 예 | 마크다운 내용 (최대 500,000자) |
title | string | 아니오 | 문서 제목 (최대 200자, 미입력 시 내용에서 추출) |
expiration | string | 아니오 | 만료 기간: 1h, 1d, 7d, 30d, 또는 never |
password | string | 아니오 | 공유 링크 비밀번호 보호 |
project_id | string | 아니오 | 문서를 연결할 프로젝트 ID (UUID) |
is_public | boolean | 아니오 | 검색 엔진에 문서 공개 |
show_ai_chat | boolean | 아니오 | 뷰어에서 AI 채팅 표시 (Pro) |
show_toc | boolean | 아니오 | 뷰어에서 목차 표시 (Pro) |
show_notes | boolean | 아니오 | 뷰어에서 메모 표시 (Pro) |
show_comments | boolean | 아니오 | 뷰어에서 댓글/피드백 표시 (Pro) |
show_summary | boolean | 아니오 | 뷰어에서 AI 요약 표시 (Pro) |
응답
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"slug": "abc123",
"title": "Hello World",
"content": "# Hello World\n\nYour markdown content here.",
"url": "https://pastemd.io/s/abc123",
"edit_url": "https://pastemd.io/e/550e8400-e29b-41d4-a716-446655440000",
"view_count": 0,
"created_at": "2025-01-04T12:00:00Z",
"updated_at": "2025-01-04T12:00:00Z",
"is_password_protected": false,
"is_public": false,
"project_id": null
}이 엔드포인트는 월간 문서 생성 쿼터에 포함됩니다 (월 100개).
/api/v1/documents내 문서 목록 조회 (페이지네이션)
쿼리 파라미터
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
page | integer | 아니오 | 페이지 번호 (기본값: 1) |
page_size | integer | 아니오 | 페이지당 항목 수, 최대 100 (기본값: 20) |
project_id | string | 아니오 | 프로젝트 ID로 필터링 |
응답
{
"items": [
{
"id": "550e8400-...",
"slug": "abc123",
"title": "Hello World",
"url": "https://pastemd.io/s/abc123",
"view_count": 42,
"created_at": "2025-01-04T12:00:00Z",
"updated_at": "2025-01-04T12:00:00Z",
"is_password_protected": false,
"is_public": false,
"project_id": null
}
],
"total": 15,
"page": 1,
"page_size": 20,
"has_next": false
}/api/v1/documents/{id}ID(UUID)로 문서 조회
내용을 포함한 전체 문서 응답을 반환합니다. 본인 소유 문서만 접근 가능합니다.
/api/v1/documents/slug/{slug}슬러그로 문서 조회
쿼리 파라미터
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
password | string | 아니오 | 비밀번호 보호된 문서의 비밀번호 |
/api/v1/documents/{id}문서 수정 (부분 업데이트)
요청 본문
모든 필드는 선택 사항입니다. 제공된 필드만 업데이트됩니다.
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
content | string | 아니오 | 마크다운 내용 (최대 500,000자) |
title | string | 아니오 | 문서 제목 (최대 200자, 미입력 시 내용에서 추출) |
expiration | string | 아니오 | 만료 기간. 'never'로 만료 제거 |
password | string | 아니오 | 비밀번호. 빈 문자열 ''로 비밀번호 제거 |
project_id | string | 아니오 | 프로젝트 ID. 빈 문자열 ''로 프로젝트 연결 해제 |
is_public | boolean | 아니오 | 검색 엔진에 문서 공개 |
show_ai_chat | boolean | 아니오 | 뷰어에서 AI 채팅 표시 (Pro) |
show_toc | boolean | 아니오 | 뷰어에서 목차 표시 (Pro) |
show_notes | boolean | 아니오 | 뷰어에서 메모 표시 (Pro) |
show_comments | boolean | 아니오 | 뷰어에서 댓글/피드백 표시 (Pro) |
show_summary | boolean | 아니오 | 뷰어에서 AI 요약 표시 (Pro) |
/api/v1/documents/{id}문서 삭제
문서를 영구 삭제합니다. 성공 시 204 No Content를 반환합니다.
프로젝트
/api/v1/projects새 프로젝트 생성
요청 본문
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
name | string | 예 | 프로젝트 이름 (최대 100자) |
description | string | 아니오 | 프로젝트 설명 (최대 500자) |
응답
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Project",
"description": "Project description",
"document_count": 0,
"member_count": 1,
"documents": [],
"created_at": "2025-01-04T12:00:00Z",
"updated_at": "2025-01-04T12:00:00Z"
}/api/v1/projects내 프로젝트 목록 조회
응답
{
"items": [
{
"id": "550e8400-...",
"name": "My Project",
"description": "Project description",
"document_count": 5,
"member_count": 3,
"created_at": "2025-01-04T12:00:00Z",
"updated_at": "2025-01-04T12:00:00Z"
}
],
"total": 2
}/api/v1/projects/{id}프로젝트 상세 + 문서 목록 조회
문서 목록을 포함한 프로젝트 상세 정보를 반환합니다. 소유자 및 멤버만 접근 가능합니다.
/api/v1/projects/{id}프로젝트 수정 (소유자만)
요청 본문
| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
name | string | 아니오 | 프로젝트 이름 (최대 100자) |
description | string | 아니오 | 프로젝트 설명. 빈 문자열 ''로 설명 제거 |
프로젝트 소유자만 설정을 변경할 수 있습니다.
/api/v1/projects/{id}프로젝트 삭제 (소유자만)
프로젝트를 삭제합니다. 소속 문서는 삭제되지 않고 분리됩니다. 204 No Content를 반환합니다.
사용량 및 프로필
/api/v1/me내 프로필 정보 조회
응답
{
"id": 12345,
"email": "user@example.com",
"display_name": "John Doe",
"plan": "pro",
"is_pro": true,
"created_at": "2025-01-01T00:00:00Z"
}/api/v1/usage이번 달 API 사용량 조회
응답
{
"month": "2025-01",
"docs_created": 23,
"docs_limit": 100,
"remaining": 77
}에러 코드
모든 에러는 에러 코드와 메시지를 포함한 일관된 JSON 형식으로 응답합니다.
| 상태 코드 | 설명 |
|---|---|
401 | 유효하지 않거나 누락된 API 키 |
403 | 권한 부족 (예: 프로젝트 소유자가 아닌 경우) |
404 | 리소스를 찾을 수 없거나 본인 소유가 아님 |
422 | 유효하지 않은 요청 본문 또는 파라미터 |
429 | 월간 문서 생성 한도 초과 |
사용량 제한
문서 생성만 월간 쿼터에 포함됩니다. 그 외 모든 작업은 무제한입니다.
| 작업 | 제한 |
|---|---|
| 문서 생성 (POST) | 월 100개 |
| 조회 / 수정 / 삭제 | 무제한 |
| AI 채팅 (문서당) | 50회 질문 |
시작할 준비가 되셨나요? 지금 API 키를 생성하세요.