Skip to content

Payload Schemas

Complete type reference for every webhook event metadata payload. All fields are always present — nullable fields are null when not applicable.


Job Payloads

job_created

Created via normal agency/residential path, or Fixify Maintenance transfer

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
cancellationReason string | null Reason the original job was cancelled, when applicable
categoryId string ID of the service category the job falls under
estateId string | null ID of the estate the property belongs to; null if not part of an estate
jobId string ID of the newly created job
jobNumber number | null Human-readable sequential job number
originalAgencyId string | null Recreate/transfer path only — agency ID of the originating job
originalAgencyName string | null Recreate/transfer path only — agency name of the originating job
originalJobId string | null Recreate/transfer path only — ID of the originating job; null on normal paths
originalJobNumber number | null Recreate/transfer path only — job number of the originating job
propertyId string | null ID of the property the job is for; null if not linked to a property
propertyRecreated boolean | null True when the property was recreated as part of the transfer
requestorInfo JobRequestorInfo | null Contact details of the requestor; null when not captured
requestorType string | null Type of party that requested the job (e.g. agent, occupant, landlord)
transferredToFixifyMaintenance boolean | null True when the job was transferred to Fixify Maintenance

Example

{
  "agencyId": "<agencyId>",
  "cancellationReason": "<cancellationReason>",
  "categoryId": "<categoryId>",
  "estateId": "<estateId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "originalAgencyId": "<originalAgencyId>",
  "originalAgencyName": "Example Name",
  "originalJobId": "<originalJobId>",
  "originalJobNumber": 1,
  "propertyId": "<propertyId>",
  "propertyRecreated": false,
  "requestorInfo": {
    "email": "user@example.com",
    "fullName": "Example Name",
    "mobileNumber": "<mobileNumber>"
  },
  "requestorType": "<requestorType>",
  "transferredToFixifyMaintenance": false
}

job_assigned_to_service_providers

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderIds string[] IDs of the service providers assigned in this action
serviceProvidersAssignedTotal number Total number of service providers now assigned to the job

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderIds": [
    "<serviceProviderIds>"
  ],
  "serviceProvidersAssignedTotal": 0
}

job_fulfilment_accepted

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
fulfilmentId string ID of the fulfilment (a service provider's engagement on the job)
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider who accepted the fulfilment

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_rejected

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
fulfilmentId string ID of the fulfilment (a service provider's engagement on the job)
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider who rejected the fulfilment

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

job_cancelled

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
jobId string ID of the cancelled job
jobNumber number Human-readable sequential job number
reason string | null Reason the job was cancelled

Example

{
  "agencyId": "<agencyId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "reason": "Reason text"
}

job_fulfilment_cancelled

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
fulfilmentId string ID of the cancelled fulfilment
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider whose fulfilment was cancelled

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

job_completed

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
jobId string ID of the completed job
jobNumber number Human-readable sequential job number

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "jobId": "<jobId>",
  "jobNumber": 1
}

job_quote_number_updated

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
jobId string ID of the job
jobNumber number Human-readable sequential job number
requiredNumberOfQuotes number New number of quotes required on the job
requiredNumberOfQuotesPrevious number Previous number of quotes required on the job

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "requiredNumberOfQuotes": 1,
  "requiredNumberOfQuotesPrevious": 1
}

