---
title: "Google Complete"
method: POST
path: "/v1/auth/google/complete"
tags: ["Auth"]
---

# Google Complete

`POST /v1/auth/google/complete`

## Request

- Base URL: `https://api.pinbridge.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pinbridge.io/v1/auth/google/complete`
- Auth: none declared

Exchange a one-time Google handoff token for a full session.

``is_new_user`` is true only when the sign-in that issued the handoff created
the account; the handoff is single-use, so it is reported once.

## Request body

- GoogleCompleteRequest: Exchange a one-time Google handoff token for a full session.
  - `handoff` string, required

## Response `200`

Successful Response

- GoogleCompleteResponse: Session for a finished Sign in with Google.
  - `access_token` string, required
  - `token_type` string
  - `expires_in` integer, required
  - `user` AuthUserResponse, required: Authenticated user details.
    - `id` string, uuid, required
    - `email` string, email, required
    - `full_name` string, nullable
    - `timezone` string, required
    - `email_verified` boolean, required
    - `created_at` string, date-time, required
  - `organization` AuthOrganizationResponse, required: Organization details.
    - `id` string, uuid, required
    - `name` string, required
  - `organization_role` string, required
  - `permissions` AuthPermissionResponse, required: Resolved role-based permission flags for the current organization.
    - `can_manage_members` boolean, required
    - `can_manage_billing` boolean, required
    - `can_manage_api_keys` boolean, required
    - `can_manage_integrations` boolean, required
    - `can_publish` boolean, required
    - `can_delete_assets` boolean, required
    - `can_reset_sandbox` boolean, required
    - `can_view_reports` boolean, required
    - `can_delete_content` boolean, required
  - `active_project` AuthWorkspaceResponse, required: Authenticated project/workspace details.
    - `id` string, uuid, required
    - `name` string, required
    - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
    - `timezone` string, required
    - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
  - `projects` AuthWorkspaceResponse[], required
    - `id` string, uuid, required
    - `name` string, required
    - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
    - `timezone` string, required
    - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
  - `available_organizations` AuthOrganizationSessionResponse[], required
    - `organization` AuthOrganizationResponse, required: Organization details.
      - `id` string, uuid, required
      - `name` string, required
    - `organization_role` string, required
    - `permissions` AuthPermissionResponse, required: Resolved role-based permission flags for the current organization.
      - `can_manage_members` boolean, required
      - `can_manage_billing` boolean, required
      - `can_manage_api_keys` boolean, required
      - `can_manage_integrations` boolean, required
      - `can_publish` boolean, required
      - `can_delete_assets` boolean, required
      - `can_reset_sandbox` boolean, required
      - `can_view_reports` boolean, required
      - `can_delete_content` boolean, required
    - `active_project` AuthWorkspaceResponse, required: Authenticated project/workspace details.
      - `id` string, uuid, required
      - `name` string, required
      - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
      - `timezone` string, required
      - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
    - `projects` AuthWorkspaceResponse[], required
      - `id` string, uuid, required
      - `name` string, required
      - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
      - `timezone` string, required
      - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
  - `workspace` AuthWorkspaceResponse, required: Authenticated project/workspace details.
    - `id` string, uuid, required
    - `name` string, required
    - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
    - `timezone` string, required
    - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
  - `is_new_user` boolean: True only when this Google sign-in created the PinBridge account (first sign-up); false for an existing account, including one just linked to Google

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pinbridge/apis/pinbridge-api.md) · [All operations](https://skmtc.dev/pinbridge/apis/pinbridge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pinbridge/apis/pinbridge-api/revisions/b17603589d01?raw)
