v1Resources/SEO/patchUpdate a location's rank-grid config
Update a location's rank-grid config
Updates a location's rank-grid measurement config: grid size, distance between points, excluded grid points, or whether water grid points count toward stats. Pass only the fields you want to change. Water points are always scraped either way — includeWaterPoints only controls whether they're counted and shown. Read-side is covered by GET /api/v1/seo/keywords, whose response already includes includeWaterPoints.
patch
seo:write/api/v1/seo/configRequest body
locationIdstringrequired
The location to configure.
clientIdstringoptional
The location's client.
gridSizeinteger (3 | 5 | 7)optional
Grid size: 3, 5, or 7.
distanceKmnumberoptional
Distance in kilometers between adjacent grid points.
excludedarray of objectoptional
Grid points to exclude from measurement.
rowintegeroptional
Grid row index, 0-indexed.
colintegeroptional
Grid column index, 0-indexed.
includeWaterPointsbooleanoptional
Whether water grid points count toward stats.
Response
dataobjectoptional
configobjectoptional
The location's grid config after the update.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
429Too many requests. Retry after the number of seconds in the Retry-After header.
patch/api/v1/seo/config
Your API key
Request body*
{
"data": {
"config": {
"id": "cm_cfg_abc123",
"synupLocationId": "os_9f8e7d6c",
"clientLocationId": "cm_loc_1",
"agencyId": "cm_agency_1",
"placeId": "ChIJtXC2rwgF9YgRNh1YJHlA4vQ",
"centerLat": 30.2672,
"centerLng": -97.7431,
"gridSize": 5,
"distanceKm": 1.5,
"excludedPoints": [
{
"row": 4,
"col": 4
}
],
"generationStartedAt": null,
"lastRunStatus": "complete",
"lastError": null,
"includeWaterPoints": true,
"lastGeneratedAt": "2026-02-01T06:00:00.000Z",
"createdAt": "2026-01-10T09:00:00.000Z",
"updatedAt": "2026-02-05T10:00:00.000Z"
}
}
}