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

# Authenticate with Google OAuth

> Authenticates a user using a Google OAuth ID token, returning an access token and refresh token for subsequent API requests. The email must be verified before authentication can succeed.



## OpenAPI

````yaml api-reference/auth.yaml post /authenticate/google
openapi: 3.0.3
info:
  title: auth
  description: >-
    The Auth Service is the single source of truth for all accounts and their
    permissions, managing authentication and access control across the platform.
    It maintains efficiency at scale by issuing access tokens to accounts when
    they log into the platform and providing public keys for other services to
    verify them.
  version: 1.0.0
servers:
  - url: https://auth.platform.arb.inc
security: []
tags:
  - name: /
  - name: authenticate
  - name: internal
  - name: organizations
  - name: sessions
  - name: users
paths:
  /authenticate/google:
    post:
      tags:
        - authenticate
      summary: Authenticate with Google OAuth
      description: >-
        Authenticates a user using a Google OAuth ID token, returning an access
        token and refresh token for subsequent API requests. The email must be
        verified before authentication can succeed.
      operationId: authenticateGoogle
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - idToken
              properties:
                idToken:
                  type: string
                  description: Google OAuth ID token
                  example: eyJhbGciOiJSUzI1NiIsImtpZCI6IjJkOWE...
      responses:
        '200':
          description: Successfully authenticated user
          content:
            application/json:
              schema:
                type: object
                properties:
                  accessToken:
                    type: string
                    description: JWT access token for authenticated requests
                    example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
                  refreshToken:
                    type: string
                    description: Token used to obtain new access tokens
                    example: a7b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7
                  validForSeconds:
                    type: integer
                    description: Number of seconds the access token is valid
                    example: 3600
        '401':
          description: ID token is not valid
        '403':
          description: Email is not verified
        '404':
          description: Account not found
        '423':
          description: Account is locked

````