> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentlinkops.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Read monitoring service assurance

> Read supplied-record coverage, freshness and scheduler availability for one project.

`get_monitoring_service_assurance`

Read supplied-record coverage, freshness and scheduler availability for one project. Unknown evidence and unproved delivery or soak remain explicit.

<Note>Development preview. This command is absent from the verified deployed bundle. Use a matching development environment.</Note>

| Access | Behavior |
| - | - |
| `watches:read` | Reads saved data |

This read does not start a verification job.

## Example request

Connect through [MCP](/guides/connect-mcp), [CLI](/guides/connect-cli), or [HTTP](/guides/connect-http). Replace example identifiers with records from your workspace.

<CodeGroup>
  ```json MCP theme={null}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "get_monitoring_service_assurance",
      "arguments": {
        "projectId": "project_example"
      }
    }
  }
  ```

  ```bash CLI theme={null}
  agentlinkops call get_monitoring_service_assurance --args '{"projectId":"project_example"}'
  ```

  ```bash HTTP theme={null}
  curl "$AGENTLINKOPS_API_URL/v1/commands/get_monitoring_service_assurance" \
    -H "Authorization: Bearer $AGENTLINKOPS_API_KEY" \
    -H 'Content-Type: application/json' \
    --data '{"projectId":"project_example"}'
  ```
</CodeGroup>

## Returned result

Illustrative data validated against the documented response schema. IDs and dates are examples, not a live account capture. MCP returns this data in `structuredContent` and in a text content block; generic HTTP and CLI return the JSON result directly.

<Accordion title="Full response example">
  ```json theme={null}
  {
    "schemaVersion": 1,
    "workspaceId": "ws_example",
    "projectId": "pr_example",
    "asOf": "2026-10-07T00:00:00.000Z",
    "source": {
      "supplied": 0,
      "active": 0,
      "paused": 0,
      "neverAttempted": 0,
      "neverConclusive": 0,
      "due": 0,
      "overdue": 0,
      "currentUnknown": 0,
      "latestAttemptAt": null,
      "oldestAttemptAt": null,
      "oldestAttemptAgeSeconds": null,
      "latestConclusiveAt": null,
      "oldestConclusiveAt": null,
      "oldestConclusiveAgeSeconds": null
    },
    "target": {
      "supplied": 0,
      "active": 0,
      "paused": 0,
      "neverAttempted": 0,
      "neverConclusive": 0,
      "due": 0,
      "overdue": 0,
      "currentUnknown": 0,
      "latestAttemptAt": null,
      "oldestAttemptAt": null,
      "oldestAttemptAgeSeconds": null,
      "latestConclusiveAt": null,
      "oldestConclusiveAt": null,
      "oldestConclusiveAgeSeconds": null
    },
    "sourceLinkVerification": {
      "latestRetainedAt": null,
      "oldestRetainedAt": null,
      "observedWatches": 0,
      "meaning": "Retained complete link receipts."
    },
    "sourceJobs": {
      "queued": 0,
      "running": 0
    },
    "overdueReasons": {},
    "index": {
      "status": "unavailable",
      "reason": "not_configured"
    },
    "serviceTicks": {
      "status": "unavailable",
      "meaning": "Scheduler metadata, not customer coverage.",
      "items": []
    },
    "assurance": {
      "elapsedSoak": "not_established",
      "backupRestore": "not_established",
      "externalDelivery": "not_established"
    },
    "denominator": "Supplied project records; zero is not an inventory of all backlinks."
  }
  ```
</Accordion>

## Input fields

Omit optional fields when you do not want to supply them. Null is accepted only where listed. Unknown input properties are rejected.

| Field | Type | Presence | Meaning and constraints |
| - | - | - | - |
| `projectId` | string | Required | Identifier of the project returned by its create or list operation. minLength: 1; maxLength: 200 |

### Validation and omitted values

Reports only supplied project records. Active freshness excludes paused records; last attempt, conclusive check and retained present/absent link verification have separate meanings.

A narrow scope sees denied index evidence without counts. Global operator work/customer counts never appear. Optional scheduler timestamps describe invocation metadata only.

Soak, backup restoration and actual external delivery remain not\_established without their independent acceptance. This read never enrolls a record, changes cadence or starts collection.

## Output fields

Fields inside optional or nullable parents apply only when that parent exists. [Common schema conventions](/reference/schemas) explain evidence states, empty lists and extensions.

