get_claims_auto_approval

Read-only

Calls GET /api/claims/auto-approval as the signed-in person · REST reference

Claim auto-approval — the switch, the trusted clinics and the rules

What decides whether a claim is approved without a person: the mode Pawsitive Future has set (OFF, SHADOW or ENFORCE; a mode never set reads OFF), when and by whom it last changed, every service provider trusted to be approved by the rules, the policy the rules decide by, and whether this caller may change the mode and the trust (canChange). PLATFORM STAFF holding execute:ApproveVoucherCommand — the permission that approves a claim sets the rules claims are approved by. Changing them needs execute:UpdateOrgCommand as platform authority as well, which canChange reports. Read on the caller's own credential. A clinic never reads whether it is trusted.

Arguments

This tool takes no arguments.

Example call

A client sends this over the MCP session; Claude and other agents build it for you. The values are placeholders — the shape is real.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_claims_auto_approval",
    "arguments": {}
  }
}

Result

On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.

The settings as they stand.

json
{
  "canChange": true,
  "mode": "OFF",
  "modeChangedAt": 1,
  "modeChangedBy": "11111111-1111-4111-8111-111111111111",
  "modeChangedByName": "string",
  "policy": {
    "auditSampleRate": 1,
    "checks": [
      "READABLE"
    ],
    "confidenceFloor": 1,
    "coverage": [
      {}
    ],
    "version": "string"
  },
  "trustedClinics": [
    {
      "name": "string",
      "orgId": "11111111-1111-4111-8111-111111111111",
      "trustedAt": 1,
      "trustedBy": "11111111-1111-4111-8111-111111111111",
      "trustedByName": "string"
    }
  ]
}

Fields

FieldTypeDescription
canChangebooleanWhether this caller may change the mode and the trusted clinics, computed by the server from the same rule the two PUTs gate on: platform staff whom the DAL answers hold execute:UpdateOrgCommand as platform authority — a global grant held through the platform organization, the test both settings are written under. An organization's own grant of it, the platform organization's included, is not that. Offer the controls only when it is true; a PUT from anyone else answers 403.
mode"OFF" | "SHADOW" | "ENFORCE"What the claim auto-approval sweep does with each CLAIMED voucher. OFF decides nothing. SHADOW decides each claim by the rules and records the decision on the delivery trail, approving nothing. ENFORCE approves, with no person, every claim the rules pass from a clinic Pawsitive Future trusts, at the amount the rules propose, and records every hold. A claim the rules hold waits for a reviewer exactly as it would with the switch OFF.
modeChangedAtinteger | nullWhen the mode last changed to the value it holds, epoch milliseconds; null if it never has.
modeChangedBystring (uuid) | nullThe user who last changed the mode; null when it never changed, or no person did.
modeChangedByNamestring | nullmodeChangedBy by name, first and last; null when there is none, or that user is no longer on record or has no name.
policyobjectWhat the rules decide by — read-only, fixed per policy version, which every decision is recorded under. ENFORCE pays the covered lines the policy recognises, never more than the invoice's total, capped at the voucher's payout cap; every check must pass and each holds on failure, none denies.
policy.auditSampleRatenumberThe share of claims, 0 to 1, held for an independent check whatever else they pass.
policy.checksarray of "READABLE" | "ARITHMETIC" | "ENTERED_TOTAL" | "NO_INJECTION" | "LINES_CLASSIFIED" | "CORE_PROCEDURE" | … (14 values)Every check, in the order a decision lists them.
policy.confidenceFloornumberThe least confidence, 0 to 1, the invoice reading must carry to approve.
policy.coveragearray of object
policy.coverage[].ceilingCentsinteger | nullThe most one line of it pays, in CENTS; null for no limit.
policy.coverage[].corebooleanThe procedure itself — every claim bills exactly one.
policy.coverage[].coveredbooleanPaid at all. A line the policy does not recognise is never paid and holds the claim.
policy.coverage[].idstringThe category, e.g. SPAY, NEUTER, ANESTHESIA, PAIN_MEDICATION, PREOP, E_COLLAR.
policy.versionstring
trustedClinicsarray of objectEvery trusted service provider, by name.
trustedClinics[].namestring
trustedClinics[].orgIdstring (uuid)
trustedClinics[].trustedAtinteger | nullWhen it was trusted, epoch milliseconds.
trustedClinics[].trustedBystring (uuid) | nullThe user who trusted it; null when no person did.
trustedClinics[].trustedByNamestring | nulltrustedBy by name, first and last; null when no person trusted it, or that user is no longer on record or has no name.

When it fails

A failed call returns isError: true with the API's message as text.

403

The caller is not platform staff, or holds no execute:ApproveVoucherCommand (Access denied. Missing required permission.).

What the model is shown

This is the tool exactly as the server lists it in tools/list. The description starts with the REST call it makes.

json
{
  "name": "get_claims_auto_approval",
  "description": "GET /api/claims/auto-approval — What decides whether a claim is approved without a person: the mode Pawsitive Future has set (OFF, SHADOW or ENFORCE; a mode never set reads OFF), when and by whom it last changed, every service provider trusted to be approved by the rules, the policy the rules decide by, and whether this caller may change the mode and the trust (`canChange`). PLATFORM STAFF holding `execute:ApproveVoucherCommand` — the permission that approves a claim sets the rules claims are approved by. Changing them needs `execute:UpdateOrgCommand` as platform authority as well, which `canChange` reports. Read on the caller's own credential. A clinic never reads whether it is trusted.",
  "inputSchema": {
    "type": "object",
    "properties": {}
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}