You can now block installs from being attributed to specific site IDs using the SIO API. Site IDs can be blocked at the app, channel, or campaign level.
When a Site ID is blocked, Tenjin will not log ad engagements (clicks and impressions) in our databases – while ads will still be shown to end users.
Please note:
- Tenjin does not send rejection Callbacks to ad networks at this time.
- Tenjin does not report on blocked ad engagements (clicks and impressions).
- This feature is designed for organizations performing in-house fraud analysis or are looking to optimize campaigns.
- While Tenjin can provide guidance, decisions to block site IDs from Attribution are entirely at your discretion.
- We recommend also reaching out to your partner rep when dealing with potential fraud cases.
To use the API,
- You need an API Access Token (a JWT Bearer Token) from the Tenjin dashboard. Create a new one if you haven’t already. API Access Tokens are also needed to access RMA and CMA API endpoints. If you don’t have access to this feature, please email support@tenjin.com.


- Get siteIds from either
- DataVault
- S2S Callbacks
- Dashboard group by -> Site ID
- Optionally, you may need campaignId, appId, or adNetworkShortId to block siteIds at one or a combination of these levels. You can get these IDs from –
- DataVault
- S2S Callbacks
- campaignId and appId can be accessed from the Tenjin dashboard.
- You can identify the Ad Network short ID for non-SANs by checking the network name in the tracking link – that segment of the URL represents the short ID.
- Example: for ironSource, the short ID is supersonic, visible in the tracking link like
https://track.tenjin.io/v0/supersonic/bFpF2uljcAyfPCzwUJ0tuZ?…
- Example: for ironSource, the short ID is supersonic, visible in the tracking link like
- If you still need adNetworkShortId assistance, please reach out to support@tenjin.com.
- For any questions, reach out to support@tenjin.com.
How to use the API – #
Request Parameters #
Required for all requests:
- Host: connect.tenjin.com
- Method: POST
- Content-Type: application/json
- Authorization: JWT Bearer Token generated on the Tenjin Dashboard
Get Your Filter List: #
curl -X POST \
-d '{}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-jwt-token-from-tenjin-dash" \
https://connect.tenjin.com/management.v1.SiteIDFilter/GetOutput:
{
"version": 0
}The list is empty and uninitialized.
Blocking Site IDs #
curl -X POST \
-d '{"rules":[{"siteId":"globally blocked Site ID"}]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-jwt-token-from-tenjin-dash" \
https://connect.tenjin.com/management.v1.SiteIDFilter/BlockKey rules must be an array of objects with:
- siteId, required
- adNetworkShortId, optional
- appId, optional, uuid
- campaignId, optional, uuid
Key clear is optional and when set to true will clear all previous rules and block new rules in one step.
Output:
{
"version": 1
}The version got incremented due to a change to the filter rules. Let’s call Get again:
Output:
{
"version": 1,
"rules": [
{
"siteId": "globally blocked Site ID",
"createTime": "2026-01-28T09:53:07.740904Z"
}
]
}Block another Site ID but for a single app only:
curl -X POST \
-d '{"rules":[{"siteId":"Site ID blocked for app", "appId":"your-tenjin-app-id"}]}'
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-jwt-token-from-tenjin-dash" \
https://connect.tenjin.com/management.v1.SiteIDFilter/BlockOutput:
{
"version": 2
}Let’s call Get again:
Output:
{
"version": 2,
"rules": [
{
"siteId": "globally blocked Site ID",
"createTime": "2026-01-28T09:53:07.740904Z"
},
{
"appId": "your-tenjin-app-id",
"siteId": "Site ID blocked for app",
"createTime": "2026-01-28T09:53:07.740904Z"
}
]
}Reinstate Site IDs #
You may remove Site IDs from the filter list again:
curl -X POST \
-d '{"siteIds":["Site ID blocked for app"]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-jwt-token-from-tenjin-dash" \
https://connect.tenjin.com/management.v1.SiteIDFilter/Reinstate{
"version": 3
}Let’s call Get again:
Output:
{
"version": 3,
"rules": [
{
"siteId": "globally blocked siteid",
"createTime": "2026-01-28T09:53:07.740904Z"
}
]
}Clear all Site IDs #
To remove all filter rules:
curl -X POST \
-d '{}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-jwt-token-from-tenjin-dash" \
https://connect.tenjin.com/management.v1.SiteIDFilter/ClearLet’s call Get again:
Output:
{
"version": 4
}