get_custom_event_receipt
Read an exact owned app/event receipt without exposing properties or proving message delivery.
On this page
Purpose
Read one stored custom-event receipt by its exact owned app ID and external event ID. Use this after an authorized release to inspect a naturally occurring milestone.
Credentials and scope
Owner workspace credential. App-bound affiliate credentials cannot access this tool. The lookup includes workspace, app and event ID; it cannot return another app's receipt using the same event ID.
Inputs
appId: required owned HeyCrust app UUID fromlist_apps.eventId: required 1–128-character external event ID persisted by your sender, case-sensitive. This is different from the numeric stored ID returned by/api/events.
Example request
These identifiers are fictional; replace them with an owned app and an existing natural event.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_custom_event_receipt",
"arguments": {
"appId": "11111111-1111-4111-8111-111111111111",
"eventId": "opaque-lifecycle-save-id"
}
}
}
POST to https://heycrust.com/api/mcp with Content-Type: application/json and Authorization: Bearer <YOUR_CREDENTIAL>. Inspect JSON-RPC errors and result.isError, then parse the JSON text in result.content.
Result
found: true returns the stored numeric ID as a string, app ID, external event ID, shop domain, normalized name, source, scope, occurrence time and original receivedAt. Properties and payload hashes are omitted. A retry does not change the original receipt time. found: false returns receipt: null; an unowned app returns an error.
Effects and verification
Reads only. It proves an event row exists for that app/event ID at inspection time. It does not prove milestone truth, Shopify state, a Flow run or message delivery. Transport source: api can still carry browser-derived evidence; retain and inspect provenance in your app's original allowlisted payload. list_events reports Shopify lifecycle history and cannot substitute for this lookup.
Troubleshooting
Missing receipts remain unknown: an event may never have been sent, may have failed, or may have been redacted. Events without external IDs and legacy unscoped events cannot be inspected by this tool. See backend events for retention and acknowledgement rules. Do not resend or create a synthetic event merely to make the lookup succeed.