Docs
API 1.39
Status
Objects

StepRecord

The StepRecord object of the Kaabist API.

FieldTypeRequiredDescription
step_pathstringyes
iterationintegeryes≥ 0
attemptintegeryes≥ 0
actionstringyes
status"ok", "failed", "skipped", "parked"yes
tier"http", "browser", "stealth"yes
started_atstring (date-time)yes
finished_atstring or null (date-time)yes
duration_msinteger or nullyes≥ 0
snapshotstring or nullyes
screenshotstring or nullyes
errorobject or nullyes
error.codeenum (58 values)yesone of "blocked", "timeout", "session_expired", "validation_failed", "input_expired", "side_effect_ambiguous", "insufficient_credits", "max_credits_exceeded", "max_tier_exceeded", "max_steps_exceeded", "ssrf_blocked", "target_disallowed", "byo_proxy_unreachable", "byo_proxy_blocked", "byo_llm_auth_failed", "byo_llm_rate_limited", "byo_llm_quota_exceeded", "byo_captcha_auth_failed", "byo_captcha_balance", "byo_provider_failing", "byo_in_use", "program_invalid", "request_invalid", "idempotency_conflict", "session_locked_timeout", "session_locked", "session_engine_mismatch", "job_not_waiting", "fence_open", "loop_exhausted", "target_ambiguous", "canceled", "not_found", "program_not_found", "program_has_schedules", "secret_storage_disabled", "not_implemented", "two_factor_required", "reauth_required", "rate_limited", "payment_method_required", "billing_unavailable", "test_quota_exceeded", "plan_required", "plan_managed", "login_flow_rate_limited", "schedule_interval_too_small", "live_unavailable", "pdf_not_pdf", "pdf_too_large", "pdf_malware", "pdf_scanner_unavailable", "pdf_encrypted", "pdf_too_complex", "pdf_malformed", "pdf_active_content", "pdf_source_missing", "internal"
error.messagestringyes
error.tier"http", "browser", "stealth", nullyes
error.retryablebooleanyes
error.stepstring or nullyes
error.snapshotstring or null
error.detailsmap of any
warningsobjectyes
warnings[].codeenum (19 values)yesone of "null_marker", "parse_failed", "out_of_range", "required_missing", "list_short", "fill_rate_drop", "escalated", "healed_locator_used", "obstacle_dismissed", "field_empty", "step_skipped", "cache_hit", "byo_fallback_used", "pdf_source_not_extractable", "pdf_no_text", "pdf_pages_truncated", "redirect_not_followed", "pagination_incomplete", "captcha_inject_navigated"
warnings[].fieldstring or null
warnings[].rawstring or null
warnings[].stepstring or null
warnings[].messagestring
warnings[].detailstring
warnings[].countinteger≥ 1
warnings[].ofinteger≥ 0
warnings[].hintobject
warnings[].hint.date_formatstring
warnings[].hint.date_formatsstring
warnings[].hint.ambiguoustrue
warnings[].hint.localestring
healedobject or nullyes
healed.targetstringyes
healed.frommap of anyyes
healed.tomap of anyyes
healed.confidencenumberyes≥ 0 · ≤ 1
healed.proposal_idstring or nullyespattern ^prp_[0-9a-hjkmnp-tv-z]{26}$
obstacleobject or nullyes
result_previewstring or nullyes

#Example

{
  "step_path": "steps[7]",
  "iteration": 0,
  "attempt": 0,
  "action": "extract",
  "status": "ok",
  "tier": "browser",
  "started_at": "2026-09-18T10:00:00Z",
  "finished_at": "2026-09-18T10:00:02Z",
  "duration_ms": 2000,
  "snapshot": "/v1/jobs/job_01j9zqk3q7m4n5p6r7s8t9v0wx/snapshot?step=steps[7]",
  "screenshot": null,
  "error": null,
  "warnings": [],
  "healed": {
    "target": "extract.rows[].amount",
    "from": {
      "selector": "td:nth-child(3)"
    },
    "to": {
      "css": "td[data-col=amount]"
    },
    "confidence": 0.94,
    "proposal_id": "prp_01j9zqk3q7m4n5p6r7s8t9v0wx"
  },
  "obstacle": null,
  "result_preview": null
}

Was this page helpful?