Landmark Information Group · AsyncAPI Specification
Landmark Information Webhooks
Version
View Spec
View on GitHub
Real EstateUnited KingdomPropTechProperty DataConveyancingLand RegistryGeospatialValuationAnti-Money LaunderingPlanning DataMortgageAsyncAPIWebhooksEvents
AsyncAPI Specification
generated: '2026-07-26'
method: derived
source: >-
openapi/landmark-information-milestone-notification-service-api-openapi.yml (OpenAPI callbacks
object and notification schemas), openapi/landmark-information-order-experience-api-openapi.yml
(orderStatus callback)
spec_type: none
asyncapi_published: false
description: >-
Landmark publishes no AsyncAPI document, but it does have a real, contract-bearing event surface:
two of its five OpenAPI documents declare OpenAPI callbacks objects with typed payload schemas.
The Milestone Notification Service is a dedicated webhook-subscription API - consumers register,
update and delete callback URLs and Landmark POSTs valuation transaction milestones to them - and
the Compliance/Order API POSTs order status changes to a callback URL supplied on the order
itself. This file catalogues that surface as derived from the specs; it is not a fabricated
AsyncAPI.
subscription:
model: >-
Two different subscription models. Milestone notifications are subscribed by registering a
callback configuration through the Milestone Notification Service API; order status callbacks
are subscribed per order, by including a callback object in the create-order request body.
management_api: openapi/landmark-information-milestone-notification-service-api-openapi.yml
operations:
- spn-milestone-register-callback
- spn-milestone-update-callback
- spn-milestone-delete-callback
outbound_authentication:
mechanisms:
- type: Basic
- type: ClientIdSecret
- type: OAuth2
detail: >-
Landmark obtains a bearer token from a consumer-supplied token_generation_url using a
client_id and client_secret, with optional audience and scope, and presents it in the
Authorization header of the callback request.
expected_response: 204 No Content acknowledges receipt; 400/401/403/429/500 are recognised failures.
channels:
- name: transaction-milestone-notifications
api: Landmark Milestone Notification Service API
transport: HTTPS POST to the consumer-registered callback URL
payload_schema: lgsTransactionRequestMilestoneSPN
envelope:
transactionId: uuid
transactionRequestId: uuid
transactionRequestMilestoneId: uuid
transactionRequestType: Order | Inspection | PanelConveyancing | InspectionRequest
datePredicted: date-time
dateAchieved: date-time
additionalInformation: string (max 250)
events:
- id: '1'
name: Valuation Instructed
schema: lgsValuationInstructedNotification
fields:
- surveyorBranchId
- id: '2'
name: Instruction Panelled
schema: lgsInstructionPanelledNotification
fields:
- surveyorBranchId
- reason
- id: '3'
name: Valuation Held
schema: lgsValuationHeldNotification
fields:
- reason
- id: '4'
name: Contact Tried
schema: lgsContactTriedNotification
fields:
- reason
- id: '5'
name: Valuation Cancelled
schema: lgsValuationCancelledNotification
fields:
- reason
- id: '6'
name: Valuation Booked
schema: lgsValuationBookedNotification
fields:
- appointmentDate
- timeWindowStart
- timeWindowEnd
- id: '7'
name: Valuation Complete
schema: lgsValuationCompleteNotification
fields: []
- id: '8'
name: Document Available
schema: lgsDocumentAvailableNotification
fields:
- documentId
- tags
- id: '9'
name: Valuation Rejected
schema: lgsValuationRejectedNotification
fields:
- surveyorBranchId
- reason
- name: orderStatus
api: Landmark Order Experience API
transport: HTTPS POST to the callback URL supplied in the create-order request body
callback_expression: '{$request.body#/callback/url}'
payload_schema: orderStatusResponse
envelope:
orderId: uuid
reference: order reference
status: orderStatus enum
statusDescription: string (max 1000)
example:
orderId: 4df4d4b1-9a07-4d25-9772-764d1fefe527
reference: 513ba615-1e78-4751-968b-2402a49e5594
status: Completed
statusDescription: AML order is Completed.
expected_response: 200
polling_alternative:
note: >-
Both event surfaces have a polling equivalent for consumers that cannot host a callback -
order-experience-get-order-status for compliance orders, and getTransactionRequestStatus /
getMilestone on the Intelliworks API for case milestones.