---
title: "verify_discovery_candidates"
method: POST
path: "/v1/discovery/runs/{runId}/verification-batches"
---

# verify_discovery_candidates

`POST /v1/discovery/runs/{runId}/verification-batches`

## Request

- Base URL: `https://app.agentlinkops.com`
- URL: `https://app.agentlinkops.com/v1/discovery/runs/{runId}/verification-batches`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Remaining arguments go in a JSON object body. Supply idempotencyKey as the Idempotency-Key header on this resource route. Returns 202 for pending batches and 200 otherwise.

## Path parameters

- `runId` string, required: run ID from create/list.

## Headers

- `Idempotency-Key` string, required: Caller-generated key reused only for retries of the same operation and arguments in this workspace.
- `X-Workspace-ID` string

## Request body

- object
  - `items` object[], required: Selected stored candidates to check, each by candidateId with an optional localReference for the caller's own record.
    - `candidateId` string, required
    - `localReference` string

## Response `200`

Remaining arguments go in a JSON object body. Supply idempotencyKey as the Idempotency-Key header on this resource route. Returns 202 for pending batches and 200 otherwise.

- object
  - `schema_version` 1, required
  - `id` string, required: Resource identifier returned by the operation.
  - `workspace_id` string, required: Workspace that owns this record.
  - `project_id` string, required: Project that owns this record.
  - `run_id` string, required
  - `state` 'pending' | 'completed' | 'partial' | 'failed', required: Saved lifecycle or evidence state, as enumerated for this record.
  - `counts` object, required
    - `rejected` integer, required
    - `queued` integer, required
    - `running` integer, required
    - `succeeded` integer, required
    - `failed` integer, required
    - `cancelled` integer, required
  - `items` object[], required: Records in this bounded page.
    - `ordinal` integer, required
    - `candidate_id` string, required
    - `local_reference` string, nullable, required: Customer reference for joining this record to a local ledger entry.
    - `job_id` string, nullable, required
    - `watch_id` string, nullable, required
    - `state` 'rejected' | 'queued' | 'running' | 'succeeded' | 'failed' | 'cancelled', required: Saved lifecycle or evidence state, as enumerated for this record.
    - `error_code` string, nullable, required: Latest delivery detail code; null when no failure or retry has been recorded.
    - `observation` object, nullable, required
      - `id` string, required: Resource identifier returned by the operation.
      - `state` string, required: Saved lifecycle or evidence state, as enumerated for this record.
      - `reason` string, nullable, required: Recorded explanation; null when no explanation applies.
      - `checked_at` string, required: UTC timestamp of the saved check.
    - `usage` object, nullable, required
      - `unit` 'source_check', required
      - `units` number, required
      - `state` string, required: Saved lifecycle or evidence state, as enumerated for this record.
      - `period` string
  - `reservation` object, nullable, required
    - `units` integer, required
    - `outstanding` integer, required
    - `consumed` integer, required
    - `released` integer, required
    - `period` string, required
  - `replayed` boolean: True when the response reuses an earlier request with the same idempotency value.
  - `recurring_monitoring_created` false, required: Whether this operation enrolled recurring monitoring.
  - `created_at` string, required: UTC timestamp when the record was created.

## Other responses

- `202`: Remaining arguments go in a JSON object body. Supply idempotencyKey as the Idempotency-Key header on this resource route. Returns 202 for pending batches and 200 otherwise.
- `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/1bf30c2912b2?raw)
