> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.thepennyinc.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.thepennyinc.com/_mcp/server.

# account.created

POST 

Sent when a `account.created` event occurs.

Reference: https://docs.thepennyinc.com/banking/api-reference/webhook-payloads/account/account-created-webhook

## Request

### Payload

- `event_id` (string, required) — Penny's unique identifier for this notification event.
- `business_id` (string, required) — The business the event belongs to. When the event originated from a different business, this contains the originating business.
- `type` ("account.created", required) — The notification event type. This identifies the specific occurrence represented by the event and determines how its data should be interpreted.
- `category` ("object", required) — The category of the event payload. This groups related notification event types and describes the general kind of data contained in ``data``.
- `schema_version` ("1.0", required) — The version of the JSON notification event schema used to encode this webhook payload.
- `event_time` (datetime, required) — The date and time Penny generated the notification event.
- `occurrence_time` (datetime, required) — The date and time the underlying occurrence represented by this notification event took place.
- `data` (WebhooksAccountCreatedWebhookPayloadContentApplicationJsonSchemaData, required) — A notification about a domain object being created, updated, or deleted.

## Types

### WebhooksAccountCreatedWebhookPayloadContentApplicationJsonSchemaData

A notification about a domain object being created, updated, or deleted.

- `operation` (enum, required) — The change that produced this event: 'created', 'updated', or 'deleted'.
  - Allowed values: `created`, `updated`, `deleted`
- `subject` (ObjectReferenceResponse, required) — The object this event concerns.
- `category` ("object", optional, default: object) — Identifies this payload as an object change.
- `object` (WebhooksAccountCreatedWebhookPayloadContentApplicationJsonSchemaDataObject, optional)
- `previous_attributes` (map from string to any, optional, nullable) — The object's attributes before this change, if included.

### ObjectReferenceResponse

A pointer to the object this event concerns.

- `object_type` (string, required) — The kind of object this event concerns.
- `object_id` (string, required) — The unique identifier of the object this event concerns.
- `version` (integer, optional, nullable) — The object's version at the time of this event, if known.
- `stage` (integer, optional, nullable) — The object's lifecycle stage at the time of this event, if applicable.

### WebhooksAccountCreatedWebhookPayloadContentApplicationJsonSchemaDataObject

- CapitalAccountWebhookPayload: CapitalAccountWebhookPayload
- ControlAccountWebhookPayload: ControlAccountWebhookPayload

### CapitalAccountWebhookPayload

- `account_id` (string, required) — Unique identifier for the account.
- `version` (integer, required) — The current version of the account record.
- `version_time` (datetime, required) — ISO-8601 timestamp of the most recent account update.
- `status` (enum, required) — The current operational status of the account.
  - Allowed values: `active`, `deactivated`, `suspended`, `deleting`, `deleted`
- `active` (boolean, required) — Whether the account is currently active and available for use.
- `currency` (enum, required) — ISO-4217 currency code for the account.
  - Allowed values: `USD`
- `root` (boolean, required) — Whether this is the root capital account for the business.
- `available_balance` (string, required) — The balance currently available for transactions, as a decimal string.
- `total_balance` (string, required) — The total balance including reserved funds, as a decimal string.
- `alias` (string, optional, nullable) — An optional label for the account.
- `description` (string, optional, nullable) — An optional description of the account's purpose.
- `type` (enum, optional, default: capital) — Account types exposed to client-facing API responses.
  - Allowed values: `capital`, `control`, `linked`
- `parent_account_id` (string, optional, nullable) — The identifier of the parent account if this account is part of a hierarchy.
- `spend_control_id` (string, optional, nullable) — The identifier of the spend control applied to this account.
- `auto_top_up` (AutoTopUpResponse, optional, nullable) — Automatic top-up configuration, if enabled.
- `low_balance_notification` (LowBalanceNotificationResponse, optional, nullable) — Low-balance notification configuration, if enabled.

### ControlAccountWebhookPayload

- `account_id` (string, required) — Unique identifier for the account.
- `version` (integer, required) — The current version of the account record.
- `version_time` (datetime, required) — ISO-8601 timestamp of the most recent account update.
- `status` (enum, required) — The current operational status of the account.
  - Allowed values: `active`, `deactivated`, `suspended`, `deleting`, `deleted`
- `active` (boolean, required) — Whether the account is currently active and available for use.
- `currency` (enum, required) — ISO-4217 currency code for the account.
  - Allowed values: `USD`
- `capital_account_id` (string, required) — The capital account from which this control account draws funds.
- `alias` (string, optional, nullable) — An optional label for the account.
- `description` (string, optional, nullable) — An optional description of the account's purpose.
- `type` (enum, optional, default: control) — Account types exposed to client-facing API responses.
  - Allowed values: `capital`, `control`, `linked`
- `parent_account_id` (string, optional, nullable) — The identifier of the parent account if this account is part of a hierarchy.
- `spend_control_id` (string, optional, nullable) — The identifier of the spend control applied to this account.

### AutoTopUpResponse

- `source_account_id` (string, required) — The account from which funds are drawn during top-up.
- `source_account_type` (enum, required) — The type of account from which funds are drawn during top-up.
  - Allowed values: `capital`
- `threshold_amount` (string, required) — The balance amount below which an automatic top-up is triggered.
- `top_up_amount` (string, required) — The amount added to the account when a top-up is triggered.

### LowBalanceNotificationResponse

- `threshold_amount` (string, required) — The balance amount below which a low-balance notification is sent.