{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-account-schema.json",
  "title": "Account",
  "description": "Account details defined in Harness.",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/harness-accounts-api-openapi.yml#/components/schemas/Account",
  "type": "object",
  "properties": {
    "identifier": {
      "type": "string",
      "description": "Account Identifier."
    },
    "name": {
      "type": "string",
      "description": "Name of the Account."
    },
    "companyName": {
      "type": "string",
      "description": "Name of the Company."
    },
    "accountType": {
      "type": "string",
      "description": "Type of the Account"
    },
    "accountStatus": {
      "type": "string",
      "description": "Status of the Account"
    },
    "cluster": {
      "type": "string",
      "description": "Name of the cluster associated with this Account."
    },
    "defaultExperience": {
      "type": "string",
      "description": "Default experience of the Account.",
      "enum": [
        "NG",
        "CG"
      ]
    },
    "authenticationMechanism": {
      "type": "string",
      "description": "Authentication mechanism associated with the account.",
      "enum": [
        "USER_PASSWORD",
        "SAML",
        "LDAP",
        "OAUTH",
        "OIDC"
      ]
    },
    "serviceAccountConfig": {
      "$ref": "#/$defs/ServiceAccountConfig"
    },
    "createdAt": {
      "type": "integer",
      "description": "Account creation time in epoch",
      "format": "int64"
    },
    "expiryTime": {
      "type": "integer",
      "description": "Account's license expiry time in epoch",
      "format": "int64"
    },
    "ringName": {
      "type": "string",
      "description": "Specifies delegate ring version for account"
    },
    "subdomainURL": {
      "type": "string",
      "description": "Specifies subdomain url for account"
    },
    "sessionTimeoutInMinutes": {
      "type": "integer",
      "description": "SessionTimeout in minutes",
      "format": "int32"
    },
    "publicAccessEnabled": {
      "type": "boolean",
      "description": "Specifies if Account has public access enabled."
    },
    "absoluteSessionTimeoutInMinutes": {
      "type": "integer",
      "description": "Absolute SessionTimeout in minutes",
      "format": "int32"
    },
    "pricingType": {
      "type": "string",
      "description": "Specifies the pricing type of account",
      "enum": [
        "FLEX",
        "CLASSIC"
      ]
    },
    "edition": {
      "type": "string",
      "description": "Specified the edition of account in flex pricing model",
      "enum": [
        "COMMUNITY",
        "FREE",
        "TEAM",
        "ENTERPRISE",
        "STARTUP",
        "DEVOPS_ESSENTIALS",
        "ESSENTIALS"
      ]
    },
    "contractStartDate": {
      "type": "integer",
      "description": "Contract Start Date in epoch",
      "format": "int64"
    },
    "contractEndDate": {
      "type": "integer",
      "description": "Contract End Date in epoch",
      "format": "int64"
    },
    "harnessSupportAccessAllowed": {
      "type": "boolean"
    },
    "twoFactorAdminEnforced": {
      "type": "boolean"
    },
    "nextGenEnabled": {
      "type": "boolean"
    },
    "crossGenerationAccessEnabled": {
      "type": "boolean"
    },
    "cannyUsernameAbbreviationEnabled": {
      "type": "boolean"
    },
    "productLed": {
      "type": "boolean"
    },
    "oauthEnabled": {
      "type": "boolean"
    }
  },
  "$defs": {
    "ServiceAccountConfig": {
      "type": "object",
      "properties": {
        "apiKeyLimit": {
          "type": "integer",
          "format": "int64"
        },
        "tokenLimit": {
          "type": "integer",
          "format": "int64"
        }
      },
      "description": "Service Account configuration associated with this Account."
    }
  }
}