---
title: "Transfer Created"
method: POST
path: "transfer.created"
tags: ["Transfers"]
---

# Transfer Created

`POST transfer.created` (webhook)

Sent when a transfer is created

Required permissions:
 - `webhook_receive:transfers`

## Headers

- `webhook-id` string, required — A unique identifier for this webhook request
- `webhook-signature` string, required — The signature of the webhook request with the webhook version prepended
- `webhook-timestamp` string, required — The timestamp in seconds since the Unix epoch that the webhook was sent at on the server

## Payload

- object
  - `api_version` 'v1', required — The API version for this webhook
  - `api_version_date` string, nullable, required — The dated API version (Api-Version-Date) the payload is serialized to
  - `company_id` string, nullable — The account ID that this webhook event is associated with
  - `data` object, required — A transfer of credit between two ledger accounts.
    - `amount` number, required — Transfer amount.
    - `created_at` string, date-time, required — When the transfer was created.
    - `created_by_user` object, nullable, required — The user who initiated the transfer, such as the team member who sent a manual payout. Null if the creator is unavailable.
      - `id` string, required — User ID.
      - `name` string, nullable — User display name.
      - `username` string, required — User's username.
    - `currency` string, required — Transfer currency.
    - `destination` union, required — Account or user receiving funds.
      - object
        - `id` string, required — Account ID.
        - `route` string, nullable — Account route.
        - `title` string, nullable — Account display name.
        - `typename` 'Company', required
      - object
        - `id` string, required — User ID.
        - `name` string, nullable — User display name.
        - `typename` 'User', required
        - `username` string — User's username.
    - `destination_ledger_account_id` string, required — Destination ledger account ID.
    - `fee_amount` number, nullable — Fee charged for the transfer.
    - `id` string, required — Transfer ID.
    - `metadata` object, nullable — Custom metadata attached to the transfer.
    - `notes` string, nullable — Transfer note.
    - `object` 'transfer', required — The object type. Discriminates the create response from a send or a claim link.
    - `origin` union, required — Account or user sending funds.
      - object
        - `id` string, required — Account ID.
        - `route` string, nullable — Account route.
        - `title` string, nullable — Account display name.
        - `typename` 'Company', required
      - object
        - `id` string, required — User ID.
        - `name` string, nullable — User display name.
        - `typename` 'User', required
        - `username` string — User's username.
    - `origin_ledger_account_id` string, required — Source ledger account ID.
    - `status` 'processing' | 'succeeded' | 'failed', required — Transfer status. `processing` means the on-chain leg is still executing — poll the transfer until it resolves to `succeeded` or `failed`.
  - `id` string, required — A unique ID for every single webhook request
  - `timestamp` string, date-time, required — The timestamp in ISO 8601 format that the webhook was sent at on the server
  - `type` 'transfer.created', required — The webhook event type

## Acknowledgement `200`

Return a 200 status to indicate that the data was received successfully

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/db0883548bc5/schema)