* **`schemaVersion`** (number, required): must equal 1
* **`workspaceId`** (string, required): Identifier returned by the related operation. minLength: 1; maxLength: 200
* **`projectId`** (string, required): Identifier returned by the related operation. minLength: 1; maxLength: 200
* **`asOf`** (string, required): format: "date-time"; pattern: "^(?:(?:\d\d\[2468]\[048]|\d\d\[13579]\[26]|\d\d0\[48]|\[02468]\[048]00|\[13579]\[26]00)-02-29|\d\{4}-(?:(?:0\[13578]|1\[02])-(?:0\[1-9]|\[12]\d|3\[01])|(?:0\[469]|11)-(?:0\[1-9]|\[12]\d|30)|(?:02)-(?:0\[1-9]|1\d|2\[0-8])))T(?:(?:\[01]\d|2\[0-3]):\[0-5]\d:\[0-5]\d(?:\\.\d+)?(?:Z))\$"
* **`source`** (object, required): additional fields rejected
* **`target`** (object, required): additional fields rejected
* **`monitoringProjection`** (object, optional): additional fields rejected
* **`sourceLinkVerification`** (object, required): additional fields rejected
* **`sourceJobs`** (object, required): additional fields rejected
* **`overdueReasons`** (object, required).
* **`index`** (object / object / object, required).
* **`serviceTicks`** (object, required): additional fields rejected
* **`assurance`** (object, required): additional fields rejected
* **`denominator`** (string, required).

