Landmark Information Group · AsyncAPI Specification

Landmark Information Webhooks

Version

View Spec View on GitHub Real EstateUnited KingdomPropTechProperty DataConveyancingLand RegistryGeospatialValuationAnti-Money LaunderingPlanning DataMortgageAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
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.