Skip to main content

Webhook Events

This page provides a complete reference of all webhook events emitted by the Slate POV Platform platform, including their payload structures and usage examples.

Event Payload

The payload carries a JSON object. You can then use the information from the request’s JSON payload to trigger actions in your app, such as sending a notification or updating a database.

Event Categories

Contact Events

contact.created

Emitted when a new customer contact is created in Slate POV Platform.
{
  event: "contact.created",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    email: string,
    firstName: string,
    lastName: string,
    phoneNumber: string
  }
}
{
  "event": "contact.created",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "email": "john.doe@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "phoneNumber": "+61412345678"
  }
}

Application Events

application.started

Emitted when a customer starts the loan application process.
{
  event: "application.started",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "Draft",
    applicationData: {
      propertyDetails: {
        addressString: string,
        customerValuationAmount: number, // Cents
        propertyType: "residential"
      },
      loanDetails: {
        purpose: "refinance",
        termYears: number,
        propertyValuation: number, // Cents
        totalLoanAmount: number, // Cents
        lvr: number,
        interestRate: number,
        repaymentType: "PrincipalAndInterest",
        interestRateType: "Variable",
        repaymentAmountMonthly: number, // Cents
        productName: string
      }
    }
  }
}
{
  "event": "application.started",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "Draft",
    "applicationData": {
      "propertyDetails": {
        "addressString": "123 Main St, Sydney NSW 2000",
        "customerValuationAmount": 80000000,
        "propertyType": "residential"
      },
      "loanDetails": {
        "purpose": "refinance",
        "termYears": 30,
        "propertyValuation": 80000000,
        "totalLoanAmount": 64000000,
        "lvr": 80,
        "interestRate": 6.5,
        "repaymentType": "PrincipalAndInterest",
        "interestRateType": "Variable",
        "repaymentAmountMonthly": 404500,
        "productName": "Standard Variable Rate"
      }
    }
  }
}

application.submitted

Emitted when a loan application is submitted for review.
{
  event: "application.submitted",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "Submitted",
    applicationData: {
      primaryApplicant: {
        customerUserId: string,
        firstName: string,
        lastName: string,
        email: string,
        phoneNumber: string,
        dateOfBirth: string, // ISO 8601
        citizenshipStatus: "AustralianCitizen" | "AustralianPermanentResident" | "ForeignCitizen" | "NewZealandCitizenNotAusPR",
        maritalStatus: "Single" | "Married" | "Divorced" | "Widowed"
      },
      secondaryApplicant?: {
        customerUserId: string,
        firstName: string,
        lastName: string,
        email: string,
        phoneNumber: string,
        dateOfBirth: string, // ISO 8601
        citizenshipStatus: "AustralianCitizen" | "AustralianPermanentResident" | "ForeignCitizen" | "NewZealandCitizenNotAusPR",
        maritalStatus: "Single" | "Married" | "Divorced" | "Widowed",
        relationshipToPrimary: "Partner" | "FamilyOrFriend" | "Other"
      },
      propertyDetails: {
        addressString: string,
        customerValuationAmount: number, // Cents
        finalValuationAmount: number, // Cents
        propertyType: "residential"
      },
      loanDetails: {
        purpose: "refinance",
        termYears: number,
        propertyValuation: number, // Cents
        totalLoanAmount: number, // Cents
        lvr: number,
        interestRate: number,
        repaymentType: "PrincipalAndInterest",
        interestRateType: "Variable",
        repaymentAmountMonthly: number, // Cents
        productName: string
      }
    }
  }
}
{
  "event": "application.submitted",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "Submitted",
    "applicationData": {
      "primaryApplicant": {
        "customerUserId": "user_29w83sxmDNGwOuEthce5gg56FcC",
        "firstName": "John",
        "lastName": "Doe",
        "email": "john.doe@example.com",
        "phoneNumber": "+61412345678",
        "dateOfBirth": "1985-06-15",
        "citizenshipStatus": "AustralianCitizen",
        "maritalStatus": "Married"
      },
      "secondaryApplicant": {
        "customerUserId": "user_987654321",
        "firstName": "Jane",
        "lastName": "Doe",
        "email": "jane.doe@example.com",
        "phoneNumber": "+61487654321",
        "dateOfBirth": "1987-03-22",
        "citizenshipStatus": "AustralianCitizen",
        "maritalStatus": "Married",
        "relationshipToPrimary": "Partner"
      },
      "propertyDetails": {
        "addressString": "123 Main St, Sydney NSW 2000",
        "customerValuationAmount": 80000000,
        "finalValuationAmount": 82000000,
        "propertyType": "residential"
      },
      "loanDetails": {
        "purpose": "refinance",
        "termYears": 30,
        "propertyValuation": 82000000,
        "totalLoanAmount": 65600000,
        "lvr": 80,
        "interestRate": 6.5,
        "repaymentType": "PrincipalAndInterest",
        "interestRateType": "Variable",
        "repaymentAmountMonthly": 414700,
        "productName": "Standard Variable Rate"
      }
    }
  }
}

