searchCities
Find US cities by (partial) name and return each match's id, name and state.
Find US cities by (partial) name and return each match's id, name and state. This is how you IDENTIFY a city: the cityFilters condition in a property filter tree takes the returned id as its value (with label set to "Name, ST", e.g. "Memphis, TN"), and saveFilter/updateFilter REJECT a bare city name on PROPERTY filters (CONTACT matches a name leniently): a name alone is ambiguous across states (11,347 US city names occur in more than one state), so a filter built from one would match nothing. Disambiguate by including the state in the search term (e.g. "Memphis TN") when a name is common. The same id is also what getZoningCodes takes as cityId.
curl https://server.goliathdata.com/api/v1/call \
-H "Authorization: Bearer $GOLIATH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"operationId": "searchCities",
"variables": {
"searchTerm": "<String>"
}
}'import { GoliathClient } from '@goliath-data/sdk'
const goliath = new GoliathClient({
apiKey: process.env.GOLIATH_API_KEY!,
baseUrl: 'https://server.goliathdata.com',
})
const result = await goliath.properties.searchCities({
searchTerm: '<String>'
})const res = await fetch('https://server.goliathdata.com/api/v1/call', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GOLIATH_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
operationId: 'searchCities',
variables: {
searchTerm: '<String>'
}
}),
})
const { data, errors } = await res.json()limit is clamped to 10.
Variables
The example sends only what the schema requires. Some operations also need one of several optional variables (one filter or another, say); the description above says which.
Default 10.
Response
What comes back under data: a list shows as one entry, and a value as its type.
{
"data": {
"geography": {
"searchCities": [
{
"id": "…",
"name": "…",
"state": "AL"
}
]
}
}
}Errors
unknown_variableA variable the operation does not declare. A typo is refused rather than silently dropped.
unauthorizedNo bearer header, or the key is invalid or revoked.
insufficient_scopeThe key lacks the scope the operation requires.
forbiddenA referenced record does not exist, was deleted, or is outside your organization. The gateway cannot tell those apart.
Behaviour
A read. It rejects an Idempotency-Key header with 400 bad_request.