Skip to main content
Create/update returns 422 if a value does not match the format or is not in the API allowlist. Do not guess country names or free-form locale strings.

Allowed values

Country codes

Used in filters.geolocation.countries and pages.offers[].segmentation.country.

Browser language codes

Used in filters.browser_language.languages.

State and city names

Used in filters.state.states and filters.city.cities. Free-text GeoIP place names — not ISO codes.

URL query params (filters.query)

Cloakup matches URL query parameters against filters.query.params. Each key maps to an array of allowed values (not a plain string).

Wildcard

Use "*" as the value to accept any value for that param key:
This only checks that utm_source exists in the URL — the actual value does not matter. Empty params: {} means no URL param filtering.

Required filter keys

On create/update, these top-level keys under filters must be present: geolocation, referer, query, domain, browser, browser_language, isp, os, user_agent, blacklist Optional keys (defaults apply): ad-network flags, deny_always, bots, proxy, adspy, cloakup_ai, state, city, network_type, device, whitelist. Full JSON Schema: Schemas → CampaignFilters.