{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/google-cloud-iam/refs/heads/main/json-schema/service-account.json",
  "title": "ServiceAccount",
  "description": "A Google Cloud IAM service account resource used to represent an identity for applications and workloads.",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Resource name of the service account in the format projects/{project}/serviceAccounts/{email}."
    },
    "projectId": {
      "type": "string",
      "description": "ID of the project that owns the service account."
    },
    "uniqueId": {
      "type": "string",
      "description": "Unique numeric ID of the service account."
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "Email address of the service account."
    },
    "displayName": {
      "type": "string",
      "description": "Human-readable name for the service account."
    },
    "description": {
      "type": "string",
      "description": "Optional description of the service account."
    },
    "disabled": {
      "type": "boolean",
      "description": "Whether the service account is disabled."
    },
    "etag": {
      "type": "string",
      "description": "Entity tag for optimistic concurrency control."
    },
    "oauth2ClientId": {
      "type": "string",
      "description": "OAuth 2.0 client ID for the service account."
    }
  },
  "required": ["email"]
}