application.pending_information

Emitted when an application requires more information from the customer.
{
  event: "application.pending_information",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "PendingInformation",
    notes?: string,
    assignedTo?: string[],
    requiredTasks?: Array<"Questionnaire" | "PersonalDetails" | "CurrentLoanMortgageDocuments" | "ApplicantIncomeDocuments" | "ApplicantIdentityVerification" | "VisaLetter" | "ExitStrategyLetter" | "RequestMoreInfo">
  }
}
{
  "event": "application.pending_information",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "PendingInformation",
    "notes": "Additional income verification required",
    "assignedTo": ["analyst_001", "manager_002"],
    "requiredTasks": ["ApplicantIncomeDocuments", "Questionnaire"]
  }
}

application.requires_review

Emitted when an application requires internal review.
{
  event: "application.requires_review",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "RequiresReview",
    notes?: string,
    assignedTo?: string[]
  }
}
{
  "event": "application.requires_review",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "RequiresReview",
    "notes": "High LVR application requires manual review",
    "assignedTo": ["senior_analyst_001"]
  }
}

application.pre_approved

Emitted when an application is pre-approved.
{
  event: "application.pre_approved",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "PreApproved",
    propertyDetails: {
      addressString: string,
      customerValuationAmount: number, // Cents
      finalValuationAmount: number, // Cents
      propertyType: "residential"
    },
    loanDetails: {
      purpose: "refinance",
      termYears: number,
      propertyValuation: number, // Cents
      totalLoanAmount: number, // Cents
      lvr: number,
      interestRate: number,
      repaymentType: "PrincipalAndInterest",
      interestRateType: "Variable",
      repaymentAmountMonthly: number, // Cents
      productName: string
    },
    preApprovedAt: string, // ISO 8601
    preApprovedByName: string,
    preApprovalNotes?: string,
    conditions?: Array<{
      description: string,
      status: "pending" | "completed" | "deleted"
    }>,
    notes?: string
  }
}
{
  "event": "application.pre_approved",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "PreApproved",
    "propertyDetails": {
      "addressString": "123 Main St, Sydney NSW 2000",
      "customerValuationAmount": 80000000,
      "finalValuationAmount": 82000000,
      "propertyType": "residential"
    },
    "loanDetails": {
      "purpose": "refinance",
      "termYears": 30,
      "propertyValuation": 82000000,
      "totalLoanAmount": 65600000,
      "lvr": 80,
      "interestRate": 6.5,
      "repaymentType": "PrincipalAndInterest",
      "interestRateType": "Variable",
      "repaymentAmountMonthly": 414700,
      "productName": "Standard Variable Rate"
    },
    "preApprovedAt": "2024-01-15T14:30:00Z",
    "preApprovedByName": "Sarah Johnson",
    "preApprovalNotes": "Subject to final valuation and income verification",
    "conditions": [
      {
        "description": "Final property valuation required",
        "status": "pending"
      },
      {
        "description": "Income verification documents",
        "status": "pending"
      }
    ]
  }
}

application.fully_approved

Emitted when an application is fully approved.
{
  event: "application.fully_approved",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "FullyApproved",
    propertyDetails: {
      addressString: string,
      customerValuationAmount: number, // Cents
      finalValuationAmount: number, // Cents
      propertyType: "residential"
    },
    loanDetails: {
      purpose: "refinance",
      termYears: number,
      propertyValuation: number, // Cents
      totalLoanAmount: number, // Cents
      lvr: number,
      interestRate: number,
      repaymentType: "PrincipalAndInterest",
      interestRateType: "Variable",
      repaymentAmountMonthly: number, // Cents
      productName: string
    },
    fullyApprovedAt: string, // ISO 8601
    fullyApprovedByName: string,
    notes?: string,
    assignedTo?: string[],
    fullyApprovedNotes?: string
  }
}
{
  "event": "application.fully_approved",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "FullyApproved",
    "propertyDetails": {
      "addressString": "123 Main St, Sydney NSW 2000",
      "customerValuationAmount": 80000000,
      "finalValuationAmount": 82000000,
      "propertyType": "residential"
    },
    "loanDetails": {
      "purpose": "refinance",
      "termYears": 30,
      "propertyValuation": 82000000,
      "totalLoanAmount": 65600000,
      "lvr": 80,
      "interestRate": 6.5,
      "repaymentType": "PrincipalAndInterest",
      "interestRateType": "Variable",
      "repaymentAmountMonthly": 414700,
      "productName": "Standard Variable Rate"
    },
    "fullyApprovedAt": "2024-01-16T09:15:00Z",
    "fullyApprovedByName": "Michael Chen",
    "fullyApprovedNotes": "All conditions satisfied, loan approved for settlement",
    "assignedTo": ["settlement_team_001"]
  }
}

