Just Do X

API 사용법

내 Just Do X 를 다른 프로그램(AI 작업자 데몬, 자동화 스크립트, MCP 서버 등)에서 다룰 수 있는 API예요. API 로 바꾼 내용은 내 기기들에 동기화로 15초 안에 반영되고, 배정·코멘트 알림도 앱과 똑같이 갑니다.

1. 키 만들기

앱의 계정 메뉴 → 내 정보 → API 키 → [새 API 키 만들기]. 이름, 할 수 있는 일(권한), 만료를 고르면 키가 한 번만 보입니다. 키는 비밀번호처럼 다루세요 — 새면 바로 [폐기]하세요.

키로는 비밀번호·이메일 변경, 계정 삭제, 키 관리를 할 수 없습니다.

API 키와 MCP 연결은 Pro 플랜에서 쓸 수 있어요. 무료 플랜이면 키를 만들 수 없고, Pro 가 끝나면 있던 키는 남지만 부르면 403 pro_only 로 막혀요 — Pro 로 돌아오면 그 키가 다시 돼요. AI 작업자(justdox 데몬)는 무료에서도 쓸 수 있어요(6절). 요금제

2. 부르기

curl https://justdox.io/api/v1/me \
  -H "Authorization: Bearer jdx_live_xxxxxxxxxxxx_..."
curl -X POST https://justdox.io/api/v1/tasks \
  -H "Authorization: Bearer $JDX_KEY" -H "Content-Type: application/json" \
  -d '{"text":"주간 보고서 쓰기","dueDate":"2026-10-24","dueTime":"18:00","tags":["보고"]}'
curl -X PATCH https://justdox.io/api/v1/tasks/<id> \
  -H "Authorization: Bearer $JDX_KEY" -H "Content-Type: application/json" \
  -d '{"status":"done"}'

응답은 JSON. 오류는 { error, message } 와 상태 코드(400 잘못된 입력, 401 키 없음·틀림·폐기·만료, 403 권한 없음·Pro 아님(pro_only)·무료 플랜 한도(plan_limit — 끝나지 않은 업무 10개·반복 5개), 404 없음, 409 충돌, 429 요청이 너무 많음 — 키마다 분당 120회).

3. 엔드포인트

https://justdox.io/api/v1

메서드경로권한설명
GET/meread키의 주인 계정
GET/tasksread업무 목록 — scope=all|mine|received, status=a,b, assigneeId=<id>|none, tag=, updatedSince=<ISO>
POST/taskstasks:write업무 만들기 { text, status?, dueDate?, dueTime?, assigneeId? 또는 assignee?(작업자 이름, 'me' = 나 — '나' 줄이 없으면 담당자 없이), tags?, repeatRule?, requireApproval?, expireOnDue?, reminder?, parentId? } — parentId 면 그 업무의 하위 업무(담당자가 있는 업무 아래에도 된다)
GET/tasks/{id}read업무 하나 — 공유받은 업무도(owner: shared, 읽기만)
PATCH/tasks/{id}tasks:write업무 고치기 (같은 칸들). 받은 업무는 status 만. 안 끝난 하위 업무가 있으면 done 은 409(open_subtasks)
DELETE/tasks/{id}tasks:write내 업무 지우기 (하위 업무가 있으면 409)
GET/tasks/{id}/commentsread코멘트 목록 (오래된 것부터) — 남의 코멘트엔 by(이름), @ 로 받는 사람을 고른 코멘트엔 to(이름)·toMe
POST/tasks/{id}/commentscomments:write코멘트 쓰기 { text, to?, choices? } — 공유받은 업무에도. 상대에게 알림이 간다. to: @ 로 부를 사람 이름(그 사람들에게만 알림). choices: 고를 답 2–6개(화면에 버튼으로, 누른 답이 그 사람의 코멘트가 된다)
GET/tasks/{id}/attachmentsread첨부 파일 목록 (id, name, mime, size, commentId)
POST/tasks/{id}/attachments?commentId=comments:write파일 올리기 — 본문 = 파일, X-File-Name·Content-Type 헤더. commentId 면 그 코멘트에 붙는다
GET/attachments?kind=&name=&taskId=&limit=read첨부 파일 찾기 — 내 업무·받은 업무·공유받은 업무 전체에서(코멘트에 붙은 것까지), 최근 것부터. kind=pdf|image|text|other, name=이름 일부, taskId=a,b 로 좁히기, limit 1–500(기본 100). 줄마다 id, taskId, name, mime, size, commentId
GET/attachments/{id}read파일 내려받기
GET/tasks/{id}/sharesread내 업무를 공유받은 사람(sharedWith)과 공유할 수 있는 사람(candidates)
POST/tasks/{id}/sharestasks:write공유하기 { person, unshare? } — person: candidates 의 이름. 공유받은 사람은 보기·코멘트만. unshare: true 면 풀기
PATCH/comments/{id}comments:write내가 쓴 코멘트 고치기 { text }
POST/comments/{id}/reactionscomments:write이모지 반응 { emoji: 👍|❤️|😂|🎉|🙏|✅, on?: false 면 빼기 }
GET/workersread작업자 목록
POST/workersworkers:write작업자(이름표) 추가 { name }
PATCH/workers/{id}workers:write작업자 이름 바꾸기 { name }
POST/agentreadAI 작업자 데몬 전용 — { providers, version } 를 알리고 작업자 설정(모델·권한·한도)을 받는다
POST/mcpreadMCP 서버 — AI 앱 연결(5절). 도구는 키의 권한대로
GET/changes?since=<ISO>read그 뒤로 바뀐 업무(지운 것 포함)·코멘트와 다음 since

