/find
POSTAttribution lookup endpoint. Called by the SDK to find attribution for an install.
Overview#
This endpoint is called by the SDK on first app launch to find attribution data. It matches the install to a previous click based on device signals.
The SDK handles this automatically. You typically don't need to call this endpoint directly.
Endpoint#
POST https://YOUR_APP_ID.mobana.ai/findRequest#
POST https://YOUR_APP_ID.mobana.ai/find
Content-Type: application/json
{
"installId": "520e8400-c466-a554-40e0-0",
"platform": "android",
"dacid": "cm5abc123xyz...",
"timezone": "America/New_York",
"screenWidth": 393,
"screenHeight": 852,
"language": "en-US"
}| Parameter | Type | Description |
|---|---|---|
installIdRequired | string | Unique ID for this install. Generate a UUID on first launch and store it locally. Used for idempotency and conversion linking. |
platformRequired | string | ios or android |
dacid | string | Click ID from Android Install Referrer. If present, enables deterministic (100% accurate) matching. |
timezone | string | User's timezone in IANA format (e.g., America/New_York). Improves probabilistic matching. |
screenWidth | number | Screen width in points. Improves probabilistic matching. |
screenHeight | number | Screen height in points. Improves probabilistic matching. |
language | string | Device language in BCP 47 format (e.g., en-US). Improves probabilistic matching. |
Response#
Match Found (Probabilistic)
{
"matched": true,
"attribution": {
"utm_source": "facebook",
"utm_medium": "cpc",
"utm_campaign": "summer_launch",
"utm_content": "carousel_ad_1",
"utm_term": null,
"data": {
"promo": "WELCOME10"
}
},
"confidence": 0.8857
}Match Found (Deterministic)
{
"matched": true,
"attribution": {
"utm_source": "google",
"utm_campaign": "brand_campaign"
},
"confidence": 1.0
}No Match
{
"matched": false
}| Property | Type | Description |
|---|---|---|
matched | boolean | Whether an attribution match was found |
attribution | object | Attribution data (only present if matched) |
confidence | number | Match confidence (0.0 - 1.0). 1.0 = deterministic match via Install Referrer. <1.0 = probabilistic match. |
Matching Algorithm#
Deterministic Matching
If dacid (click ID) is provided and matches a stored click, the match is deterministic with 100% confidence. This is only available on Android via the Install Referrer API.
Probabilistic Matching
Without a click ID, the algorithm matches based on:
- • IP address (strongest signal)
- • Platform (must match)
- • Timezone
- • Screen dimensions
- • Language
- • Time since click (closer = better)
The confidence score reflects how many signals matched and their quality. Higher confidence = more reliable attribution.
Idempotency#
The endpoint is idempotent based on installId. Multiple calls with the same install ID return the cached result without additional billing. This makes retries safe.
Organic Installs#
If no match is found (matched: false), the install is recorded as organic. This is still useful for analytics — you can see what percentage of installs are organic vs. attributed.