---
title: "Prepare placement context"
method: POST
path: "/v1/commands/prepare_placement_context"
tags: ["Link monitoring and evidence"]
---

# Prepare placement context

`POST /v1/commands/prepare_placement_context`

## Request

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

- PreparePlacementContextInput
  - `watchId` string, required: watch ID from create/list.
  - `expectedRevision` integer, required: Previously read revision; mismatches reject concurrent updates.

## Response `200`

Command result, including queued admission.

- PreparePlacementContextOutput
  - `version` 'placement-context-v1', required
  - `binding` object, required
    - `workspaceId` string, required
    - `projectId` string, required
    - `watchId` string, required
  - `revision` integer, required: Optimistic concurrency revision; supply it as expectedRevision on the next write.
  - `applicability` string, required
  - `reason` string, nullable, required: Recorded explanation; null when no explanation applies.
  - `summary` object, required: Grouped change counts included in this delivery, limited to accessible websites.
    - `kind` string, required
    - `count` integer, required
    - `role` string, nullable, required
  - `occurrences` object[], required
    - `id` string, required: Resource identifier returned by the operation.
    - `captureId` string, required
    - `revision` integer, required: Optimistic concurrency revision; supply it as expectedRevision on the next write.
    - `evidenceHash` string, required
    - `axes` object, required
    - `passages` object[], required
      - `id` string, required: Resource identifier returned by the operation.
      - `text` string, required
    - `canCorrect` boolean, required
  - `capability` object, required
    - `suggestionsAvailable` boolean, required
    - `reason` string, nullable, required: Recorded explanation; null when no explanation applies.
    - `classificationAllowance` object
      - `contract` 'classification-allowance-v1', required
      - `unit` 'classification-assessment-v1', required
      - `scope` object, required
        - `kind` 'workspace', required
        - `workspaceId` string, required
        - `sharedAcrossWebsites` true, required
      - `state` 'unavailable' | 'not_entitled' | 'exhausted' | 'available', required: Saved lifecycle or evidence state, as enumerated for this record.
      - `limit` integer, nullable, required
      - `reserved` integer, nullable, required
      - `used` integer, nullable, required
      - `remaining` integer, nullable, required: Check units still available after consumed and reserved units; null if the limit is unknown.
      - `period` object, nullable, required
        - `key` string, required: Saved lookup identifier within this record.
        - `startsAt` string, date-time, required
        - `endsAt` string, date-time, required
      - `resetAt` string, date-time, nullable, 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)