job_fulfilment_completed

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
fulfilmentId string ID of the completed fulfilment
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider who completed the fulfilment

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_quote_uploaded

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
fulfilmentId string ID of the fulfilment the quote was uploaded to
jobId string ID of the job
jobNumber number Human-readable sequential job number
links string[] Download links to the uploaded quote(s)
numberOfQuotes number Number of quote documents uploaded
quoteNames string Comma-separated list of the uploaded quote file names
serviceProviderId string ID of the service provider who uploaded the quote(s)

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "links": [
    "<links>"
  ],
  "numberOfQuotes": 0,
  "quoteNames": "<quoteNames>",
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_site_visit_scheduled

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
fulfilmentId string ID of the fulfilment the site visit is for
jobId string ID of the job
jobNumber number Human-readable sequential job number
scheduledDate number Scheduled site visit date/time as an epoch timestamp
serviceProviderId string ID of the service provider performing the site visit

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "scheduledDate": 0,
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_job_visit_scheduled

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
fulfilmentId string ID of the fulfilment the job visit is for
jobId string ID of the job
jobNumber number Human-readable sequential job number
scheduledDate number Scheduled job visit date/time as an epoch timestamp
serviceProviderId string ID of the service provider performing the job visit

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "scheduledDate": 0,
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_media_uploaded

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
fulfilmentId string ID of the fulfilment the media was uploaded to
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider who uploaded the media

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_invoice_uploaded

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
fulfilmentId string ID of the fulfilment the invoice was uploaded to
invoiceNames string Comma-separated list of the uploaded invoice file names
jobId string ID of the job
jobNumber number Human-readable sequential job number
links string[] Download links to the uploaded invoice(s)
numberOfInvoices number Number of invoice documents uploaded
serviceProviderId string ID of the service provider who uploaded the invoice(s)

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "fulfilmentId": "<fulfilmentId>",
  "invoiceNames": "<invoiceNames>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "links": [
    "<links>"
  ],
  "numberOfInvoices": 0,
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_substatus_updated

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
fulfilmentId string ID of the fulfilment whose sub-status changed
jobId string ID of the job
jobNumber number Human-readable sequential job number
newSubStatus string | null Sub-status after the change
previousSubStatus string | null Sub-status before the change
serviceProviderId string ID of the service provider associated with the fulfilment

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "newSubStatus": "pending",
  "previousSubStatus": "pending",
  "serviceProviderId": "<serviceProviderId>"
}

job_fulfilment_rating_submitted

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
fulfilmentId string ID of the rated fulfilment
jobId string ID of the job
jobNumber number Human-readable sequential job number
rating JobRatingBreakdown | null Rating breakdown submitted for the service provider
serviceProviderId string ID of the rated service provider

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "rating": {
    "communication": 0,
    "qualityOfQuote": 0,
    "qualityOfWork": 0,
    "reliability": 0,
    "review": "<review>"
  },
  "serviceProviderId": "<serviceProviderId>"
}

job_reminder_sent

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
categoryId string ID of the service category the job falls under
jobId string ID of the job the reminder relates to
jobNumber number Human-readable sequential job number

Example

{
  "agencyId": "<agencyId>",
  "categoryId": "<categoryId>",
  "jobId": "<jobId>",
  "jobNumber": 1
}

job_fulfilment_reminder_sent

Field Type Description
agencyId string | null ID of the agency the job belongs to; null for residential jobs
fulfilmentId string ID of the fulfilment the reminder relates to
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider the reminder was sent to

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

job_name_updated

Field Type Description
jobId string ID of the job
jobNumber number Human-readable sequential job number
newName string | null Job name after the change
previousName string | null Job name before the change

Example

{
  "jobId": "<jobId>",
  "jobNumber": 1,
  "newName": "Example Name",
  "previousName": "Example Name"
}

job_substatus_updated

Field Type Description
jobId string ID of the job
jobNumber number Human-readable sequential job number
newSubStatus string | null Sub-status after the change
previousSubStatus string | null Sub-status before the change

Example

{
  "jobId": "<jobId>",
  "jobNumber": 1,
  "newSubStatus": "pending",
  "previousSubStatus": "pending"
}

job_payment_responsibility_updated

Field Type Description
jobId string ID of the job
jobNumber number Human-readable sequential job number
newResponsibility string | null Party responsible for payment after the change
previousResponsibility string | null Party responsible for payment before the change

Example

{
  "jobId": "<jobId>",
  "jobNumber": 1,
  "newResponsibility": "<newResponsibility>",
  "previousResponsibility": "<previousResponsibility>"
}

job_active_service_provider_removed

Field Type Description
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider removed from the job

Example

{
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

Quote Payloads

quote_approved / quote_rejected / quote_requote_requested

Field Type Description
agencyId string ID of the agency the job belongs to
fulfilmentId string ID of the fulfilment the quote belongs to
jobId string ID of the job
jobNumber number Human-readable sequential job number
quoteStatus "approved" | "rejected" | "requote" New quote status
serviceProviderId string ID of the service provider who submitted the quote

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "quoteStatus": "approved",
  "serviceProviderId": "<serviceProviderId>"
}

quote_outdated

Field Type Description
agencyId string ID of the agency the job belongs to
fulfilmentId string ID of the fulfilment the outdated quote belongs to
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider whose quote became outdated

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

Invoice Payloads

invoice_approved

Field Type Description
agencyId string ID of the agency the job belongs to
fulfilmentId string ID of the fulfilment the invoice belongs to
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider whose invoice was approved

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

invoice_disputed

