주기 실행 결과 V5 (beta)

주기의 예정 회차마다 제때 돌았는지 확인합니다.

주기가 도는 약속 시각(회차)마다 돌았는지 · 건너뛰었는지 · 빠졌는지 · 아직인지를 봅니다. 화면의 "주기 실행 결과"와 같은 근거입니다. 이 경로는 여러 주기 기능이 열린 계정에서만 쓸 수 있습니다(닫혀 있으면 404 PLAN_NOT_FOUND).

엔드포인트

  • GET /v5/api/plans/{plan_id}/runs 회차 목록(최신순) + 상태별 개수

회차 목록

쿼리: state(ran·skipped·missed·upcoming), from·to(예정 시각 범위, ISO 8601 또는 YYYY-MM-DD), cursor·limit. 기본 범위는 최근 14일, 범위는 최대 31일입니다. 최신순이며 앞으로 올 회차가 맨 앞에 있습니다. next_cursor는 예정 시각(epoch 초)이고, 그대로 cursor로 넘기면 그보다 앞선 회차를 돌려줍니다. counts는 거르기와 상관없이 그 범위 전체의 개수입니다.

요청 예시
curl 'https://www.hashscraper.com/v5/api/plans/512/runs?from=2026-09-01&to=2026-10-04&state=skipped&limit=50' \
  -H 'Authorization: Bearer YOUR_API_KEY'
응답 예시 200
{
  "result": "success",
  "version": "v5",
  "request_id": "req_5a8c1f1c-9b2d-4e7c-9abf-3f7e0a4d1b21",
  "elapsed_sec": 0.0123,
  "count": 5,
  "next_cursor": null,
  "data": {
    "plan_id": "512",
    "source": "ledger",
    "from": "2026-09-01T00:00:00+09:00",
    "to": "2026-10-04T23:59:59+09:00",
    "counts": {
      "ran": 1,
      "skipped": 1,
      "missed": 1,
      "upcoming": 2
    },
    "runs": [
      {
        "scheduled_at": "2026-10-12T09:00:00+09:00",
        "state": "upcoming",
        "reason": null,
        "dataset_id": null
      },
      {
        "scheduled_at": "2026-10-05T09:00:00+09:00",
        "state": "upcoming",
        "reason": null,
        "dataset_id": null
      },
      {
        "scheduled_at": "2026-09-28T09:00:00+09:00",
        "state": "ran",
        "reason": null,
        "dataset_id": 239758028
      },
      {
        "scheduled_at": "2026-09-21T09:00:00+09:00",
        "state": "skipped",
        "reason": "insufficient_credit",
        "dataset_id": null
      },
      {
        "scheduled_at": "2026-09-14T09:00:00+09:00",
        "state": "missed",
        "reason": "expired",
        "dataset_id": null
      }
    ]
  }
}

상태와 이유

statereason뜻
ran—돌았습니다. dataset_id가 그 수집입니다.
skippedalready_running앞선 수집이 진행 중이라 건너뛰었습니다.
skippedinsufficient_credit크레딧이 부족해 건너뛰었습니다.
skippedticket_expired·no_service_ticket·service_ticket_invalid이용권 문제로 건너뛰었습니다.
missedexpired너무 늦어 닫혔습니다.
missednot_recorded실행기가 기록하지 못했습니다.
upcoming—아직입니다. 앞으로 올 회차와, 막 지나 결과를 기다리는 회차(약 10분)를 포함합니다.

판정 근거 source

응답의 source는 이 주기를 어떤 근거로 판정했는지 알려 줍니다.

source뜻
ledger주기 실행기가 돌리는 주기. 회차 기록을 읽습니다. 기록이 없는 지나간 예정 시각은 missed입니다.
screen옛 방식으로 도는 주기 1. 데이터셋 시각과 대조해 판정합니다. 건너뛴 이유의 근거가 없어 skipped는 나오지 않습니다.
none회차가 없는 주기(조건을 따로 정했는데 아직 실행기가 돌지 않는 주기). runs는 빈 배열입니다.

알아 둘 한계

  • 앞선 수집과 겹쳐 건너뛴 회차의 근거는 2일만 남습니다. 이틀이 지나면 같은 회차가 skipped가 아니라 missed로 보입니다.
  • 점검 중이라 건너뛴 회차는 근거가 남지 않아 missed(expired)로 보입니다.
  • 주기를 켠 뒤·고친 뒤의 회차만 셉니다. 꺼져 있던 동안은 알 수 없습니다.

함께 보면 좋은 가이드