Skip to content
HeyCrustDocs

Search documentation

Search by topic or tool name
Browse documentation
Tool reference

validate_activation_funnel

Validate a proposed definition and owned pinned references without writing.

On this page

Purpose

Validate a proposed definition and owned pinned references without writing.

Access and effects

Owner workspace credential only; member, partner and app-bound affiliate credentials cannot use these tools. Reads do not change definitions, start reconciliation, create events, run automations or send messages. Use the owned app UUID from list_apps.

Example request

These identifiers are fictional. Replace them with your owned app, saved funnel/version and merchant.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "validate_activation_funnel",
    "arguments": {
      "appId": "11111111-1111-4111-8111-111111111111",
      "definition": {
        "name": "Observed activation",
        "entry": {
          "kind": "install"
        },
        "mode": "requirements",
        "windowDays": 30,
        "stages": [
          {
            "id": "collected",
            "label": "First positive collection",
            "match": "all",
            "requirements": [
              {
                "kind": "collection"
              }
            ]
          }
        ]
      }
    }
  }
}

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 and interpretation

Returns valid, structured issues and, for a valid definition, the normalized definition, owned pinned references and current coverage. A structurally valid proposal can still have incomplete tracking coverage. Validation stores no definition or event, queues no job and calls no provider. It does not verify that your app emitted a milestone correctly.

See event observability for definitions, deployment declarations and privacy boundaries.

Query timeouts

A recognized PostgreSQL timeout returns status: unavailable and reasons: [query_timeout], with no fabricated totals. Check status/reasons before interpreting the result; narrow the window or retry. A complete activation report can also be unavailable for fact/journey limits or calculation_timeout.