4. 업무 모양

{
  "id": "uuid",
  "text": "주간 보고서 쓰기",
  "status": "pending | active | hold | review | done | missed",
  "dueDate": "2026-10-24" | null,
  "dueTime": "18:00" | null,
  "repeatRule": "daily | weekly:1,3 | monthly:15 | every:3d" | null,
  "tags": [],
  "assigneeId": "worker uuid" | null,
  "parentId": null,
  "requireApproval": false,
  "expireOnDue": false,
  "reminder": "at | m5 | m10 | m30 | h1 | d1 | sun | none" | null,
  "owner": "me | other | shared",
  "createdAt": "ISO", "updatedAt": "ISO", "completedAt": "ISO" | null
}

5. AI 앱에 연결하기 (MCP)

Claude Code·Claude 데스크톱·Cursor 처럼 MCP 를 쓰는 AI 앱에 Just Do X 를 붙이면, 대화로 내 업무를 보고 만들고 고칠 수 있어요. 주소 하나와 API 키만 있으면 돼요(Pro).

# Claude Code
claude mcp add --transport http justdox https://justdox.io/api/v1/mcp \
  --header "Authorization: Bearer jdx_live_xxxxxxxxxxxx_..."
// Cursor (~/.cursor/mcp.json) 등 주소·헤더를 받는 앱
{ "mcpServers": { "justdox": {
    "url": "https://justdox.io/api/v1/mcp",
    "headers": { "Authorization": "Bearer jdx_live_xxxxxxxxxxxx_..." } } } }

// Claude 데스크톱 (claude_desktop_config.json) — mcp-remote 로 이어 준다
{ "mcpServers": { "justdox": {
    "command": "npx",
    "args": ["mcp-remote", "https://justdox.io/api/v1/mcp", "--header", "Authorization:Bearer ${JDX_KEY}"],
    "env": { "JDX_KEY": "jdx_live_xxxxxxxxxxxx_..." } } } }

6. AI 작업자 컴퓨터 연결 (justdox 데몬)

AI 작업자는 연결된 컴퓨터에 설치된 AI 도구(Claude Code·Codex·Antigravity CLI)로 일해요. 그 컴퓨터에서:

curl -fsSL https://justdox.io/install.sh | sh      # macOS · Linux
irm https://justdox.io/install.ps1 | iex           # Windows PowerShell
# Windows 설치 프로그램: https://justdox.io/downloads/JustDoX-Setup.exe
justdox setup --account <email>     # 서버 확인 → 브라우저 로그인 → AI 도구 찾기 → 데몬 시작
justdox status | logs | stop | restart --account <email>
justdox accounts                    # 이 컴퓨터에 연결된 계정들

7. 변경 따라가기

GET https://justdox.io/api/v1/changes?since=2026-10-20T00:00:00.000Z
→ { "tasks": [...], "comments": [...], "next": "2026-10-20T03:12:45.120Z" }

처음엔 since 없이 부르고, 그다음부터 돌려받은 next 를 since 로 넘기세요. 경계의 항목이 한 번 더 올 수 있으니 id 로 겹침을 거르세요.