---
title: "wallet.transaction.created"
method: POST
path: "/webhook-events/wallet.transaction.created"
tags: ["Webhook Events"]
---

# wallet.transaction.created

`POST /webhook-events/wallet.transaction.created`

Fired when a new wallet transaction is created (top-up, deduction, etc.). Doc-only for parsing.

## Response `200`

Webhook payload

- WebhookDtoTransactionWebhookPayload
  - `event_type` 'subscription.created' | 'subscription.draft.created' | 'subscription.activated' | 'subscription.updated' | 'subscription.paused' | 'subscription.cancelled' | 'subscription.resumed' | 'subscription.phase.created' | 'subscription.phase.updated' | 'subscription.phase.deleted' | 'feature.created' | 'feature.updated' | 'feature.deleted' | 'feature.wallet_balance.alert' | 'entitlement.created' | 'entitlement.updated' | 'entitlement.deleted' | 'wallet.created' | 'wallet.updated' | 'wallet.terminated' | 'wallet.transaction.created' | 'payment.created' | 'payment.updated' | 'payment.failed' | 'payment.success' | 'payment.pending' | 'customer.created' | 'customer.updated' | 'customer.deleted' | 'invoice.update.finalized' | 'invoice.update.payment' | 'invoice.update.voided' | 'invoice.update' | 'invoice.payment.overdue' | 'wallet.credit_balance.dropped' | 'wallet.credit_balance.recovered' | 'wallet.ongoing_balance.dropped' | 'wallet.ongoing_balance.recovered' | 'subscription.renewal.due' | 'invoice.communication.triggered' | 'credit_note.created' | 'credit_note.updated'
  - `transaction` WalletTransactionResponse
    - `amount` string
    - `conversion_rate` string — conversion_rate is the conversion rate for the transaction to the currency
    - `created_at` string, date-time
    - `created_by` string
    - `created_by_user` UserResponse
      - `email` string — Empty for service accounts
      - `id` string
      - `metadata` object
      - `roles` string[]
      - `tenant` TenantResponse
        - `billing_details` TenantBillingDetails
          - `address` Address
            - `address_city` string
            - `address_country` string
            - `address_line1` string
            - `address_line2` string
            - `address_postal_code` string
            - `address_state` string
          - `email` string
          - `help_email` string
          - `phone` string
        - `created_at` string, date-time
        - `id` string
        - `metadata` TypesMetadata
        - `name` string
        - `status` string
        - `updated_at` string, date-time
      - `type` 'user' | 'service_account'
    - `credit_amount` string
    - `credit_balance_after` string
    - `credit_balance_before` string
    - `credits_available` string
    - `currency` string
    - `customer` CustomerResponse — Customer response object containing all customer information
      - `address_city` string — AddressCity is the city of the customer's address
      - `address_country` string — AddressCountry is the country of the customer's address (ISO 3166-1 alpha-2)
      - `address_line1` string — AddressLine1 is the first line of the customer's address
      - `address_line2` string — AddressLine2 is the second line of the customer's address
      - `address_postal_code` string — AddressPostalCode is the postal code of the customer's address
      - `address_state` string — AddressState is the state of the customer's address
      - `created_at` string, date-time
      - `created_by` string
      - `email` string — Email is the email of the customer
      - `environment_id` string — EnvironmentID is the environment identifier for the customer
      - `external_id` string — ExternalID is the external identifier for the customer
      - `id` string — ID is the unique identifier for the customer
      - `integrations` EntityIntegrationMappingResponse[]
        - `created_at` string, date-time
        - `created_by` string
        - `entity_id` string
        - `entity_type` 'customer' | 'plan' | 'invoice' | 'subscription' | 'payment' | 'credit_note' | 'addon' | 'item' | 'item_price' | 'price'
        - `environment_id` string
        - `id` string
        - `metadata` object
        - `provider_entity_id` string
        - `provider_type` string
        - `status` 'published' | 'deleted' | 'archived'
        - `tenant_id` string
        - `updated_at` string, date-time
        - `updated_by` string
      - `metadata` object — Metadata
      - `name` string — Name is the name of the customer
      - `status` 'published' | 'deleted' | 'archived'
      - `tenant_id` string
      - `updated_at` string, date-time
      - `updated_by` string
    - `customer_id` string
    - `description` string
    - `environment_id` string
    - `expiry_date` string, date-time
    - `id` string
    - `idempotency_key` string
    - `metadata` TypesMetadata
    - `priority` integer
    - `reference_id` string
    - `reference_type` 'PAYMENT' | 'EXTERNAL' | 'REQUEST' | 'INVOICE'
    - `status` 'published' | 'deleted' | 'archived'
    - `tenant_id` string
    - `topup_conversion_rate` string — topup_conversion_rate is the conversion rate for the topup to the currency
    - `transaction_reason` 'INVOICE_PAYMENT' | 'FREE_CREDIT_GRANT' | 'SUBSCRIPTION_CREDIT_GRANT' | 'PURCHASED_CREDIT_INVOICED' | 'PURCHASED_CREDIT_DIRECT' | 'CREDIT_NOTE' | 'CREDIT_EXPIRED' | 'WALLET_TERMINATION' | 'MANUAL_BALANCE_DEBIT' | 'CREDIT_ADJUSTMENT' | 'INVOICE_VOID_REFUND'
    - `transaction_status` 'pending' | 'completed' | 'failed'
    - `type` 'credit' | 'debit'
    - `updated_at` string, date-time
    - `updated_by` string
    - `wallet` WalletResponse
      - `alert_settings` TypesAlertSettings
        - `alert_enabled` boolean
        - `critical` TypesAlertThreshold
          - `condition` 'above' | 'below'
          - `threshold` number
        - `info` TypesAlertThreshold
          - `condition` 'above' | 'below'
          - `threshold` number
        - `warning` TypesAlertThreshold
          - `condition` 'above' | 'below'
          - `threshold` number
      - `alert_state` 'ok' | 'info' | 'warning' | 'in_alarm'
      - `auto_topup` TypesAutoTopup
        - `amount` number
        - `enabled` boolean
        - `invoicing` boolean
        - `threshold` number
      - `balance` string
      - `config` TypesWalletConfig
        - `allowed_price_types` TypesWalletConfigPriceType[] — AllowedPriceTypes is a list of price types that are allowed for the wallet nil means all price types are allowed
      - `conversion_rate` string — amount in the currency = number of credits * conversion_rate ex if conversion_rate is 1, then 1 USD = 1 credit ex if conversion_rate is 2, then 1 USD = 0.5 credits ex if conversion_rate is 0.5, then 1 USD = 2 credits
      - `created_at` string, date-time
      - `created_by` string
      - `credit_balance` string
      - `credits_available_breakdown` TypesCreditBreakdown
        - `free` string
        - `purchased` string
      - `currency` string
      - `customer_id` string
      - `description` string
      - `environment_id` string
      - `id` string
      - `metadata` TypesMetadata
      - `name` string
      - `status` 'published' | 'deleted' | 'archived'
      - `tenant_id` string
      - `topup_conversion_rate` string — topup_conversion_rate is the conversion rate for the topup to the currency ex if topup_conversion_rate is 1, then 1 USD = 1 credit ex if topup_conversion_rate is 2, then 1 USD = 0.5 credits ex if topup_conversion_rate is 0.5, then 1 USD = 2 credits
      - `updated_at` string, date-time
      - `updated_by` string
      - `wallet_status` 'active' | 'frozen' | 'closed'
      - `wallet_type` 'PRE_PAID' | 'POST_PAID'
    - `wallet_id` string
  - `wallet` WalletResponse
    - `alert_settings` TypesAlertSettings
      - `alert_enabled` boolean
      - `critical` TypesAlertThreshold
        - `condition` 'above' | 'below'
        - `threshold` number
      - `info` TypesAlertThreshold
        - `condition` 'above' | 'below'
        - `threshold` number
      - `warning` TypesAlertThreshold
        - `condition` 'above' | 'below'
        - `threshold` number
    - `alert_state` 'ok' | 'info' | 'warning' | 'in_alarm'
    - `auto_topup` TypesAutoTopup
      - `amount` number
      - `enabled` boolean
      - `invoicing` boolean
      - `threshold` number
    - `balance` string
    - `config` TypesWalletConfig
      - `allowed_price_types` TypesWalletConfigPriceType[] — AllowedPriceTypes is a list of price types that are allowed for the wallet nil means all price types are allowed
    - `conversion_rate` string — amount in the currency = number of credits * conversion_rate ex if conversion_rate is 1, then 1 USD = 1 credit ex if conversion_rate is 2, then 1 USD = 0.5 credits ex if conversion_rate is 0.5, then 1 USD = 2 credits
    - `created_at` string, date-time
    - `created_by` string
    - `credit_balance` string
    - `credits_available_breakdown` TypesCreditBreakdown
      - `free` string
      - `purchased` string
    - `currency` string
    - `customer_id` string
    - `description` string
    - `environment_id` string
    - `id` string
    - `metadata` TypesMetadata
    - `name` string
    - `status` 'published' | 'deleted' | 'archived'
    - `tenant_id` string
    - `topup_conversion_rate` string — topup_conversion_rate is the conversion rate for the topup to the currency ex if topup_conversion_rate is 1, then 1 USD = 1 credit ex if topup_conversion_rate is 2, then 1 USD = 0.5 credits ex if topup_conversion_rate is 0.5, then 1 USD = 2 credits
    - `updated_at` string, date-time
    - `updated_by` string
    - `wallet_status` 'active' | 'frozen' | 'closed'
    - `wallet_type` 'PRE_PAID' | 'POST_PAID'

