{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/payrix/main/json-schema/payrix-accounts-put-request-schema.json",
  "title": "accountsPutRequest",
  "x-generated": "2026-09-21",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/payrix-accounts-api-openapi.yml#/components/schemas/accountsPutRequest",
  "type": "object",
  "properties": {
    "account": {
      "allOf": [
        {
          "$ref": "#/$defs/accountsPutRequestSchemaProperties"
        },
        {
          "description": "An object representing details of the Account, including the type of Account (method), Account number, and routing code."
        }
      ]
    },
    "name": {
      "type": "string",
      "description": "A client-supplied name for this bank account. \nThis field is stored as a text string and must be between 0 and 100 characters long."
    },
    "description": {
      "type": "string",
      "description": "A client-supplied description for this bank account. \nThis field is stored as a text string and must be between 0 and 100 characters long."
    },
    "primary": {
      "allOf": [
        {
          "$ref": "#/$defs/accountPrimary"
        },
        {
          "description": "Indicates whether the Account is the primary Account for the associated Entity. \nOnly one Account associated with each Entity can be the primary Account.\n\n<details>\n<summary>Valid Values</summary>\n\n- `0` - **Not primary**\n- `1` - **Primary**\n\n</details>"
        }
      ]
    },
    "type": {
      "allOf": [
        {
          "$ref": "#/$defs/accountType"
        },
        {
          "description": "The type of financial account: debit, credit, or both.\n\n<details>\n<summary>Valid Values</summary>\n\n- `all` - **Debit/checking and credit**\n- `credit` - **Credit only**\n- `debit` - **Debit/checking only**\n\n</details>"
        }
      ]
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/$defs/accountStatus"
        },
        {
          "description": "The status of the Account.\n\n<details>\n<summary>Valid Values</summary>\n\n- `0` - **Not Ready.**\n- `1` - **Ready.**\n- `2` - **Challenged.**\n- `3` - **Verified.**\n- `4` - **Manual.**\n\n</details>"
        }
      ]
    },
    "expiration": {
      "type": "string",
      "description": "The expiration date of the related debit account in MMYY format, for example, `0118` for January 2018 or `0225` for February 2025."
    },
    "mask": {
      "type": "string",
      "description": "The account number mask, showing the last four digits of the account number."
    },
    "inactive": {
      "allOf": [
        {
          "$ref": "#/$defs/inactive"
        },
        {
          "description": "Whether this resource is marked as inactive.\n\n<details>\n<summary>Valid Values</summary>\n\n- `0` - **Active**\n- `1` - **Inactive**\n\n</details>"
        }
      ]
    },
    "frozen": {
      "allOf": [
        {
          "$ref": "#/$defs/frozen"
        },
        {
          "description": "Whether this resource is marked as frozen.\n\n<details>\n<summary>Valid Values</summary>\n\n- `0` - **Not Frozen**\n- `1` - **Frozen**\n\n</details>"
        }
      ]
    }
  },
  "$defs": {
    "accountMethod": {
      "title": "accountMethod",
      "enum": [
        8,
        9,
        10,
        11
      ],
      "type": "integer"
    },
    "accountPrimary": {
      "title": "accountPrimary",
      "enum": [
        0,
        1
      ],
      "type": "integer"
    },
    "accountStatus": {
      "title": "accountStatus",
      "enum": [
        0,
        1,
        2,
        3,
        4
      ],
      "type": "integer"
    },
    "accountType": {
      "title": "accountType",
      "enum": [
        "all",
        "credit",
        "debit"
      ],
      "type": "string"
    },
    "accountsPutRequestSchemaProperties": {
      "title": "accountsPutRequestSchemaProperties",
      "type": "object",
      "properties": {
        "method": {
          "allOf": [
            {
              "$ref": "#/$defs/accountMethod"
            },
            {
              "description": "The type of the Account.\n\n<details>\n<summary>Valid Values</summary>\n\n- `8` - **Checking**\n- `9` - **Savings**\n- `10` - **Corporate Checking**\n- `11` - **Corporate Savings**\n\n</details>"
            }
          ]
        },
        "number": {
          "type": "string",
          "description": "The number of the bank account."
        },
        "routing": {
          "type": "string",
          "description": "The routing number of the bank account. This field is stored as a text string and must be between 5 and 20 characters long."
        }
      },
      "description": "An object representing details of the Account, including the type of Account (method), Account number, and routing code."
    },
    "frozen": {
      "title": "frozen",
      "enum": [
        0,
        1
      ],
      "type": "integer"
    },
    "inactive": {
      "title": "inactive",
      "enum": [
        0,
        1
      ],
      "type": "integer"
    }
  }
}