Customer Event
Overview
The Customer webhook event is triggered when a customer completes Noah’s hosted onboarding form, after being directed to the hosted URL returned by the Hosted Onboarding API, as well as when the customer's hosted onboarding status changes.
A Customer can have one the following statuses at a given time:
PendingApprovedDeclined
Once the Customer's Verification status is Approved, any of Noah's transactional flows can be used.
To configure a Customer webhook subscription, reference the Webhook Configuration page.
Event Payload Structure
When a Customer event occurs, with status Pending, Noah sends a webhook notification to your configured endpoint with the following JSON payload:
{
  "Data": {
    "Created": "2025-05-28T20:52:32Z",
    "CustomerID": "20531",
    "DateOfBirth": "2005-11-29",
    "FullName": {
      "FirstName": "John",
      "LastName": "Mock-Doe"
    },
    "Identities": [
      {
        "ExpiryDate": "2026-05-19",
        "IDNumber": "Mock-CAZQSUG0SL",
        "IDType": "Passport",
        "IssuingCountry": "DE"
      }
    ],
    "PrimaryResidence": {
      "City": "Test",
      "Country": "DE",
      "PostCode": "TT1TT0",
      "State": "Test",
      "Street": "Test Road"
    },
    "Type": "Individual",
    "Verification": {
      "Model": "System",
      "Status": "Pending"
    }
  },
  "EventType": "Customer",
  "EventVersion": 1748465552988,
  "Occurred": "2025-05-28T20:52:33Z",
  "UserID": "ory|99be1afe-7018-4a7c-be0e-5ab06bdee8c6"
}
When the status is Approved, Noah sends a webhook notification to your configured endpoint with the following JSON payload:
{
  "Data": {
    "Created": "2025-05-28T20:52:32Z",
    "CustomerID": "20531",
    "DateOfBirth": "2005-11-29",
    "FullName": {
      "FirstName": "John",
      "LastName": "Mock-Doe"
    },
    "Identities": [
      {
        "ExpiryDate": "2026-05-19",
        "IDNumber": "Mock-CAZQSUG0SL",
        "IDType": "Passport",
        "IssuingCountry": "DE"
      }
    ],
    "PrimaryResidence": {
      "City": "Test",
      "Country": "DE",
      "PostCode": "TT1TT0",
      "State": "Test",
      "Street": "Test Road"
    },
    "Type": "Individual",
    "Verification": {
      "Model": "System",
      "Status": "Approved"
    }
  },
  "EventType": "Customer",
  "EventVersion": 1748465552982,
  "Occurred": "2025-05-28T20:52:33Z",
  "UserID": "ory|99be1afe-7018-4a7c-be0e-5ab06bdee8c6"
}
When the status is Declined, Noah sends a webhook notification to your configured endpoint with the following JSON payload:
{
  "Data": {
    "Created": "2025-05-20T14:23:36Z",
    "CustomerID": "1577cd87-bd12-4222-2a47-51fd4e531c5",
    "DateOfBirth": "2005-11-21",
    "FullName": {
      "FirstName": "John",
      "LastName": "Mock-Doe"
    },
    "Identities": [
      {
        "ExpiryDate": "2026-05-11",
        "IDNumber": "Mock-VKG3I55HSI",
        "IDType": "Passport",
        "IssuingCountry": "DE"
      }
    ],
    "PrimaryResidence": {
      "City": "Mock-City",
      "Country": "DE",
      "PostCode": "111243",
      "State": "Mock-State",
      "Street": "Mock-Street"
    },
    "Type": "Individual",
    "Verification": {
      "Model": "System",
      "Status": "Declined"
    }
  },
  "EventType": "Customer",
  "EventVersion": 1748506523019,
  "Occurred": "2025-05-29T08:15:23Z",
  "UserID": "ory|2e06e27f-e4f0-4293-9a32-e67522d2d965"
}