## Changes

- **2026-06-03** `7adf4f33ea1a` — 2 info
  - added the optional property `transaction/created_by_user/metadata` to the response with the `200` status
  - added the optional property `transaction/customer/integrations/items/metadata` to the response with the `200` status
- **2026-04-06** `95af41a12111` — 2 warning
  - removed the optional property `transaction/customer/parent_customer` from the response with the `200` status
  - removed the optional property `transaction/customer/parent_customer_id` from the response with the `200` status
- **2026-04-04** `3d452eb9ebcc` — 42 warning, 1 info
  - added the new `credit_note.created` enum value to the `event_type` response property for the response status `200`
  - added the new `credit_note.updated` enum value to the `event_type` response property for the response status `200`
  - added the new `customer.created` enum value to the `event_type` response property for the response status `200`
  - added the new `customer.deleted` enum value to the `event_type` response property for the response status `200`
  - …39 more
- **2026-03-20** `fdc2d8c76b76` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/flexprice/apis/flexprice-api/changes/webhook-events/wallet.transaction.created/post.md)

---

[API](https://skmtc.dev/flexprice/apis/flexprice-api.md) · [All operations](https://skmtc.dev/flexprice/apis/flexprice-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flexprice/flexprice-api/revisions/2a40f94de722/schema)
