ConstraintsWhich events can serve as the lead / conversion step

Which events can serve as the lead / conversion step

Inventories every non-system event in the window with its volume, its session coverage, and which JSON paths carry a monetary value — then suggests a conversion_event / lead_event / revenue_path you can pass straight to the main endpoint. Session coverage is why this exists. The funnel is session-grained, so an event's coverage is a ceiling on what the analysis can see. Server-side conversions (CRM/webhook over Pub/Sub) never touch the browser and carry no session_id: choosing one would yield a funnel with zero conversions that the constraint logic then attributes to the landing page. Neither /client/v1/data/events/breakdown nor /client/v1/data/properties reports coverage, which is the gap this fills. Reads only the events view — it does not require a synced Meta table.

curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/constraints/events?location_id=example_string&from=2024-12-25&to=2024-12-25&days=28" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "success": true,
  "data": {
    "window": {
      "from": "2024-12-25",
      "to": "2024-12-25"
    },
    "suggested": {
      "conversion_event": "example_string",
      "revenue_path": "example_string",
      "lead_event": "example_string",
      "note": "example_string"
    },
    "events": [
      {
        "event_name": "John Doe",
        "total_events": 42,
        "sessions": 42,
        "session_coverage": 3.14,
        "person_coverage": 3.14,
        "credited_via": "session",
        "revenue_paths": [
          "example_string"
        ],
        "suggested_revenue_path": "example_string",
        "usable": true,
        "suggested_role": "conversion",
        "warning": "example_string"
      }
    ]
  }
}
GET
/client/v1/constraints/events
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Agency key (ak_) or location secret key (sk_). Scoped keys (mcp_) are accepted too and need constraints:read or constraints:write. See Using an mcp_ key over HTTP.

Agency key (ak_) or location secret key (sk_). Scoped keys (mcp_) are accepted too and need constraints:read or constraints:write. See Using an mcp_ key over HTTP.
query
location_idstring

Location to scope to. Required for ak_ keys (or send the X-Location-Id header).

query
fromstring

Window start (YYYY-MM-DD). Defaults to 28 days before to.

Format: date
query
tostring

Window end (YYYY-MM-DD), inclusive. Defaults to yesterday.

Format: date
query
daysinteger

Window length in days, inclusive of both ends — the same shorthand /client/v1/data takes. days=90 ending yesterday is the usual call. Ignored when from is given explicitly. Out-of-range values are rejected, not clamped.

Min: 1 • Max: 365
Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Agency key (ak_) or location secret key (sk_). Scoped keys (mcp_) are accepted too and need constraints:read or constraints:write. See Using an mcp_ key over HTTP.

Query Parameters

location_idstring

Location to scope to. Required for ak_ keys (or send the X-Location-Id header).

fromstring

Window start (YYYY-MM-DD). Defaults to 28 days before to.

tostring

Window end (YYYY-MM-DD), inclusive. Defaults to yesterday.

daysinteger

Window length in days, inclusive of both ends — the same shorthand /client/v1/data takes. days=90 ending yesterday is the usual call. Ignored when from is given explicitly. Out-of-range values are rejected, not clamped.

Responses

successboolean
dataobject