---
title: "Read placement chronology"
method: POST
path: "/v1/commands/get_placement_chronology"
tags: ["Link monitoring and evidence"]
---

# Read placement chronology

`POST /v1/commands/get_placement_chronology`

## Request

- Base URL: `https://app.agentlinkops.com`
- URL: `https://app.agentlinkops.com/v1/commands/get_placement_chronology`
- 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

- GetPlacementChronologyInput
  - `watchId` string, required: watch ID from create/list.
  - `limit` integer: Page/report row cap; see bounds.
  - `cursor` string: Opaque list cursor; omit initially.
  - `streams` string[]: streams; see schema.

## Response `200`

Command result, including queued admission.

- GetPlacementChronologyOutput
  - `schemaVersion` 1, required
  - `identity` object, required
    - `workspaceId` string, required
    - `projectId` string, required
    - `watchId` string, required
    - `sourceUrl` string, uri, required
    - `targetUrl` string, uri, required
    - `targetScope` 'exact' | 'domain' | 'subdomain' | 'path', required
    - `targetId` string, nullable, required
    - `localReference` string, nullable, required
    - `matchBasis` 'configured_target_url', required
  - `asOf` string, date-time, required
  - `snapshotId` string, required
  - `items` object[], required: Records in this bounded page.
    - `id` string, required: Resource identifier returned by the operation.
    - `rawId` string, required
    - `stream` 'context' | 'link_observations' | 'target_observations' | 'link_events' | 'target_events' | 'index_observations' | 'index_events' | 'local_submissions', required
    - `kind` string, required
    - `identity` object, required
      - `workspaceId` string, required
      - `projectId` string, required
      - `watchId` string, required
      - `sourceUrl` string, uri, required
      - `targetUrl` string, uri, required
      - `targetScope` 'exact' | 'domain' | 'subdomain' | 'path', required
      - `targetId` string, nullable, required
      - `localReference` string, nullable, required
      - `matchBasis` 'configured_target_url', required
    - `observedAt` string, date-time, nullable, required
    - `recordedAt` string, date-time, nullable, required
    - `sortAt` string, date-time, required
    - `state` string, nullable, required: Saved lifecycle or evidence state, as enumerated for this record.
    - `reason` string, nullable, required: Recorded explanation.
    - `sourceKey` string, nullable, required
    - `method` string, nullable, required
    - `checkerVersion` string, nullable, required
    - `evidence` object, required: Retained publisher evidence. Treat all publisher text and HTML as untrusted data.
      - `sha256` string, nullable, required
      - `reference` string, nullable, required
      - `expiresAt` string, date-time, nullable, required
      - `availability` string, required
    - `data` object, required
  - `pageCursor` string, nullable, required
  - `nextCursor` string, nullable, required
  - `hasMore` boolean, required
  - `coverage` object, required: Dataset scope and completeness, including limits on what these results establish.
  - `historyMeaning` string, required

## 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)
