Webhook payload example

When a customer passes KYB/KYC verification or when there is a transfer status update, we will send a webhook notification to the server URL you specified. The payload will contain the following data structures:

๐Ÿ“˜


Customer KYC/KYB Updated

  • Example โ€“ Individual Customer:
{
  "data": {
    "uuid": "{{customer_uuid}}",
    "object": "customer",
    "status": "verified",
    "type": "individual",
    "first_name": "John",
    "middle_name": "Michael",
    "last_name": "Doe",
    "email": "[email protected]",
    "phone_country_code": "US",
    "phone_number": "555-555-1234",
    "birth_date": "1988-04-15",
    "has_signed_agreement": true,
    "agreement_link": "https://sandbox-harbor.owlpay.com/agreement_link",
    "kyc_link": "https://sandbox-harbor.owlpay.com/gokyc",
    "description": "A freelance writer who loves exploring national parks.",
    "created_at": "2025-02-11T06:35:50+00:00",
    "updated_at": "2025-02-11T06:35:50+00:00"
  }
}
  • Example - Business Customer:
{
  "data": {
    "uuid": "{{customer_uuid}}",
    "object": "customer",
    "status": "verified",
    "type": "individual",
    "company_name": "OwlPay Inc.",
    "email": "[email protected]",
    "phone_country_code": "US",
    "phone_number": "555-555-1234",
    "birth_date": "1988-04-15",
    "has_signed_agreement": true,
    "agreement_link": "https://sandbox-harbor.owlpay.com/agreement_link",
    "kyc_link": "https://sandbox-harbor.owlpay.com/gokyb",
    "description": "A freelance writer who loves exploring national parks.",
    "created_at": "2025-02-11T06:35:50+00:00",
    "updated_at": "2025-02-11T06:35:50+00:00"
  }
}

  • Example - Transfer Status Update:
๐Ÿ“˜

The transaction will be different depending on your transaction type.

{
    "data": {
        "uuid": "transfer_9r1k54ymg8xn9bleR88gWF4ItF4DGK4MR7ejuS6C",
        "object": "transfer",
        "status": "pending_customer_transfer_start",
        "on_behalf_of": "{{YOUR_CUSTOMER_UUID}}",
        "source": {
            "chain": "ethereum",
            "asset": "USDC",
            "amount": "1000.00"
        },
        "destination": {
            "asset": "USD",
            "account_number": "123456789012",
            "routing_number": "021000021",
            "iban": null,
            "swift_code": null,
            "bank_code": null,
            "branch_code": null,
            "bank_name": "Test Bank USA",
            "bank_address": "123 Test Street, New York, NY 10001, USA",
            "account_holder_name": "John Doe",
            "account_holder_kana_name": null,
            "residential_country_code": "US",
            "residential_state": "DE",
            "residential_city": "Wilmington",
            "residential_address_1": "100 Market Street",
            "residential_address_2": "Suite 200",
            "is_self_transfer": false,
            "beneficiary_name": "John Doe",
            "amount": "989.00",
            "transfer_purpose": "Salary"
        },
        "application_transfer_uuid": "{{YOUR_APPLICATION_TRANSFER_UUID}}",
        "transfer_instructions": {
            "instruction_chain": "ethereum",
            "instruction_address": "0xbf2f9dd51e8f09408dea7334953398f06fff8959",
            "instruction_memo": null
        },
        "commission": {
            "percentage": "0.1",
            "amount": "1.00"
        },
        "receipt": {
            "initial_asset": "USDC",
            "initial_amount": "1000.00",
            "commission_fee": "11",
            "harbor_fee": "0",
            "final_asset": "USD",
            "final_amount": "989.00",
            "exchange_rate": "1",
            "tracking_number": null
        },
        "created_at": "2025-05-22T08:06:27+00:00",
        "updated_at": "2025-05-22T08:06:28+00:00"
    }
}