OppiziDeveloper
API ReferenceAudiences & Designs

Self-serve cities

Cities you can target in a self-serve campaign, with the fields needed for targeting: id, name, state, nameWithState, country, latitude, longitude. Only self-serve-enabled cities; ops-only fields (surge, pay, recruitment) are never exposed. Optional `search` on name; `first` (≤1000). Notes: - Pass rows as `selectedCities` to set_campaign_targeting when building a DM-core / H2H self-serve campaign. Composed from: direct PG SELECT on "City" (minimal geo/label columns) WHERE the city has a self-serve "Location" (Location.is_self_serve_location = true)

GET
/client/cities

Cities you can target in a self-serve campaign, with the fields needed for targeting: id, name, state, nameWithState, country, latitude, longitude. Only self-serve-enabled cities; ops-only fields (surge, pay, recruitment) are never exposed. Optional search on name; first (≤1000).

Notes:

  • Pass rows as selectedCities to set_campaign_targeting when building a DM-core / H2H self-serve campaign.

Composed from: direct PG SELECT on "City" (minimal geo/label columns) WHERE the city has a self-serve "Location" (Location.is_self_serve_location = true)

Authorization

clientKey
AuthorizationBearer <token>

Your Oppizi client key. Send it as Authorization: Bearer <client-key>. Scoped to your client account only.

In: header

Query Parameters

search?string

Case-insensitive city-name substring.

first?string

Max rows (default 500, ≤1000).

Response Body

application/json

curl -X GET "https://example.com/client/cities"
{  "success": true,  "data": {    "nodes": [      {        "id": "55",        "name": "Chicago",        "state": "IL",        "nameWithState": "Chicago, IL",        "country_id": "1",        "country_name": "United States",        "latitude": "41.8781",        "longitude": "-87.6298"      }    ],    "totalCount": 1  }}
Empty
Empty
Empty
Empty
Empty