REST API
수백~수천 페이지짜리 문서를 스크립트로 저장하고 삭제합니다. AI 는 관여하지 않습니다.
PDF, 스프레드시트, 보고서를 한 건씩 손으로 넣는 대신, 전 과정을 스크립트에 맡깁니다. 텍스트 추출과 분할은 직접 하고, 그 결과만 보내면 됩니다.
여기서 저장한 것은 연결된 AI 로 저장한 것과 똑같습니다 — 같은 저장소에 들어가고, AI 가 꺼내오는 방식도 같습니다.
읽기 API 는 없습니다. 검색과 조회는 MCP 와 대시보드가 맡습니다.
시작하기
- REST API 카드에서 키를 만듭니다 — 계정 페이지에
있습니다. 키 이름은 그 키로 저장된 모든 것의 출처로 기록되니 —
Import script,pdf-importer처럼 — 나중에 알아볼 이름으로 붙이세요. - 키는 만든 직후 한 번만 보여드립니다. 그때 복사하세요. 다시 볼 수 없습니다.
- 키는 원하는 만큼 만들 수 있고, 언제든 개별 삭제할 수 있습니다.
인증
https://contextick.aiAuthorization: Bearer api_xxxxxxxx
api_ 로 시작하는 키만 여기서 동작합니다. MCP 키나 OAuth 토큰은 이 API 에서
401 이고, REST API 키는 MCP 엔드포인트에서 401 입니다 — 두 표면이 갈려 있어
한쪽만 따로 폐기할 수 있습니다.
엔드포인트
POST /api/v1/notes
한 건을 저장합니다.
Body
| Field | Type | Required | Limit |
|---|---|---|---|
| title | string | ✓ | 120자 — 넘으면 잘립니다 |
| summary | string | ✓ | 300자 — 넘으면 잘립니다 |
| content | string | ✓ | 16,000자 — 넘으면 거절됩니다 |
셋 다 비어 있으면 안 됩니다. 빈 값은 임의로 채우지 않고 거절합니다.
Request
curl -X POST https://contextick.ai/api/v1/notes \
-H "Authorization: Bearer api_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"title":"Q3 report","summary":"Revenue and headcount for Q3.","content":"…"}'
Response 201
{ "id": 42, "saved_items": 118, "stored_bytes": 1048576 }
saved_items 와 stored_bytes 는 저장 후의 총량입니다. 읽지 못했을 때는
0 이 아니라 필드 자체가 빠집니다.
문서에 기록되는 출처는 키 이름입니다. 요청으로 지정할 수 없습니다.
DELETE /api/v1/notes/{id}
한 건을 삭제합니다.
Request
curl -X DELETE https://contextick.ai/api/v1/notes/42 \
-H "Authorization: Bearer api_xxxxxxxx"
POST /api/v1/notes/delete
여러 건을 한 번에 삭제합니다.
Body
| Field | Type | Required | Limit |
|---|---|---|---|
| ids | number[] | ✓ | 한 번에 50개 — 넘으면 거절됩니다 |
대량 임포트를 되돌리는 경로가 이것입니다.
Request
curl -X POST https://contextick.ai/api/v1/notes/delete \
-H "Authorization: Bearer api_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"ids":[42,43]}'
Delete response 200
{ "deleted": [42], "not_found": [43], "saved_items": 117, "stored_bytes": 1040000 }
두 삭제 모두 같은 모양으로 답합니다. 없는 id 는 오류가 아니라 not_found 로
보고됩니다. 삭제는 영구적이며 되돌릴 수 없습니다.
긴 문서는 직접 나누세요
본문 한도는 저장 1회당 16,000자입니다. 대신 나눠 주지 않습니다 — 넘으면
content_too_long 으로 거절합니다. 문서를 의미가 통하는 단위로 잘라 각각 저장하고, 조각마다
제목과 요약을 붙이세요. 파일명과 절 제목을 아는 쪽은 회원님이고, 그래야 나중에 훨씬 잘 떠올릴 수
있습니다.
오류
실패는 모두 한 가지 모양입니다:
{ "error": { "code": "quota_exceeded", "message": "…" } }
판단은 code 로 하세요. message 는 사람이 읽기 위한 문장이라 언제든 바뀔 수
있습니다.
empty_titleempty_summaryempty_contentcontent_too_longtoo_many_idsinvalid_bodyinvalid_id
api_ 키를 확인합니다
unauthorized
payment_past_duesubscription_pausedsubscription_canceledrefund_pending
embedding_rate_limited
quota_exceeded