application.declined

Emitted when an application is declined.
{
  event: "application.declined",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "Declined",
    declinedAt: string, // ISO 8601
    declinedById: string,
    declinedByName: string,
    notes?: string,
    assignedTo?: string[],
    rejectionReason?: string,
    rejectionNotes?: string
  }
}
{
  "event": "application.declined",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "Declined",
    "declinedAt": "2024-01-15T16:45:00Z",
    "declinedById": "analyst_003",
    "declinedByName": "David Wilson",
    "rejectionReason": "Insufficient income to service loan",
    "rejectionNotes": "Applicant's income does not meet minimum servicing requirements for the requested loan amount",
    "assignedTo": ["customer_service_001"]
  }
}

application.ineligible

Emitted when an application is marked as ineligible.
{
  event: "application.ineligible",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    status: "Ineligible",
    closedAt: string, // ISO 8601
    closedById: string,
    closedByName: string,
    notes?: string,
    assignedTo?: string[],
    closedReason: "IneligiblePaymentHistory" | "IneligibleBufferedBalance" | "IneligibleOther",
    closedNotes?: string
  }
}
{
  "event": "application.ineligible",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "status": "Ineligible",
    "closedAt": "2024-01-15T11:20:00Z",
    "closedById": "system_001",
    "closedByName": "Automated System",
    "closedReason": "IneligiblePaymentHistory",
    "closedNotes": "Applicant has recent payment defaults on credit report",
    "assignedTo": ["compliance_team_001"]
  }
}

Document Events

document.uploaded

Emitted when a document is uploaded to an application.
{
  event: "document.uploaded",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    documentId: string,
    documentType: "Payslip" | "PropertyRentalIncome" | "MortgageStatement" | "PropertyTitleSearch" | "IdentityVerification" | "PropertyValuation" | "VisaCertificate" | "VisaLetter" | "ExitStrategyLetter" | "PreApprovalLetter" | "FullApprovalLetter" | "CreditReport" | "RatesNotice",
    fileName: string,
    fileSize: number,
    mimeType: string,
    uploadedBy: string,
    metadata?: {
      assignedUserId?: string,
      documentCategory?: string
    }
  }
}
{
  "event": "document.uploaded",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "documentId": "doc_987654321",
    "documentType": "Payslip",
    "fileName": "payslip_january_2024.pdf",
    "fileSize": 245760,
    "mimeType": "application/pdf",
    "uploadedBy": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "metadata": {
      "assignedUserId": "analyst_001",
      "documentCategory": "Income Verification"
    }
  }
}

Task Events

task.completed

Emitted when a customer completes a required task.
{
  event: "task.completed",
  timestamp: string, // ISO 8601
  source: "homestar_pov_platform",
  data: {
    slatePrimaryContactId: string,
    slateApplicationId: string,
    taskType: "Questionnaire" | "PersonalDetails" | "CurrentLoanMortgageDocuments" | "ApplicantIncomeDocuments" | "ApplicantIdentityVerification" | "VisaLetter" | "ExitStrategyLetter" | "RequestMoreInfo",
    completedAt: string, // ISO 8601
    metadata?: {
      documentsUploaded?: number,
      verificationStatus?: "Pending" | "Completed" | "Failed" | "NeedsReview" | "Approved" | "Rejected"
    }
  }
}
{
  "event": "task.completed",
  "timestamp": "2024-01-15T10:30:00Z",
  "source": "homestar_pov_platform",
  "data": {
    "slatePrimaryContactId": "user_29w83sxmDNGwOuEthce5gg56FcC",
    "slateApplicationId": "app_123456789",
    "taskType": "ApplicantIncomeDocuments",
    "completedAt": "2024-01-15T14:20:00Z",
    "metadata": {
      "documentsUploaded": 3,
      "verificationStatus": "Pending"
    }
  }
}

Data Types

Currency Values

All monetary values are stored in cents (e.g., $100,000 = 10000000) to avoid floating-point precision issues.

Dates

All dates are in ISO 8601 format (e.g., “2024-01-15T10:30:00Z”).

Status Enums

The platform uses specific status enums that should be used exactly as defined in the event schemas above.
Note: All webhook events include the standard payload structure with event, timestamp, source, and data fields. The examples above focus on the data portion for clarity.