---
title: "List rank history"
method: POST
path: "/v1/commands/list_rank_history"
tags: ["Link monitoring and evidence"]
---

# List rank history

`POST /v1/commands/list_rank_history`

## Request

- Base URL: `https://app.agentlinkops.com`
- URL: `https://app.agentlinkops.com/v1/commands/list_rank_history`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Shared command transport. All logical arguments in JSON; no query or Idempotency-Key header. See canonical operation reference.

## Headers

- `X-Workspace-ID` string

## Request body

- ListRankHistoryInput
  - `scheduleId` string, required: schedule ID from create/list.
  - `cursor` string: Opaque list cursor; omit initially.
  - `limit` integer: Page/report row cap; see bounds.
  - `format` 'concise' | 'detailed': Concise: decisions/next calls/evidence states; detailed: all. MCP/code default concise, REST/CLI detailed; defaults_applied records defaults.

## Response `200`

Command result, including queued admission.

- ListRankHistoryOutput
  - `schedule_id` string, required
  - `schedule_revision` integer, required
  - `project_id` string, required: Project that owns this record.
  - `target` string, required
  - `include_subdomains` boolean, required
  - `provider` 'dataforseo', required
  - `data_mode` 'synthetic', required
  - `metric` 'rank', required
  - `scale` object, required
    - `minimum` 0, required
    - `maximum` 1000, required
    - `name` 'one_thousand', required
  - `items` object[], required: Records in this bounded page.
    - `overview_run_id` string, required
    - `slot_at` string, date-time, required
    - `rank` integer, nullable, required
    - `observed_at` unknown, required
    - `retrieved_at` string, date-time, nullable, required
    - `freshness` 'unknown' | 'stale' | 'fresh', required
    - `outcome` 'unknown' | 'measured', required
    - `execution` object, required
      - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'reconciliation_required', required: Resource lifecycle status.
      - `error_code` string, nullable, required: Latest delivery detail code; null when no failure or retry has been recorded.
      - `provider_task_id` string, nullable, required
    - `cost` object, required
      - `currency` 'USD', required
      - `max_cost_microusd` integer, required
      - `reserved_cost_microusd` integer, required
      - `provider_reported_cost_microusd` integer, nullable, required
      - `request_count` integer, required
      - `reconciliation_required` boolean, required
  - `alert_candidates` object[], required
    - `id` string, required: Resource identifier returned by the operation.
    - `schedule_id` string, required
    - `provider` 'dataforseo', required
    - `metric` 'rank', required
    - `rank_scale` 'one_thousand', required
    - `previous_run_id` string, required
    - `current_run_id` string, required
    - `previous_rank` integer, required
    - `current_rank` integer, required
    - `change` integer, required
    - `observed_at` unknown, required
    - `retrieved_at` string, date-time, required
    - `delivery_state` 'candidate_only', required
  - `has_more` boolean, required: True when another page is available.
  - `next_cursor` string, nullable, required: Opaque continuation for the same listing; null means no further page.
  - `defaults_applied` object
    - `format` 'concise' | 'detailed'

## Other responses

- `429`: Request-rate or usage refusal. Inspect error.code and recovery details before retrying.
- `default`: Error envelope. Non-configuration 5xx messages are masked and details omitted; allowlisted configuration errors retain static operator recovery.

---

[API](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api.md) · [All operations](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentlinkops/apis/agentlinkops-http-api/revisions/2a712a1dcfa7?raw)