<Accordion title="All fields and nested objects">
  | Field | Type | Presence | Meaning and constraints |
  | - | - | - | - |
  | `schemaVersion` | number | Required | must equal 1 |
  | `workspaceId` | string | Required | Identifier returned by the related operation. minLength: 1; maxLength: 200 |
  | `projectId` | string | Required | Identifier returned by the related operation. minLength: 1; maxLength: 200 |
  | `asOf` | string | Required | format: "date-time"; pattern: "^(?:(?:\d\d\[2468]\[048]\|\d\d\[13579]\[26]\|\d\d0\[48]\|\[02468]\[048]00\|\[13579]\[26]00)-02-29\|\d\{4}-(?:(?:0\[13578]\|1\[02])-(?:0\[1-9]\|\[12]\d\|3\[01])\|(?:0\[469]\|11)-(?:0\[1-9]\|\[12]\d\|30)\|(?:02)-(?:0\[1-9]\|1\d\|2\[0-8])))T(?:(?:\[01]\d\|2\[0-3]):\[0-5]\d:\[0-5]\d(?:\\.\d+)?(?:Z))\$" |
  | `source` | object | Required | additional fields rejected |
  | `source.supplied` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.active` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.paused` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.neverAttempted` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.neverConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.due` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.overdue` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.currentUnknown` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `source.latestAttemptAt` | string / null | Required | |
  | `source.oldestAttemptAt` | string / null | Required | |
  | `source.oldestAttemptAgeSeconds` | number / null | Required | |
  | `source.latestConclusiveAt` | string / null | Required | |
  | `source.oldestConclusiveAt` | string / null | Required | |
  | `source.oldestConclusiveAgeSeconds` | number / null | Required | |
  | `target` | object | Required | additional fields rejected |
  | `target.supplied` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.active` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.paused` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.neverAttempted` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.neverConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.due` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.overdue` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.currentUnknown` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `target.latestAttemptAt` | string / null | Required | |
  | `target.oldestAttemptAt` | string / null | Required | |
  | `target.oldestAttemptAgeSeconds` | number / null | Required | |
  | `target.latestConclusiveAt` | string / null | Required | |
  | `target.oldestConclusiveAt` | string / null | Required | |
  | `target.oldestConclusiveAgeSeconds` | number / null | Required | |
  | `monitoringProjection` | object | Optional | additional fields rejected |
  | `monitoringProjection.schemaVersion` | number | Required | must equal 1 |
  | `monitoringProjection.source` | object | Required | additional fields rejected |
  | `monitoringProjection.source.coverage` | object | Required | Dataset scope and completeness, including limits on what these results establish. additional fields rejected |
  | `monitoringProjection.source.coverage.supplied` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.active` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.paused` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.recordedHeld` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.schedulingCandidates` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.busy` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.dueCandidates` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.eligibility` | object | Required | additional fields rejected |
  | `monitoringProjection.source.coverage.eligibility.status` | string | Required | Resource lifecycle status. must equal "unavailable" |
  | `monitoringProjection.source.coverage.eligibility.eligible` | null | Required | |
  | `monitoringProjection.source.coverage.eligibility.reason` | string | Required | Recorded explanation. must equal "admission\_not\_rechecked" |
  | `monitoringProjection.source.coverage.denominatorMeaning` | string | Required | |
  | `monitoringProjection.source.coverage.freshnessWindow` | string | Required | |
  | `monitoringProjection.source.coverage.cadenceSeconds` | object | Required | additional fields rejected |
  | `monitoringProjection.source.coverage.cadenceSeconds.minimum` | integer / null | Required | |
  | `monitoringProjection.source.coverage.cadenceSeconds.maximum` | integer / null | Required | |
  | `monitoringProjection.source.coverage.oldestOverdueAt` | string / null | Required | |
  | `monitoringProjection.source.coverage.oldestOverdueAgeSeconds` | number / null | Required | |
  | `monitoringProjection.source.coverage.nextScheduledAt` | string / null | Required | |
  | `monitoringProjection.source.coverage.nextEligibleAt` | null | Required | |
  | `monitoringProjection.source.coverage.nextEligibleReason` | string | Required | must equal "admission\_not\_rechecked" |
  | `monitoringProjection.source.coverage.neverAttempted` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.neverConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.currentUnknown` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.unknownReasons` | object | Required | |
  | `monitoringProjection.source.coverage.freshConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.staleConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.shares` | object | Required | additional fields rejected |
  | `monitoringProjection.source.coverage.shares.currentUnknown` | number / null | Required | |
  | `monitoringProjection.source.coverage.shares.neverAttempted` | number / null | Required | |
  | `monitoringProjection.source.coverage.shares.freshConclusive` | number / null | Required | |
  | `monitoringProjection.source.coverage.shareMeaning` | string | Required | |
  | `monitoringProjection.source.coverage.freshRetainedLinkVerification` | integer | Optional | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.coverage.linkVerificationMeaning` | string | Optional | |
  | `monitoringProjection.source.coverage.reasonCounts` | object | Required | additional fields rejected |
  | `monitoringProjection.source.coverage.reasonCounts.due` | object | Required | |
  | `monitoringProjection.source.coverage.reasonCounts.deferred` | object | Required | |
  | `monitoringProjection.source.coverage.reasonCounts.unavailable` | object | Optional | |
  | `monitoringProjection.source.jobs` | object | Required | additional fields rejected |
  | `monitoringProjection.source.jobs.retained` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.queued` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.running` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.succeeded` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.failed` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.cancelled` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.everClaimed` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.claimAttempts` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.retryClaims` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.retryExhausted` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.expiredRunningLeases` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.oldestQueuedAt` | string / null | Required | |
  | `monitoringProjection.source.jobs.oldestQueuedAgeSeconds` | number / null | Required | |
  | `monitoringProjection.source.jobs.oldestRunningAdmissionAt` | string / null | Required | |
  | `monitoringProjection.source.jobs.oldestRunningAdmissionAgeSeconds` | number / null | Required | |
  | `monitoringProjection.source.jobs.latestAdmissionAt` | string / null | Required | |
  | `monitoringProjection.source.jobs.latestCompletionAt` | string / null | Required | |
  | `monitoringProjection.source.jobs.scopedRetainedDeadLetters` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.deadLetterMeaning` | string | Required | |
  | `monitoringProjection.source.jobs.admissionToTerminal` | object | Required | additional fields rejected |
  | `monitoringProjection.source.jobs.admissionToTerminal.samples` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.admissionToTerminal.minimumSeconds` | number / null | Required | |
  | `monitoringProjection.source.jobs.admissionToTerminal.maximumSeconds` | number / null | Required | |
  | `monitoringProjection.source.jobs.admissionToTerminal.meaning` | string | Required | |
  | `monitoringProjection.source.jobs.startedAt` | null | Required | |
  | `monitoringProjection.source.jobs.queueWaitSeconds` | null | Required | |
  | `monitoringProjection.source.jobs.providerLatencySeconds` | null | Required | |
  | `monitoringProjection.source.jobs.timingReason` | string | Required | must equal "first\_start\_and\_provider\_timing\_not\_retained" |
  | `monitoringProjection.source.jobs.dispatch` | object | Required | additional fields rejected |
  | `monitoringProjection.source.jobs.dispatch.outstanding` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.dispatch.deferred` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.dispatch.expiredSendingLeases` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.source.jobs.dispatch.nextDispatchAt` | string / null | Required | |
  | `monitoringProjection.source.jobs.dispatch.meaning` | string | Required | |
  | `monitoringProjection.source.jobs.historyMeaning` | string | Required | |
  | `monitoringProjection.target` | object | Required | additional fields rejected |
  | `monitoringProjection.target.coverage` | object | Required | Dataset scope and completeness, including limits on what these results establish. additional fields rejected |
  | `monitoringProjection.target.coverage.supplied` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.active` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.paused` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.recordedHeld` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.schedulingCandidates` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.busy` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.dueCandidates` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.eligibility` | object | Required | additional fields rejected |
  | `monitoringProjection.target.coverage.eligibility.status` | string | Required | Resource lifecycle status. must equal "unavailable" |
  | `monitoringProjection.target.coverage.eligibility.eligible` | null | Required | |
  | `monitoringProjection.target.coverage.eligibility.reason` | string | Required | Recorded explanation. must equal "admission\_not\_rechecked" |
  | `monitoringProjection.target.coverage.denominatorMeaning` | string | Required | |
  | `monitoringProjection.target.coverage.freshnessWindow` | string | Required | |
  | `monitoringProjection.target.coverage.cadenceSeconds` | object | Required | additional fields rejected |
  | `monitoringProjection.target.coverage.cadenceSeconds.minimum` | integer / null | Required | |
  | `monitoringProjection.target.coverage.cadenceSeconds.maximum` | integer / null | Required | |
  | `monitoringProjection.target.coverage.oldestOverdueAt` | string / null | Required | |
  | `monitoringProjection.target.coverage.oldestOverdueAgeSeconds` | number / null | Required | |
  | `monitoringProjection.target.coverage.nextScheduledAt` | string / null | Required | |
  | `monitoringProjection.target.coverage.nextEligibleAt` | null | Required | |
  | `monitoringProjection.target.coverage.nextEligibleReason` | string | Required | must equal "admission\_not\_rechecked" |
  | `monitoringProjection.target.coverage.neverAttempted` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.neverConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.currentUnknown` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.unknownReasons` | object | Required | |
  | `monitoringProjection.target.coverage.freshConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.staleConclusive` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.shares` | object | Required | additional fields rejected |
  | `monitoringProjection.target.coverage.shares.currentUnknown` | number / null | Required | |
  | `monitoringProjection.target.coverage.shares.neverAttempted` | number / null | Required | |
  | `monitoringProjection.target.coverage.shares.freshConclusive` | number / null | Required | |
  | `monitoringProjection.target.coverage.shareMeaning` | string | Required | |
  | `monitoringProjection.target.coverage.freshRetainedLinkVerification` | integer | Optional | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.coverage.linkVerificationMeaning` | string | Optional | |
  | `monitoringProjection.target.coverage.reasonCounts` | object | Required | additional fields rejected |
  | `monitoringProjection.target.coverage.reasonCounts.due` | object | Required | |
  | `monitoringProjection.target.coverage.reasonCounts.deferred` | object | Required | |
  | `monitoringProjection.target.coverage.reasonCounts.unavailable` | object | Optional | |
  | `monitoringProjection.target.jobs` | object | Required | additional fields rejected |
  | `monitoringProjection.target.jobs.retained` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.queued` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.running` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.succeeded` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.failed` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.cancelled` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.everClaimed` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.claimAttempts` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.retryClaims` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.retryExhausted` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.expiredRunningLeases` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.oldestQueuedAt` | string / null | Required | |
  | `monitoringProjection.target.jobs.oldestQueuedAgeSeconds` | number / null | Required | |
  | `monitoringProjection.target.jobs.oldestRunningAdmissionAt` | string / null | Required | |
  | `monitoringProjection.target.jobs.oldestRunningAdmissionAgeSeconds` | number / null | Required | |
  | `monitoringProjection.target.jobs.latestAdmissionAt` | string / null | Required | |
  | `monitoringProjection.target.jobs.latestCompletionAt` | string / null | Required | |
  | `monitoringProjection.target.jobs.scopedRetainedDeadLetters` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.deadLetterMeaning` | string | Required | |
  | `monitoringProjection.target.jobs.admissionToTerminal` | object | Required | additional fields rejected |
  | `monitoringProjection.target.jobs.admissionToTerminal.samples` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.admissionToTerminal.minimumSeconds` | number / null | Required | |
  | `monitoringProjection.target.jobs.admissionToTerminal.maximumSeconds` | number / null | Required | |
  | `monitoringProjection.target.jobs.admissionToTerminal.meaning` | string | Required | |
  | `monitoringProjection.target.jobs.startedAt` | null | Required | |
  | `monitoringProjection.target.jobs.queueWaitSeconds` | null | Required | |
  | `monitoringProjection.target.jobs.providerLatencySeconds` | null | Required | |
  | `monitoringProjection.target.jobs.timingReason` | string | Required | must equal "first\_start\_and\_provider\_timing\_not\_retained" |
  | `monitoringProjection.target.jobs.dispatch` | object | Required | additional fields rejected |
  | `monitoringProjection.target.jobs.dispatch.outstanding` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.dispatch.deferred` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.dispatch.expiredSendingLeases` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.target.jobs.dispatch.nextDispatchAt` | string / null | Required | |
  | `monitoringProjection.target.jobs.dispatch.meaning` | string | Required | |
  | `monitoringProjection.target.jobs.historyMeaning` | string | Required | |
  | `monitoringProjection.index` | object / object / object | Required | |
  | `monitoringProjection.index.status` | string | Required | Resource lifecycle status. must equal "denied" |
  | `monitoringProjection.index.reason` | string | Required | Recorded explanation. |
  | `monitoringProjection.index.status` | string | Required | Resource lifecycle status. must equal "unavailable" |
  | `monitoringProjection.index.status` | string | Required | Resource lifecycle status. must equal "available" |
  | `monitoringProjection.index.suppliedSourceWatches` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.index.activeSourceWatches` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.index.lanes` | array | Required | minItems: 2; maxItems: 2 |
  | `monitoringProjection.index.lanes[].lane` | string | Required | values: "gsc", "licensed\_site" |
  | `monitoringProjection.index.lanes[].retainedStates` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.index.lanes[].observedActiveWatches` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.index.lanes[].neverObservedActiveWatches` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.index.lanes[].currentUnknownStates` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `monitoringProjection.index.lanes[].latestObservationAt` | string / null | Required | |
  | `monitoringProjection.index.lanes[].oldestObservationAt` | string / null | Required | |
  | `monitoringProjection.index.lanes[].oldestObservationAgeSeconds` | number / null | Required | |
  | `monitoringProjection.index.schedule` | object / object | Required | |
  | `monitoringProjection.index.schedule.status` | string | Required | Resource lifecycle status. must equal "unavailable" |
  | `monitoringProjection.index.schedule.reason` | string | Required | Recorded explanation. must equal "schema\_unavailable" |
  | `monitoringProjection.index.schedule.status` | string | Required | Resource lifecycle status. must equal "available" |
  | `monitoringProjection.index.schedule.projectOptedIn` | boolean | Required | |
  | `monitoringProjection.index.schedule.inspectionEnabled` | boolean | Required | |
  | `monitoringProjection.index.schedule.schedulerEnabled` | boolean | Required | |
  | `monitoringProjection.index.schedule.cadenceSeconds` | integer / null | Required | |
  | `monitoringProjection.index.schedule.dailyLimit` | integer / null | Required | |
  | `monitoringProjection.index.schedule.nextProjectScanAt` | string / null | Required | |
  | `monitoringProjection.index.schedule.propertyEligibleWatches` | null | Required | |
  | `monitoringProjection.index.schedule.propertyEligibilityReason` | string | Required | must equal "current\_source\_property\_grant\_not\_assessed" |
  | `monitoringProjection.index.schedule.eligibleWatches` | null | Required | |
  | `monitoringProjection.index.schedule.eligibilityReason` | string | Required | must equal "admission\_not\_rechecked" |
  | `monitoringProjection.index.meaning` | string | Required | |
  | `monitoringProjection.serviceTickWindow` | object | Required | additional fields rejected |
  | `monitoringProjection.serviceTickWindow.expectedTicks` | null | Required | |
  | `monitoringProjection.serviceTickWindow.completedTicks` | null | Required | |
  | `monitoringProjection.serviceTickWindow.availabilityShare` | null | Required | |
  | `monitoringProjection.serviceTickWindow.reason` | string | Required | Recorded explanation. must equal "tick\_history\_not\_retained" |
  | `monitoringProjection.capacity` | object | Required | additional fields rejected |
  | `monitoringProjection.capacity.dueOpportunities` | null | Required | |
  | `monitoringProjection.capacity.missedOpportunities` | null | Required | |
  | `monitoringProjection.capacity.checksPerEligibleWatch` | null | Required | |
  | `monitoringProjection.capacity.reason` | string | Required | Recorded explanation. must equal "bounded\_roster\_opportunity\_history\_not\_retained" |
  | `monitoringProjection.meaning` | string | Required | |
  | `sourceLinkVerification` | object | Required | additional fields rejected |
  | `sourceLinkVerification.latestRetainedAt` | string / null | Required | |
  | `sourceLinkVerification.oldestRetainedAt` | string / null | Required | |
  | `sourceLinkVerification.observedWatches` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `sourceLinkVerification.meaning` | string | Required | |
  | `sourceJobs` | object | Required | additional fields rejected |
  | `sourceJobs.queued` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `sourceJobs.running` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `overdueReasons` | object | Required | |
  | `index` | object / object / object | Required | |
  | `index.status` | string | Required | Resource lifecycle status. must equal "available" |
  | `index.reason` | string | Required | Recorded explanation. |
  | `index.observedWatches` | integer | Required | minimum: 0; maximum: 9007199254740991 |
  | `index.latestObservationAt` | string / null | Required | |
  | `index.oldestObservationAt` | string / null | Required | |
  | `index.oldestObservationAgeSeconds` | number / null | Required | |
  | `index.denominator` | string | Required | |
  | `index.status` | string | Required | Resource lifecycle status. must equal "denied" |
  | `index.status` | string | Required | Resource lifecycle status. must equal "unavailable" |
  | `serviceTicks` | object | Required | additional fields rejected |
  | `serviceTicks.status` | string | Required | Resource lifecycle status. values: "available", "unavailable" |
  | `serviceTicks.meaning` | string | Required | |
  | `serviceTicks.items` | array | Required | Records in this bounded page. |
  | `serviceTicks.items[].plan` | string | Required | |
  | `serviceTicks.items[].latestAttemptAt` | string | Required | format: "date-time"; pattern: "^(?:(?:\d\d\[2468]\[048]\|\d\d\[13579]\[26]\|\d\d0\[48]\|\[02468]\[048]00\|\[13579]\[26]00)-02-29\|\d\{4}-(?:(?:0\[13578]\|1\[02])-(?:0\[1-9]\|\[12]\d\|3\[01])\|(?:0\[469]\|11)-(?:0\[1-9]\|\[12]\d\|30)\|(?:02)-(?:0\[1-9]\|1\d\|2\[0-8])))T(?:(?:\[01]\d\|2\[0-3]):\[0-5]\d:\[0-5]\d(?:\\.\d+)?(?:Z))\$" |
  | `serviceTicks.items[].latestCompletionAt` | string / null | Required | |
  | `serviceTicks.items[].latestSuccessAt` | string / null | Required | |
  | `serviceTicks.items[].latestOutcome` | string | Required | values: "running", "succeeded", "failed" |
  | `serviceTicks.items[].ageSeconds` | number | Required | minimum: 0 |
  | `assurance` | object | Required | additional fields rejected |
  | `assurance.elapsedSoak` | string | Required | must equal "not\_established" |
  | `assurance.backupRestore` | string | Required | must equal "not\_established" |
  | `assurance.externalDelivery` | string | Required | must equal "not\_established" |
  | `denominator` | string | Required | |
</Accordion>

[Download input schema](/schemas/get_monitoring_service_assurance.input.json) · [Download output schema](/schemas/get_monitoring_service_assurance.output.json)

## Errors and retries

The command is annotated idempotent. Reuse an accepted idempotency key when the input provides one; changing the payload under a reused key can conflict.

See [error recovery](/reference/errors) for status, scope, cooldown, cursor and retry handling. Unknown observations are result data and do not establish loss.

## HTTP resource routes

These existing resource routes share the operation’s domain behavior. Their parameter placement, status and response envelope can differ from generic invocation. See [HTTP route details](/reference/http/routes).

| Method and route | Success | Details |
| - | - | - |
| `GET /v1/projects/{projectId}/monitoring-assurance` | 200 | Reads scoped supplied-record freshness and service timestamps. Health checks, backups, elapsed soak and external delivery remain separate acceptance. |

## Continue

Follow the [related workflow](/guides/monitor-changes), inspect [capability status](/capability-status), or return to the [command index](/reference/index).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.