{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/quickbooks/json-schema/quickbooks-accountresponse-schema.json",
  "title": "accountresponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/quickbooks-account-api-openapi.yml#/components/schemas/accountresponse",
  "type": "object",
  "properties": {
    "SyncToken": {
      "type": "string",
      "description": "Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.",
      "x-intuit-required": "Required for update"
    },
    "SubAccount": {
      "type": "boolean",
      "description": "Specifies whether this object represents a parent (false) or subaccount (true). Please note that accounts of these types - OpeningBalanceEquity, UndepositedFunds, RetainedEarnings, CashReceiptIncome, CashExpenditureExpense, ExchangeGainOrLoss cannot have a sub account and cannot be a sub account of another account.",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "Classification": {
      "type": "string",
      "description": "The classification of an account. Not supported for non-posting accounts.\n Valid values include: Asset, Equity, Expense, Liability, Revenue",
      "x-intuit-default": "derived from AccountType and AccountSubtype",
      "x-intuit-filterable": true
    },
    "FullyQualifiedName": {
      "type": "string",
      "description": "Fully qualified name of the object; derived from Name and ParentRef. The fully qualified name prepends the topmost parent, followed by each subaccount separated by colons and takes the form of\nParent:Account1:SubAccount1:SubAccount2. System generated. Limited to 5 levels.",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "AccountType": {
      "type": "string",
      "description": "A detailed account classification that specifies the use of this account. The type is based on the Classification.",
      "x-intuit-filterable": true
    },
    "CurrencyRef": {
      "allOf": [
        {
          "$ref": "#/$defs/currencyref"
        }
      ],
      "description": "Reference to the currency in which this account holds amounts.",
      "x-intuit-required": "Optional"
    },
    "CurrentBalanceWithSubAccounts": {
      "type": "number",
      "description": "Specifies the cumulative balance amount for the current Account and all its sub-accounts.",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "AcctNum": {
      "type": "string",
      "description": "User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).Name must be unique.\n\n Max length for Account.AcctNum:AU & CA: 20 characters.\nUS, UK & IN: 7 characters",
      "x-intuit-required": "Conditionally required"
    },
    "TaxCodeRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. For global locales, only."
    },
    "ParentRef": {
      "allOf": [
        {
          "$ref": "#/$defs/referencetype"
        }
      ],
      "description": "Specifies the Parent AccountId if this represents a SubAccount.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "AccountSubType": {
      "type": "string",
      "description": "The account sub-type classification and is based on the AccountType value.",
      "x-intuit-filterable": true
    },
    "CurrentBalance": {
      "type": "number",
      "description": "Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "Description": {
      "type": "string",
      "description": "User entered description for the account, which may include user entered information to guide bookkeepers/accountants in deciding what journal entries to post to the account.",
      "x-intuit-required": "Optional",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    },
    "Active": {
      "type": "boolean",
      "description": "Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.",
      "x-intuit-required": "Optional",
      "x-intuit-default": "true",
      "x-intuit-filterable": true
    },
    "MetaData": {
      "allOf": [
        {
          "$ref": "#/$defs/modificationmetadata"
        }
      ],
      "description": "Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.",
      "x-intuit-required": "Optional"
    },
    "Id": {
      "type": "string",
      "description": "Unique identifier for this object.",
      "x-intuit-required": "Required for update",
      "x-intuit-filterable": true
    },
    "Name": {
      "type": "string",
      "description": "User recognizable name for the Account.\nAccount.Name attribute must not contain double quotes (\") or colon (:).",
      "x-intuit-required": "Required",
      "x-intuit-filterable": true,
      "x-intuit-sortable": true
    }
  },
  "required": [
    "Name"
  ],
  "$defs": {
    "currencyref": {
      "type": "object",
      "title": "currencyref",
      "properties": {
        "name": {
          "type": "string",
          "description": "The full name of the currency.",
          "x-intuit-required": "Optional"
        },
        "value": {
          "type": "string",
          "description": "A three letter string representing the ISO 4217 code for the currency. For example, USD, AUD, EUR, and so on.",
          "x-intuit-required": "Required"
        }
      },
      "required": [
        "value"
      ]
    },
    "modificationmetadata": {
      "type": "object",
      "title": "modificationmetadata",
      "properties": {
        "CreateTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was created in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        },
        "LastUpdatedTime": {
          "type": "string",
          "format": "date-time",
          "description": "Time the entity was last updated in the source domain.",
          "x-intuit-filterable": true,
          "x-intuit-sortable": true
        }
      }
    },
    "referencetype": {
      "type": "object",
      "title": "referencetype",
      "properties": {
        "name": {
          "type": "string",
          "description": "An identifying name for the object being referenced by value and is derived from the field that holds the common name of that object. This varies by context and specific type of object referenced. For example, references to a Customer object use Customer.DisplayName to populate this field. Optionally returned in responses, implementation dependent.",
          "x-intuit-required": "Optional"
        },
        "value": {
          "type": "string",
          "description": "The ID for the referenced object as found in the Id field of the object payload. The context is set by the type of reference and is specific to the QuickBooks company file.",
          "x-intuit-required": "Required"
        }
      },
      "required": [
        "value"
      ]
    }
  }
}