> ## 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 a service account

> Authenticates a service account using a GCP service account ID token, returning an access token with embedded role information for service-to-service communication.



## OpenAPI

````yaml api-reference/auth.yaml post /authenticate/service-account
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/service-account:
    post:
      tags:
        - authenticate
      summary: Authenticate a service account
      description: >-
        Authenticates a service account using a GCP service account ID token,
        returning an access token with embedded role information for
        service-to-service communication.
      operationId: authenticateServiceAccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - id_token
              properties:
                id_token:
                  type: string
                  description: GCP service account ID token
                  example: eyJhbGciOiJSUzI1NiIsImtpZCI6IjJkOWE...
      responses:
        '200':
          description: Successfully authenticated service account
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                    description: JWT access token for authenticated service requests
                    example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
                  valid_for_seconds:
                    type: integer
                    description: Number of seconds the access token is valid
                    example: 3600
        '401':
          description: ID token failed validation or account not found

````