Here’s the relationship that ties everything together: users own accounts → accounts contain data objects → API keys grant programmatic access to those data objects, scoped to exactly the permissions you define. Webhooks and integrations build on top of this foundation to extend what you can do with your data.
Search
Search is the primary way you and your applications retrieve information stored in Google. Every data object you create is indexed automatically — you don’t need to configure anything for search to work. Google supports two complementary query modes:- Full-Text Search
- Structured Search
Full-text search scans the Full-text search is case-insensitive and handles common linguistic variations (for example, “running” matches “run”). Stop words like “the” and “and” are ignored to improve result quality.
title and content fields of every data object in your account and returns results ranked by relevance score — a float between 0.0 and 1.0 that reflects how closely a result matches your query. Higher scores appear first.Data Objects
Data objects are the core unit of storage in Google. Every piece of information you save to the platform — a document, a record, a note, a structured entry — is represented as a data object with a consistent set of fields.Creating a Data Object via the API
Creating a Data Object via the API
id, created_at, and updated_at timestamps.Updating a Data Object
Updating a Data Object
To update an existing data object, send a
POST request to /v1/data and include the object’s id along with the fields you want to change. Fields you omit are left untouched. To update nested metadata keys selectively, use dot notation in your payload (e.g., "metadata.status": "published").There is no enforced schema for the
metadata field — you decide what keys and value types make sense for your use case. However, for structured search filters to work reliably, it’s good practice to use consistent key names and value types across objects of the same logical type.Users & Accounts
Every person who interacts with Google does so through a user identity tied to a verified email address. A user can belong to one or more accounts — the organizational container that holds data objects, API keys, integrations, and billing information.Roles
Within a multi-seat account, each user is assigned one of three roles:Owner
Full control over the account, including billing, deleting the account, and transferring ownership. Each account has exactly one owner at a time.
Admin
Can manage team members, generate and revoke API keys, configure integrations, and perform all data operations. Cannot access billing or delete the account.
Member
Can create, read, update, and delete data objects and run searches. Cannot manage team members, API keys, or integrations unless explicitly granted additional permissions.
Role-based access control applies to dashboard access only. API key scopes (described in the next section) independently govern what each programmatic client can do — a member-role user can generate a key with admin-level write scope if their account settings allow it.
API Keys
API keys are the credentials you use to authenticate requests to the Google REST API. Every key belongs to an account and carries one or more scopes that define exactly what the key is allowed to do.Scopes
Key Lifecycle
1
Generate
Create a new key in Settings → API Keys → New Key. Assign a name and scope, then copy the key value — it is shown only once.
2
Use
Include the key in the
Authorization header of every API request as a Bearer token: Authorization: Bearer YOUR_API_KEY.3
Rotate
Periodically generate a new key and update your integrations before revoking the old one. Regular rotation reduces the blast radius of any accidental exposure.
4
Revoke
Delete a key from the API Keys settings page when it’s no longer needed or if you suspect it has been compromised. Revocation is immediate and permanent.
Webhooks
Webhooks allow Google to push real-time notifications to your server the moment something changes in your account. Instead of polling the API repeatedly, you register a URL and Google delivers an HTTPPOST payload to that endpoint whenever a subscribed event fires.
Supported Events
Example Webhook Payload
Integrations
Integrations connect Google to external tools and services, enabling automatic data synchronization and cross-platform workflows without custom middleware. You can set up integrations from Settings → Integrations in your dashboard. Google supports two connection methods:- OAuth
- API Key
OAuth integrations let you authorize Google to read from or write to a third-party service on your behalf, without sharing passwords. You’ll be redirected to the service’s authorization page, grant the requested permissions, and be returned to Google automatically. The connection is revocable at any time from either platform.OAuth is the recommended method for services that support it because credentials are never stored by Google — only a scoped access token that can be revoked independently.
What happens when an integration syncs data?
What happens when an integration syncs data?
When an integration runs — either on a schedule or triggered by a webhook event — Google pulls the relevant data from the external service and represents it as data objects in your account. These objects are fully searchable, can be referenced via the API, and will fire
data.created or data.updated webhook events if you have listeners configured for those events.Can I build a custom integration?
Can I build a custom integration?
Yes. If the service you want to connect doesn’t have a built-in integration, you can build your own using the Google REST API and webhooks. Your custom integration can listen for Google webhook events and push changes to the external service, and can also poll or subscribe to the external service and write updates back to Google using the API.