/api/v1. All routes use a project-scoped API key -
Authorization: Bearer <api_key> - that must belong to the project in the
path. See Authentication for scopes.
Every response includes
surface. A create request accepts either a keyword
config or a competitor config with surface: "competitors", version: 1, an
exact Google location/device scope, filters, and public keyword exclusions. The
optional top-level surface is also accepted for API clients. Names are scoped
by project and surface, so a Keywords view and a Competitors view may share a
name without overwriting one another.
Saved views store presentation state; deleting one does not mutate keywords.
The generated OpenAPI document remains the
authoritative request and response schema.