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_key

API 키는 설정

엔드포인트 개요

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 사용량 조회

문서

POST/api/v1/documents

새 마크다운 문서 생성

요청 본문

필드타입필수설명
contentstring마크다운 내용 (최대 500,000자)
titlestring아니오문서 제목 (최대 200자, 미입력 시 내용에서 추출)
expirationstring아니오만료 기간: 1h, 1d, 7d, 30d, 또는 never
passwordstring아니오공유 링크 비밀번호 보호
project_idstring아니오문서를 연결할 프로젝트 ID (UUID)
is_publicboolean아니오검색 엔진에 문서 공개
show_ai_chatboolean아니오뷰어에서 AI 채팅 표시 (Pro)
show_tocboolean아니오뷰어에서 목차 표시 (Pro)
show_notesboolean아니오뷰어에서 메모 표시 (Pro)
show_commentsboolean아니오뷰어에서 댓글/피드백 표시 (Pro)
show_summaryboolean아니오뷰어에서 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개).

GET/api/v1/documents

내 문서 목록 조회 (페이지네이션)

쿼리 파라미터

필드타입필수설명
pageinteger아니오페이지 번호 (기본값: 1)
page_sizeinteger아니오페이지당 항목 수, 최대 100 (기본값: 20)
project_idstring아니오프로젝트 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
}
GET/api/v1/documents/{id}

ID(UUID)로 문서 조회

내용을 포함한 전체 문서 응답을 반환합니다. 본인 소유 문서만 접근 가능합니다.

GET/api/v1/documents/slug/{slug}

슬러그로 문서 조회

쿼리 파라미터

필드타입필수설명
passwordstring아니오비밀번호 보호된 문서의 비밀번호
PATCH/api/v1/documents/{id}

문서 수정 (부분 업데이트)

요청 본문

모든 필드는 선택 사항입니다. 제공된 필드만 업데이트됩니다.

필드타입필수설명
contentstring아니오마크다운 내용 (최대 500,000자)
titlestring아니오문서 제목 (최대 200자, 미입력 시 내용에서 추출)
expirationstring아니오만료 기간. 'never'로 만료 제거
passwordstring아니오비밀번호. 빈 문자열 ''로 비밀번호 제거
project_idstring아니오프로젝트 ID. 빈 문자열 ''로 프로젝트 연결 해제
is_publicboolean아니오검색 엔진에 문서 공개
show_ai_chatboolean아니오뷰어에서 AI 채팅 표시 (Pro)
show_tocboolean아니오뷰어에서 목차 표시 (Pro)
show_notesboolean아니오뷰어에서 메모 표시 (Pro)
show_commentsboolean아니오뷰어에서 댓글/피드백 표시 (Pro)
show_summaryboolean아니오뷰어에서 AI 요약 표시 (Pro)
DELETE/api/v1/documents/{id}

문서 삭제

문서를 영구 삭제합니다. 성공 시 204 No Content를 반환합니다.

프로젝트

POST/api/v1/projects

새 프로젝트 생성

요청 본문

필드타입필수설명
namestring프로젝트 이름 (최대 100자)
descriptionstring아니오프로젝트 설명 (최대 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"
}
GET/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
}
GET/api/v1/projects/{id}

프로젝트 상세 + 문서 목록 조회

문서 목록을 포함한 프로젝트 상세 정보를 반환합니다. 소유자 및 멤버만 접근 가능합니다.

PATCH/api/v1/projects/{id}

프로젝트 수정 (소유자만)

요청 본문

필드타입필수설명
namestring아니오프로젝트 이름 (최대 100자)
descriptionstring아니오프로젝트 설명. 빈 문자열 ''로 설명 제거

프로젝트 소유자만 설정을 변경할 수 있습니다.

DELETE/api/v1/projects/{id}

프로젝트 삭제 (소유자만)

프로젝트를 삭제합니다. 소속 문서는 삭제되지 않고 분리됩니다. 204 No Content를 반환합니다.

사용량 및 프로필

GET/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"
}
GET/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 키를 생성하세요.