Field Type Description
agencyId string ID of the agency the job belongs to
fulfilmentId string ID of the fulfilment the invoice belongs to
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider whose invoice was disputed

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

invoice_cancelled

Field Type Description
agencyId string ID of the agency the job belongs to
fulfilmentId string ID of the fulfilment the invoice belongs to
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider whose invoice was cancelled

Example

{
  "agencyId": "<agencyId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

Approval Payloads

approval_created

Field Type Description
agencyId string ID of the agency the job belongs to
approvalId string | null ID of the created approval; null until persisted
fulfilmentId string ID of the fulfilment the approval relates to
jobId string ID of the job
jobNumber number Human-readable sequential job number
serviceProviderId string ID of the service provider the approval is for

Example

{
  "agencyId": "<agencyId>",
  "approvalId": "<approvalId>",
  "fulfilmentId": "<fulfilmentId>",
  "jobId": "<jobId>",
  "jobNumber": 1,
  "serviceProviderId": "<serviceProviderId>"
}

approval_approved / approval_rejected / approval_pending / approval_requote

Field Type Description
agencyId string ID of the agency the job belongs to
approvalId string ID of the approval whose status changed
jobId string ID of the job
status "approved" | "rejected" | "pending" | "requote" New approval status

Example

{
  "agencyId": "<agencyId>",
  "approvalId": "<approvalId>",
  "jobId": "<jobId>",
  "status": "approved"
}

Property Payloads

property_created

Field Type Description
address PropertyAddress Address of the property
agencyId string ID of the agency the property belongs to
estateId string | null ID of the estate the property belongs to; null if standalone
estateName string | null Name of the estate the property belongs to; null if standalone
managingAgentId string | null ID of the agent managing the property; null if unassigned
propertyId string ID of the newly created property
vacant boolean True when the property is currently vacant

Example

{
  "address": {
    "city": "<city>",
    "formatted": "<formatted>",
    "postalCode": "<postalCode>",
    "province": "<province>",
    "street": {
      "name": "Example Name",
      "number": "<number>"
    },
    "suburb": "<suburb>",
    "unitNumber": "<unitNumber>"
  },
  "agencyId": "<agencyId>",
  "estateId": "<estateId>",
  "estateName": "Example Name",
  "managingAgentId": "<managingAgentId>",
  "propertyId": "<propertyId>",
  "vacant": true
}

occupant_added

Field Type Description
occupant PropertyPersonRef Reference details of the added occupant
occupantId string ID of the added occupant
propertyId string ID of the property

Example

{
  "occupant": {
    "email": "user@example.com",
    "fullName": "Example Name",
    "id": "<id>"
  },
  "occupantId": "<occupantId>",
  "propertyId": "<propertyId>"
}

occupant_removed

Field Type Description
occupantId string ID of the removed occupant
occupantType string Type of occupant that was removed
propertyId string ID of the property

Example

{
  "occupantId": "<occupantId>",
  "occupantType": "<occupantType>",
  "propertyId": "<propertyId>"
}

landlord_added

Field Type Description
landlord PropertyPersonRef Reference details of the added landlord
landlordId string ID of the added landlord
propertyId string ID of the property

Example

{
  "landlord": {
    "email": "user@example.com",
    "fullName": "Example Name",
    "id": "<id>"
  },
  "landlordId": "<landlordId>",
  "propertyId": "<propertyId>"
}

landlord_removed

Field Type Description
landlordId string ID of the removed landlord
propertyId string ID of the property

Example

{
  "landlordId": "<landlordId>",
  "propertyId": "<propertyId>"
}

trustee_added

Field Type Description
propertyId string ID of the property
trustee PropertyPersonRef Reference details of the added trustee
trusteeId string ID of the added trustee

Example

{
  "propertyId": "<propertyId>",
  "trustee": {
    "email": "user@example.com",
    "fullName": "Example Name",
    "id": "<id>"
  },
  "trusteeId": "<trusteeId>"
}

trustee_removed

Field Type Description
propertyId string ID of the property
trusteeId string ID of the removed trustee

Example

{
  "propertyId": "<propertyId>",
  "trusteeId": "<trusteeId>"
}

property_address_updated

Field Type Description
newAddress PropertyAddress Address after the change
previousAddress PropertyAddress Address before the change
propertyId string ID of the property

Example

{
  "newAddress": {
    "city": "<city>",
    "formatted": "<formatted>",
    "postalCode": "<postalCode>",
    "province": "<province>",
    "street": {
      "name": "Example Name",
      "number": "<number>"
    },
    "suburb": "<suburb>",
    "unitNumber": "<unitNumber>"
  },
  "previousAddress": {
    "city": "<city>",
    "formatted": "<formatted>",
    "postalCode": "<postalCode>",
    "province": "<province>",
    "street": {
      "name": "Example Name",
      "number": "<number>"
    },
    "suburb": "<suburb>",
    "unitNumber": "<unitNumber>"
  },
  "propertyId": "<propertyId>"
}

property_assigned_to_agent

Field Type Description
newAgentId string ID of the newly assigned agent
previousAgentId string | null ID of the previously assigned agent; null if none
propertyId string ID of the property

Example

{
  "newAgentId": "<newAgentId>",
  "previousAgentId": "<previousAgentId>",
  "propertyId": "<propertyId>"
}

Estate Payloads

estate_created

Field Type Description
agencyId string ID of the agency the estate belongs to
estateId string ID of the newly created estate
managingAgentId string | null ID of the agent managing the estate; null if unassigned
name string Name of the estate

Example

{
  "agencyId": "<agencyId>",
  "estateId": "<estateId>",
  "managingAgentId": "<managingAgentId>",
  "name": "Example Name"
}

estate_updated

Field Type Description
agencyId string ID of the agency the estate belongs to
estateId string ID of the estate
managingAgentId string | null ID of the agent managing the estate; null if unassigned
name string Updated name of the estate

Example

{
  "agencyId": "<agencyId>",
  "estateId": "<estateId>",
  "managingAgentId": "<managingAgentId>",
  "name": "Example Name"
}

estate_manager_added

Field Type Description
estateId string ID of the estate
estateManagerId string ID of the added estate manager

Example

{
  "estateId": "<estateId>",
  "estateManagerId": "<estateManagerId>"
}

estate_manager_removed

Field Type Description
estateId string ID of the estate
estateManagerId string ID of the removed estate manager

Example

{
  "estateId": "<estateId>",
  "estateManagerId": "<estateManagerId>"
}

property_linked

Field Type Description
estateId string ID of the estate the property is linked to
previousEstateId string | null ID of the estate the property was previously linked to; null if none
propertyId string ID of the property being linked

Example

{
  "estateId": "<estateId>",
  "previousEstateId": "<previousEstateId>",
  "propertyId": "<propertyId>"
}

property_unlinked

Field Type Description
previousEstateId string | null ID of the estate the property was previously linked to; null if none
propertyId string ID of the property being unlinked

Example

{
  "previousEstateId": "<previousEstateId>",
  "propertyId": "<propertyId>"
}

estate_assigned_to_agent

Field Type Description
estateId string ID of the estate
newAgentId string ID of the newly assigned agent
previousAgentId string | null ID of the previously assigned agent; null if none

Example

{
  "estateId": "<estateId>",
  "newAgentId": "<newAgentId>",
  "previousAgentId": "<previousAgentId>"
}

Agent Payloads

agent_created

Field Type Description
agencyId string ID of the agency the agent belongs to
agentId string ID of the newly created agent
email string Email address of the agent
role "owner" | "admin" | "agent" Role assigned to the agent

Example

{
  "agencyId": "<agencyId>",
  "agentId": "<agentId>",
  "email": "user@example.com",
  "role": "owner"
}

agent_invited

Field Type Description
agencyId string ID of the agency the agent was invited to
agentId string ID of the invited agent
email string Email address the invitation was sent to

Example

{
  "agencyId": "<agencyId>",
  "agentId": "<agentId>",
  "email": "user@example.com"
}

agent_deleted

Field Type Description
agencyId string ID of the agency the agent belonged to
agentId string ID of the deleted agent
email string Email address of the deleted agent
estatesReassigned number Number of estates reassigned away from the deleted agent
newManagingAgentId string | null ID of the agent that inherited the deleted agent's managed records
propertiesReassigned number Number of properties reassigned away from the deleted agent

Example

{
  "agencyId": "<agencyId>",
  "agentId": "<agentId>",
  "email": "user@example.com",
  "estatesReassigned": 0,
  "newManagingAgentId": "<newManagingAgentId>",
  "propertiesReassigned": 0
}

agent_role_updated

Field Type Description
agentId string ID of the agent
email string Email address of the agent
newRole "owner" | "admin" | "agent" Role after the change
previousRole "owner" | "admin" | "agent" Role before the change

Example

{
  "agentId": "<agentId>",
  "email": "user@example.com",
  "newRole": "owner",
  "previousRole": "owner"
}

agent_email_updated

Field Type Description
agentId string ID of the agent
newEmail string Email address after the change
previousEmail string Email address before the change

Example

{
  "agentId": "<agentId>",
  "newEmail": "<newEmail>",
  "previousEmail": "<previousEmail>"
}

agent_mobile_number_updated

Field Type Description
agentId string ID of the agent
email string Email address of the agent
newMobileNumber string Mobile number after the change
previousMobileNumber string | null Mobile number before the change

Example

{
  "agentId": "<agentId>",
  "email": "user@example.com",
  "newMobileNumber": "<newMobileNumber>",
  "previousMobileNumber": "<previousMobileNumber>"
}

agent_accepted_terms

Field Type Description
agencyId string ID of the agency the agent belongs to
agentId string ID of the agent

Example

{
  "agencyId": "<agencyId>",
  "agentId": "<agentId>"
}

agent_agency_changed

Field Type Description
agencyId string ID of the agency the agent now belongs to
agentId string ID of the agent
email string Email address of the agent
previousAgencyId string | null ID of the agency the agent previously belonged to; null if none

Example

{
  "agencyId": "<agencyId>",
  "agentId": "<agentId>",
  "email": "user@example.com",
  "previousAgencyId": "<previousAgencyId>"
}

agent_enabled

Field Type Description
agencyId string ID of the agency the agent belongs to
agentId string ID of the enabled agent
email string Email address of the agent

Example

{
  "agencyId": "<agencyId>",
  "agentId": "<agentId>",
  "email": "user@example.com"
}

Agency Payloads

agency_created

Field Type Description
agencyId string ID of the newly created agency
ownerId string ID of the agent that owns the agency

Example

{
  "agencyId": "<agencyId>",
  "ownerId": "<ownerId>"
}

agency_updated

Field Type Description
agencyId string ID of the agency
contactNumber string | null Updated agency contact number
name string | null Updated agency name

Example

{
  "agencyId": "<agencyId>",
  "contactNumber": "<contactNumber>",
  "name": "Example Name"
}

agency_submitted_for_review

Field Type Description
agencyId string ID of the agency submitted for review
submittedOn number Timestamp the agency was submitted, as an epoch value

Example

{
  "agencyId": "<agencyId>",
  "submittedOn": 0
}

agency_sent_back

Field Type Description
agencyId string ID of the agency sent back for changes
reason string | null Reason the agency was sent back

Example

{
  "agencyId": "<agencyId>",
  "reason": "Reason text"
}

Service Provider Payloads

service_provider_created

Field Type Description
createdVia string Channel the service provider was created through
email string Email address of the service provider
serviceProviderId string ID of the newly created service provider

Example

{
  "createdVia": "<createdVia>",
  "email": "user@example.com",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_accepted_terms

Field Type Description
serviceProviderId string ID of the service provider who accepted terms

Example

{
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_category_added / service_provider_category_removed

Field Type Description
categories ServiceProviderCategorySummary[] Full list of the service provider's categories after the change
categoryId string ID of the category added or removed
categoryName string Name of the category added or removed
serviceProviderId string ID of the service provider

Example

{
  "categories": [
    {
      "name": "Example Name",
      "status": "pending",
      "supportingDocuments": [
        "<supportingDocuments>"
      ],
      "tasks": [
        "<tasks>"
      ]
    }
  ],
  "categoryId": "<categoryId>",
  "categoryName": "Example Name",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_category_activated

Field Type Description
categoryId string ID of the activated category
categoryName string Name of the activated category
previousStatus string Category status before activation
serviceProviderId string ID of the service provider

Example

{
  "categoryId": "<categoryId>",
  "categoryName": "Example Name",
  "previousStatus": "pending",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_category_deactivated

Field Type Description
categoryId string ID of the deactivated category
categoryName string Name of the deactivated category
reason string | null Reason the category was deactivated
serviceProviderId string ID of the service provider

Example

{
  "categoryId": "<categoryId>",
  "categoryName": "Example Name",
  "reason": "Reason text",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_personal_info_updated

Field Type Description
serviceProviderId string ID of the service provider
updatedFields string[] Names of the personal-info fields that were updated

Example

{
  "serviceProviderId": "<serviceProviderId>",
  "updatedFields": [
    "<updatedFields>"
  ]
}

service_provider_company_info_updated

Field Type Description
serviceProviderId string ID of the service provider
updatedFields string[] Names of the company-info fields that were updated

Example

{
  "serviceProviderId": "<serviceProviderId>",
  "updatedFields": [
    "<updatedFields>"
  ]
}

service_provider_location_added / service_provider_location_removed

Field Type Description
coordinates number[] Location coordinates as a [latitude, longitude] tuple
geohash string | null Geohash of the location
locationId string ID of the location added or removed
name string | null Name of the location
serviceProviderId string ID of the service provider

Example

{
  "coordinates": [
    0
  ],
  "geohash": "<geohash>",
  "locationId": "<locationId>",
  "name": "Example Name",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_contact_viewed

Field Type Description
agencyId string ID of the agency that viewed the contact
searchContext Record%3Cstring%2Cunknown%3E Context of the search that surfaced the service provider
serviceProviderId string ID of the service provider whose contact was viewed

Example

{
  "agencyId": "<agencyId>",
  "searchContext": {},
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_blocked / service_provider_unblocked

Field Type Description
agencyId string ID of the agency that blocked or unblocked the service provider
serviceProviderId string ID of the service provider that was blocked or unblocked

Example

{
  "agencyId": "<agencyId>",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_disabled

Field Type Description
reason string Reason the service provider was disabled
serviceProviderId string ID of the disabled service provider

Example

{
  "reason": "Reason text",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_enabled

Field Type Description
serviceProviderId string ID of the enabled service provider

Example

{
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_documents_requested

Field Type Description
categoryId string ID of the category the documents relate to
categoryName string Name of the category the documents relate to
message string | null Message accompanying the document request
serviceProviderId string ID of the service provider documents were requested from

Example

{
  "categoryId": "<categoryId>",
  "categoryName": "Example Name",
  "message": "<message>",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_deactivation_requested

Field Type Description
reason string | null Reason for the deactivation request
serviceProviderId string ID of the service provider whose deactivation was requested

Example

{
  "reason": "Reason text",
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_deactivation_request_dismissed

Field Type Description
serviceProviderId string ID of the service provider whose deactivation request was dismissed

Example

{
  "serviceProviderId": "<serviceProviderId>"
}

service_provider_deactivated

Field Type Description
reason string | null Reason the service provider was deactivated
serviceProviderId string ID of the deactivated service provider

Example

{
  "reason": "Reason text",
  "serviceProviderId": "<serviceProviderId>"
}

Referenced Types

Shared object types used by the payloads above.

JobRequestorInfo

Field Type Description
email string Email address of the requestor
fullName string Full name of the requestor
mobileNumber string Mobile number of the requestor

Example

{
  "email": "user@example.com",
  "fullName": "Example Name",
  "mobileNumber": "<mobileNumber>"
}

JobRatingBreakdown

Field Type Description
communication number | null Communication score
qualityOfQuote number | null Quality-of-quote score
qualityOfWork number | null Quality-of-work score
reliability number | null Reliability score
review string | null Free-text review

Example

{
  "communication": 0,
  "qualityOfQuote": 0,
  "qualityOfWork": 0,
  "reliability": 0,
  "review": "<review>"
}

PropertyAddress

Field Type Description
city string | null City
formatted string | null Full formatted address string
postalCode string | null Postal or zip code
province string | null Province or state
street PropertyStreet Street name and number
suburb string | null Suburb
unitNumber string | null Unit or apartment number

Example

{
  "city": "<city>",
  "formatted": "<formatted>",
  "postalCode": "<postalCode>",
  "province": "<province>",
  "street": {
    "name": "Example Name",
    "number": "<number>"
  },
  "suburb": "<suburb>",
  "unitNumber": "<unitNumber>"
}

PropertyPersonRef

Field Type Description
email string | null Email address of the person
fullName string | null Full name of the person
id string ID of the person

Example

{
  "email": "user@example.com",
  "fullName": "Example Name",
  "id": "<id>"
}

ServiceProviderCategorySummary

Field Type Description
name string Display name of the category
status string Current status of the category (e.g. active, pending)
supportingDocuments string[] URLs of supporting documents for this category
tasks string[] Tasks the service provider offers under this category

Example

{
  "name": "Example Name",
  "status": "pending",
  "supportingDocuments": [
    "<supportingDocuments>"
  ],
  "tasks": [
    "<tasks>"
  ]
}

PropertyStreet

Field Type Description
name string Street name
number string | null Street number

Example

{
  "name": "Example Name",
  "number": "<number>"
}