> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newport.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Google REST API: Overview, Formats, and Key Resources

> The Google REST API lets you programmatically manage users, data records, integrations, and webhooks. Authenticate with an API key to get started.

The Google REST API gives you full programmatic access to your Google workspace — letting you build automations, sync data with external systems, manage users, and trigger workflows without touching the UI. Every capability available in the dashboard is also available through the API, so you can integrate Google deeply into your own applications and pipelines.

## Base URL

All API requests are made to the following base URL. Every endpoint path begins here, and the version segment (`v1`) must always be included.

```
https://api.google.com/v1
```

## Request Format

All requests to the Google API must use JSON. Include the `Content-Type: application/json` header on every request that sends a body. Authentication is handled via a Bearer token passed in the `Authorization` header — see [Authentication](/api/authentication) for details on generating your API key.

```http theme={null}
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
```

Every request body must be valid JSON. Malformed payloads will be rejected with a `400 Bad Request` response before any processing occurs.

## Response Format

Every successful response from the Google API returns a JSON object wrapped in a standard envelope. The `success` field will be `true`, the `data` field contains the requested resource or list, and the `meta` field provides pagination details when returning collections.

```json theme={null}
{
  "success": true,
  "data": { ... },
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 150,
    "cursor": "eyJpZCI6MTIzfQ=="
  }
}
```

The `cursor` value in `meta` can be passed as a query parameter on subsequent requests to page through large result sets efficiently.

## Error Response Format

When a request fails, `success` is set to `false` and an `error` object is included in place of `data`. The `code` field is a machine-readable string you can use for programmatic error handling, `message` provides a human-readable explanation, and `request_id` uniquely identifies the failed request for support escalations.

```json theme={null}
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid or missing API key",
    "request_id": "req_abc123"
  }
}
```

Common error codes include `UNAUTHORIZED`, `FORBIDDEN`, `NOT_FOUND`, `VALIDATION_ERROR`, and `RATE_LIMITED`. Always check the `code` field first when building error-handling logic.

## Available Resources

The Google API is organized around four primary resource types. Each resource group has its own dedicated reference section with full endpoint documentation.

<CardGroup cols={2}>
  <Card title="Users" icon="users" href="/api/users">
    Create, update, and manage user accounts and team memberships within your Google workspace.
  </Card>

  <Card title="Data" icon="database" href="/api/data">
    Read and write structured data records, run queries, and manage data schemas programmatically.
  </Card>

  <Card title="Integrations" icon="plug" href="/api/integrations">
    Connect third-party services, configure integration settings, and monitor sync status via the API.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/api/webhooks">
    Register webhook endpoints to receive real-time event notifications as activity happens in Google.
  </Card>
</CardGroup>

<Note>
  Always include the version segment in your request paths (e.g., `/v1/users`). When new API versions are released, you will be notified in advance via email so you have time to migrate before any deprecation takes effect.
</Note>
