{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/arcadiapower2/json-schema/arcadiapower2-utility-credential-schema.json",
  "title": "UtilityCredential",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/arcadiapower2-utility-credentials-api-openapi.yml#/components/schemas/UtilityCredential",
  "required": [
    "created_at",
    "id",
    "updated_at",
    "client_user_id",
    "username",
    "utility_name",
    "utility_long_name",
    "verification_status",
    "accounts_load_in_progress",
    "verification_updated_at",
    "sandboxed",
    "uses_test_scenario"
  ],
  "properties": {
    "id": {
      "type": "integer"
    },
    "client_user_id": {
      "type": "string"
    },
    "utility_name": {
      "type": "string",
      "description": "The list of supported Arcadia utilities can be found [here](https://arc.arcadia.com/coverage?first=25&page=1)."
    },
    "utility_long_name": {
      "type": "string",
      "description": "Provides greater detail than `utility_name`. The list of supported Arcadia utilities can be found [here](https://arc.arcadia.com/coverage?first=25&page=1)."
    },
    "username": {
      "type": [
        "string",
        "null"
      ]
    },
    "verification_status": {
      "type": "string",
      "enum": [
        "pending",
        "verified",
        "rejected",
        "error"
      ],
      "description": "The verification status of the Utility Credential.\n\n* `pending`: Credential verification is pending\n* `verified`: The credentials were found to be correct\n* `rejected`: The credentials were found to be incorrect\n* `error`: There was an error attempting to verify the credentials. This status _may_ be transient, as Arcadia will continue to retry verification in the background.\n"
    },
    "accounts_load_in_progress": {
      "type": "boolean",
      "description": "Indicates if Arcadia is in the process of verifying a utility credential or loading associated utility accounts. The combination of `verification_status: verified` and `account_load_in_progress: false` will indicate that utility accounts are available in the API. Alternatively, the `utility_accounts_discovered` webhook will alert you when utility accounts are available in the API."
    },
    "verification_updated_at": {
      "format": "date-time",
      "type": [
        "string",
        "null"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "sandboxed": {
      "type": "boolean"
    },
    "uses_test_scenario": {
      "type": "boolean",
      "description": "Indicates if the utility credential was created using a designated test username and password."
    }
  }
}