Skip to content
HeyCrustDocs

Search documentation

Search by topic or tool name
Browse documentation
Tool reference

verify_events

Inspect exact registered-plan receipts within one owned app and UTC window.

On this page

Purpose

Inspect exact registered-plan receipts within one owned app and UTC window.

Access and effects

Owner workspace credential only. Member, partner and app-bound affiliate credentials cannot use this tool. Use the owned app UUID from list_apps. Only register_events writes; the other instrumentation tools read or generate code.

Example request

Identifiers are fictional. Use the actual owned app and returned plan; do not fabricate production receipts.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "verify_events",
    "arguments": {
      "appId": "11111111-1111-4111-8111-111111111111",
      "planId": "22222222-2222-4222-8222-222222222222",
      "from": "2026-10-01T00:00:00Z",
      "to": "2026-10-08T00:00:00Z"
    }
  }
}

POST to https://heycrust.com/api/mcp with Content-Type: application/json and Authorization: Bearer <YOUR_CREDENTIAL>. Check JSON-RPC errors and result.isError, then parse JSON text in result.content.

Result and interpretation

Returns available or invalid-plan evidence. For available plans, each pinned event has received/missing state, an exact count and at most 10 latest original event IDs with occurrence and receipt times; receiptsTruncated describes the cap. The app is explicit, from is inclusive, to exclusive, and the forward UTC window is at most 365 days (default preceding 30 days). Excludes configured test shops and browser-origin observations, even when proxied through API transport. Missing receipts leave merchant inactivity unknown without coverage. A foreign app is rejected; an absent/foreign plan or invalid pinned definition is invalid-plan. No Shopify read/backfill request is made.

Delivery boundaries

Download the Node ESM package. The SQLite spool requires Node 22.13+ or 24+ and a persistent local disk. Ephemeral Render/serverless disk does not retain queued work across replacements or deployments. Existing durable PostgreSQL/Prisma outboxes should use the package's guarded delivery seam and preserve their shared lifecycle fences, redaction cancellation and retained reinstall epochs.

Clear an optional analyticsHandle to null (or omit it) for Crust-only tracking. Generated Shopify maps exclude those events; existing registered handles and pinned definitions are preserved.

Shopify mirroring is opt-in per explicit crust.analytics.* monitoring handle. Keep handles absent from pricing meters; no value, billing, contact or identity attributes are permitted. Shopify uses client credentials and the 2026-10 App Events endpoint. Exact 202 plus success=true confirms transport acceptance, not Analytics processing. Shopify custom-event deduplication lasts 24 hours; never claim permanent exactly-once delivery. Analytics developer preview access and accepted declarations are separate. No generic App Events read/backfill API is assumed. The SDK defaults to32 bounded attempts with5-second polling and exponential backoff capped at1hour; a repeated1hour outage remains queued and recovery is retried automatically. The next retry may take up to the backoff cap; custom lower attempt limits can exhaust earlier. Shopify reference.

Recognized PostgreSQL timeouts return status: unavailable with reasons: [query_timeout]; do not interpret missing totals as zero.