pixellint

vendor/adjust · vendor documented

Adjust server-to-server events

Not the client SDK hit. The S2S event endpoint takes query or form parameters. The pack contracts what Adjust documents for that call.

What this pack matches

Hosts
s2s.adjust.com
Paths
…/event…
Vendor docs
dev.adjust.com/en/api/s2s-api/events/

Rules

Codes are stable. A finding in CI, MCP, or the playground lands on the same id.

Field Required What it checks Rule ids Source
app_token required It is the Adjust app token from the dashboard, and the endpoint requires it on every request. Fix: Send the app token from the Adjust dashboard as `app_token`. vendor.adjust.param.app_token.missing
vendor.adjust.param.app_token.empty
docs
event_token required It is the Adjust event token from the dashboard, and the endpoint requires it on every request. Fix: Send the event token from the Adjust dashboard as `event_token`. vendor.adjust.param.event_token.missing
vendor.adjust.param.event_token.empty
docs
s2s required Adjust documents a hardcoded `s2s=1` so the endpoint treats the request as server-to-server. Fix: Add `s2s=1`. vendor.adjust.param.s2s.missing
vendor.adjust.param.s2s.empty
vendor.adjust.param.s2s.invalid
docs
created_at optional Adjust documents `created_at` as an ISO 8601 timestamp. `created_at_unix` is the Unix-seconds alternative. Fix: Send ISO 8601, such as `2017-01-02T15:04:05.000+0000`, or send `created_at_unix` instead. vendor.adjust.param.created_at.empty
vendor.adjust.param.created_at.invalid
docs
created_at_unix optional Adjust documents it as a Unix timestamp in seconds. Fix: Send seconds, not milliseconds. vendor.adjust.param.created_at_unix.empty
vendor.adjust.param.created_at_unix.invalid
docs
currency optional It is the ISO 4217 currency code for a revenue event. Fix: Use the three-letter code, such as `EUR`. vendor.adjust.param.currency.empty
vendor.adjust.param.currency.invalid
docs
environment optional Adjust documents `sandbox` or `production`, and defaults to production when it is omitted. Fix: Send `environment=sandbox` for testing, or `environment=production` for live traffic. vendor.adjust.param.environment.empty
vendor.adjust.param.environment.invalid
docs
ip_address optional It is the device IP address, sent unhashed. Adjust documents IPv4 only. Fix: Send the device IPv4 address, not a digest and not an IPv6 address. vendor.adjust.param.ip_address.empty docs
idfa optional iOS Identifier for Advertisers. Adjust requires a device ID such as `idfa` or `gps_adid`. vendor.adjust.param.idfa.empty docs
gps_adid optional Android advertising ID. Adjust requires a device ID such as `idfa` or `gps_adid`. vendor.adjust.param.gps_adid.empty docs
idfv optional iOS Identifier for Vendor. vendor.adjust.param.idfv.empty docs
android_id optional Raw Android ID, lowercase, without hyphens. vendor.adjust.param.android_id.empty docs
android_id_lower_md5 optional Hashed Android ID, lowercase MD5. docs
android_id_lower_sha1 optional Hashed Android ID, lowercase SHA1. docs
android_id_upper_md5 optional Hashed Android ID, uppercase MD5. docs
android_id_upper_sha1 optional Hashed Android ID, uppercase SHA1. docs
imei optional Raw IMEI, without hyphens. docs
imei_lower_md5 optional Hashed IMEI, lowercase MD5. docs
meid optional Raw MEID, uppercase, without hyphens. docs
win_naid optional Windows network adapter ID. docs
win_hwid optional Windows Store hardware ID. docs
adid optional The Adjust identifier associated with the device. Useful for identifying LAT users on iOS without IDFA. vendor.adjust.param.adid.empty docs
device_id_required required The request carries no device identifier. Adjust requires an advertising ID such as `idfa` or `gps_adid`, or one of the other documented device IDs. Fix: Send `idfa` for iOS or `gps_adid` for Android, or another documented device ID. vendor.adjust.device_id_required docs
hashed_plaintext_field required `ip_address` looks like a SHA-256 digest, but Adjust documents it as the device IPv4 address, unhashed. Fix: Send the raw IPv4 address. Hashing it makes the event unmatchable. vendor.adjust.hashed_plaintext_field docs

Validate a payload

pixellint validate url "$ARTIFACT" --rulepack vendor/adjust

Or paste it into the playground. Same engine, in the browser, nothing sent anywhere.

cargo install pixellint · npm install pixellint