Page DeltasPage Deltas

API 참조

모니터와 채널을 관리하고 변경 사항을 폴링하기 위한 작고 안정적인 REST API입니다. 대시보드와 동일한 기능을 지원합니다.

기본 URL

프로덕션: https://api.pagedeltas.com. 모든 엔드포인트는 /api 접두사가 붙습니다. 성공적인 응답은 JSON입니다.

인증

설정 → API 키에서 키를 생성하세요 (편집자 또는 관리자 역할 필요). 키는 생성 시 한 번만 표시되므로 즉시 복사하세요. 키를 취소하려면 같은 페이지에서 삭제하세요.

Authorization: Bearer pdt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

키는 생성된 조직으로 범위가 지정되며 해당 조직 내에서 관리자 수준 액세스로 작동하며 특정 사용자에게 종속되지 않습니다. 팀원을 삭제해도 조직의 키가 취소되지 않으므로 액세스를 차단하려면 키 자체를 삭제하세요.

오류

오류는 2xx가 아닌 상태를 반환합니다. 인증 및 권한 오류는 짧은 일반 텍스트 메시지(예: unauthorized, forbidden)로 반환됩니다. 할당량 및 속도 제한 오류는 메시지와 관련 숫자가 포함된 작은 JSON 본문을 반환합니다. 고정된 오류 봉투를 구문 분석하지 말고 HTTP 상태 코드에 따라 분기하세요:

  • 400 — 잘못된 요청 (잘못된 JSON, 유효하지 않은 URL, 누락된 필드).
  • 401 — 누락되거나 유효하지 않은 자격 증명.
  • 403 — 인증되었지만 역할에 이 작업에 대한 권한이 없습니다.
  • 404 — 리소스가 없거나 조직에 없습니다.
  • 409 — 충돌 (예: 반복된 차단으로 인해 모니터가 일시 중지됨).
  • 422 — 할당량 초과 (예: 요금제의 모니터 한도). JSON 본문에 currentlimit가 포함됩니다.
  • 429 — 속도 제한 (수동 확인). Retry-After의 지연 시간 후에 재시도하세요.

할당량 오류 예시 (422):

{
  "error": "plan_url_limit exceeded",
  "current": 100,
  "limit": 100,
  "message": "Creating this monitor would exceed your plan's monitor limit (100)."
}

엔드포인트 참조

메서드 & 경로설명
GET /api/monitors조직의 모니터를 나열합니다.
POST /api/monitors단일 모니터를 생성합니다.
GET /api/monitors/{id}단일 모니터를 가져옵니다.
PATCH /api/monitors/{id}url, nl_description, filter_prompt, css_selector, xpath_selector, status를 업데이트합니다.
DELETE /api/monitors/{id}모니터와 그 기록을 삭제합니다.
POST /api/monitors/{id}/check-now일정을 우회하여 즉시 확인을 대기열에 추가합니다 (속도 제한, 아래 참조).
GET /api/monitors/{id}/changes모니터에 감지된 변경 사항을 나열합니다 (?limit= 지원, 최대 100).
POST /api/monitors/import멀티파트 CSV 업로드를 통해 대량 가져오기 (file 필드).
POST /api/monitors/bulk-pause, bulk-resume, bulk-delete모니터 ID 목록에 작업을 적용합니다.
GET|PUT /api/monitors/{id}/alert-channels모니터의 채널 재정의를 읽거나 교체합니다.
GET /api/alert-channels알림 채널을 나열합니다.
POST /api/alert-channels채널을 생성합니다.
PATCH|DELETE /api/alert-channels/{id}채널을 업데이트하거나 삭제합니다.
POST /api/alert-channels/{id}/test전달을 확인하기 위해 테스트 페이로드를 보냅니다.
GET|POST /api/sitemap-monitors사이트맵 모니터를 나열하거나 생성합니다.
POST /api/sitemap-monitors/import멀티파트 CSV 업로드를 통해 대량 생성 (file 필드).
GET|POST|DELETE /api/tokensAPI 키를 나열, 생성 및 삭제합니다.
GET /api/billing/plan조직의 현재 요금제와 한도를 가져옵니다.
GET /api/plans공개 — 사용 가능한 요금제를 나열합니다 (인증 불필요).

예제 — 모니터 생성

curl -X POST https://api.pagedeltas.com/api/monitors \
  -H "Authorization: Bearer $PAGEDELTAS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "nl_description": "Competitor pricing; alert on plan or price changes",
    "filter_prompt": "Alert on plan or price changes; ignore copy tweaks",
    "channel_ids": []
  }'

선택적 필드: filter_prompt, css_selector, xpath_selector, is_pdf, channel_ids (조직 기본값을 사용하려면 생략). frequency는 없습니다 — 일정은 적응형으로 예약됩니다.

예제 — 변경 사항 폴링

GET /api/monitors/01HW2X.../changes?limit=50
Authorization: Bearer $PAGEDELTAS_TOKEN

최신 변경 사항을 먼저 반환합니다 (기본 50, 최대 100). 커서는 없으므로 limit를 조정하고 이미 본 가장 최근의 detected_at을 추적하여 페이징하세요.

{
  "changes": [
    {
      "id": "01HW3...",
      "detected_at": "2026-06-01T08:42:00Z",
      "summary": "Pro plan increased from $29 to $39/month."
    }
  ]
}

속도 제한

현재 읽기 및 쓰기 엔드포인트에는 키별 속도 제한이 없습니다. 유일한 예외는 수동 확인입니다:

  • 지금 확인: 모니터당 1분에 1개 요청.

해당 한도에 도달하면 응답은 429가 되며 초 단위의 Retry-After 헤더가 포함됩니다. 다른 엔드포인트에서도 속도를 조절해 주시기 바랍니다.

버전 관리

우리는 이 API의 안정성을 유지하고자 합니다. 예고 없이 새 필드와 엔드포인트가 추가될 수 있으므로 알 수 없는 JSON 필드를 무시하는 클라이언트를 작성하세요.

API 참조 · 문서 · Page Deltas