Landmark Conveyancing Experience API (0.8.1)

Download OpenAPI specification:

Overview

The Conveyancing API is where you quote for, instruct, and manage conveyancing work with Landmark. Whether you're referring work to a panel conveyancer or handling the cases that come your way, you do it through one API and against one shared case record.

The first thing it supports is panel conveyancing through Optimus: as an introducer you create a quote, choose a conveyancer, and instruct them on your client's behalf; as a conveyancer you pick up the cases assigned to you and keep the introducer updated as the work moves forward. That's the workflow this documentation focuses on, though the API will grow to cover more of how you connect to conveyancing over time.

Throughout, a quote becomes a case once instructed, both sides share one case record, and you only see the cases your account is party to.

Availability

Functionality is being made available in UAT as it becomes ready to test. We'll keep this section updated as each drop lands.

The Quotes and Cases endpoints have a settled schema and you can use them as a reference to start your integration work. Endpoints still undergoing final design and build work are marked Preview in the reference below — currently Add Document and Retrieve Document. They're here so you can see where the API is heading, but please don't build against them yet.

Your Landmark contact will confirm what's available to you and when.

Getting started

The API is a REST service over HTTPS. You send and receive JSON, apart from document uploads, which use multipart/form-data, and PDF or document downloads, which return the file itself.

Environment Base URL Use it for
UAT https://uat-api.landmarkcloudservices.com/conveyances Building and testing your integration
Production https://api.landmarkcloudservices.com/conveyances Live cases

You'll start with UAT credentials, then move to production once your integration is ready to go live.

Authentication

The API uses OAuth 2.0 with the client credentials grant. When you're onboarded you'll receive a client ID and secret. These identify your account, so there's no separate account header to send.

1. Get an access token by POSTing your credentials to the token endpoint for your environment:

  • UAT: https://lmkmaster-uat.eu.auth0.com/oauth/token
  • Production: https://lmkmaster.eu.auth0.com/oauth/token
{
  "client_id": "your-client-id",
  "client_secret": "your-client-secret",
  "audience": "https://api.landmarkcloudservices.com",
  "grant_type": "client_credentials"
}

You'll get back an access_token (a JWT) and an expires_in value. Cache and reuse the token until it's close to expiring rather than fetching a new one for every call.

2. Send the token on every request:

  • Authorization: Bearer <access_token>

A 401 means your token is missing or invalid. A 403 means your account isn't entitled to that operation; contact support if you think that's wrong.

Errors and support

Standard HTTP status codes apply: 400 validation, 401 authentication, 403 not entitled, 404 not found, 429 too many requests, 5xx server error.

When something goes wrong you'll get back a consistent JSON shape:

{
  "status": "400",
  "code": "40001",
  "title": "Validation error",
  "messages": [
    { "property": "propertyAddress.postcode", "message": "Postcode is required" }
  ]
}

Every response includes a traceresponse header that uniquely identifies your request. Quote it when you contact support so we can find it quickly.

Support Contact: TBC

Quotes

Quotes are where a job begins. You build a quote for your client's transaction, get back the panel conveyancers available to you with their pricing, and instruct one of them to turn the quote into a live case.

A single request can cover a standalone transaction (one quote) or a combined sale and purchase (two quotes, one for each side). You choose what you're quoting for with a product schema, which sets the questions that apply. See Product Schemas.

To instruct, pass the conveyancerId of one of the conveyancers returned for the quote. That creates the case and makes the details available to the conveyancer you've chosen.

Create New Quote

Create a quote for your client's transaction. Provide the property address, the applicants, the account roles, and the product details, and you'll get back the panel conveyancers available to you with their pricing.

Standalone quote: provide a single quote request in the quotes array.

Combined sale and purchase: provide two quote requests in the quotes array, one Sale and one Purchase. Each is independent, with its own productId, applicants, and product details.

Accounts: each quote needs an accounts array naming at least one Originator and at least one Introducer. These can be the same account holding both roles. You're given these account identifiers when you're onboarded.

Contacts: each quote needs a contacts array including the requestor (the person placing the quote on the applicant's behalf). Identify them with contactId or email. Only one contact with role Requestor is allowed per quote.

Products: the product object must match one of the Product Schemas for the product type and property location you're quoting for.

Authorizations:
BearerAuth
Request Body schema: application/json
required
required
Array of objects (QuoteRequest) [ 1 .. 2 ] items

Array of quote requests to create.

  • Standalone: One quote request (any product type)
  • Combined Sale and Purchase: Two quote requests - one must be Sale and one must be Purchase

Each quote is independent with its own accounts, contacts, productId, propertyAddress, persons, and productDetails.

Responses

Request samples

Content type
application/json
Example

Example of a standalone Purchase quote request for England/Wales

{
  • "quotes": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "quotes": [
    ]
}

List Quotes

Retrieve your quotes, most recently updated first.

Filter, sort, and page the results with the OData-style query parameters below.

Authorizations:
BearerAuth
query Parameters
$filter
string <= 1000 characters

OData $filter syntax i.e. $filter=status eq 'Completed'

Supported $filter values are: 'status', 'createdDate', 'updatedDate', 'productId'

$orderby
string <= 1000 characters
Default: "updatedDate desc"

OData $orderby syntax i.e. $orderby=updatedDate desc

Supported $orderby values are: 'createdDate', 'updatedDate', 'productName', 'status'

$top
integer <int32> [ 1 .. 999 ]
Default: 20

The number of items to return

$skip
integer <int32> [ 0 .. 9999999 ]
Default: 0

The number of items to skip

$count
boolean
Default: false

Whether or not to return a count of items

countOnly
boolean
Default: false

Return only the count of items

Responses

Response samples

Content type
application/json

Example response for retrieving a list of quotes

{
  • "count": 3,
  • "quotes": [
    ]
}

Retrieve Quote Details

Retrieve the full details of one of your quotes: the property, applicants, product details, the available conveyancers, and the pricing breakdown.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the quote

Responses

Response samples

Content type
application/json

Example response for retrieving a complete quote

{
  • "quoteId": "550e8400-e29b-41d4-a716-446655440000",
  • "additionalReferences": [
    ],
  • "propertyAddress": {
    },
  • "product": {
    },
  • "persons": [
    ],
  • "selectedConveyancer": {
    },
  • "conveyancers": [
    ],
  • "fee": {
    },
  • "accounts": [
    ],
  • "contacts": [
    ]
}

Download Quote PDF

Download a PDF copy of the quote, for example to share with your client.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: 550e8400-e29b-41d4-a716-446655440000

Unique identifier for the quote

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Instruct Quote

Instruct a quote to turn it into a live case. Supply the conveyancerId of the conveyancer you're choosing in the request body: it must be one of the conveyancers returned for this quote (see GET /quotes/{quoteId} or the create-quote response). Instructing creates the case and makes the details available to that conveyancer.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: 550e8400-e29b-41d4-a716-446655440000

Unique identifier for the quote

Request Body schema: application/json
required
conveyancerId
required
string <uuid> = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Identifier of the conveyancer to instruct; must equal the conveyancerId of an entry in the quote's conveyancers list.

Responses

Request samples

Content type
application/json
{
  • "conveyancerId": "f7a7438b-fe4e-4361-b00b-d3d709a16d01"
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Update Property Address

Update the property address on a quote. The values you provide replace the current address.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: 550e8400-e29b-41d4-a716-446655440000

Unique identifier for the quote

Request Body schema: application/json
required
thoroughfare
required
string <= 60 characters ^.*$

Street name or thoroughfare

dependentThoroughfare
string <= 60 characters ^.*$

Dependent thoroughfare

dependentLocality
string <= 40 characters ^.*$

Dependent locality

doubleDependentLocality
string <= 35 characters ^.*$

Double dependent locality

postTown
required
string <= 60 characters ^.*$

Post town

county
string <= 100 characters ^.*$

County

postcode
string <= 10 characters ^.*$

Postcode

country
required
string <= 200 characters ^([Ee]ngland|[Ww]ales|[Ss]cotland)$

Country

buildingNumber
string <= 10 characters ^.*$

Building number

buildingName
string <= 50 characters ^.*$

Building name

subBuildingName
string <= 30 characters ^.*$

Sub-building name

organisationName
string <= 60 characters ^.*$

Organisation name

departmentName
string <= 60 characters ^.*$

Department name

poBoxNumber
string <= 14 characters ^[A-Za-z0-9.#\s]*$

PO Box number

uprn
integer [ 1 .. 999999999999 ]

Unique Property Reference Number (up to 12 digits)

udprn
integer [ 0 .. 99999999 ]

Unique Delivery Point Reference Number

Responses

Request samples

Content type
application/json

Example request for updating a quote property address

{
  • "thoroughfare": "Kelham Road",
  • "dependentLocality": "Newark",
  • "postTown": "Newark",
  • "county": "Nottinghamshire",
  • "postcode": "NG24 1BU",
  • "country": "England"
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Update Quote Product Details

Update the product details on a quote. The values you provide replace the current product details.

The request body must match the productDetails object for the quote's product, as defined in Product Schemas. You can't change the quote's productId or propertyLocation here.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: 550e8400-e29b-41d4-a716-446655440000

Unique identifier for the quote

Request Body schema: application/json
required
object (QuoteProductDetails)

Product-specific details for a quote. Must match the productDetails object structure for the quote's product as defined in Product Schemas.

Responses

Request samples

Content type
application/json

Example request for updating product details on a Purchase England/Wales quote

{
  • "property": {
    },
  • "referralFee": 150,
  • "hasOfferBeenAccepted": true,
  • "doesReservationFormApply": false,
  • "isRightToBuy": false,
  • "isAuctionPurchase": false,
  • "isPropertyBeingBoughtWithMortgage": true,
  • "lender": "Halifax"
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Add Person to Quote

Add a person (applicant) to a quote. A quote can have up to 8 applicants.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: 550e8400-e29b-41d4-a716-446655440000

Unique identifier for the quote

Request Body schema: application/json
required
reference
string <uuid> = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

A value which can be used to refer to a person. Optional when creating or adding a person; a reference is generated automatically if not supplied. Once set, the reference cannot be changed.

title
string <= 20 characters

Person's title

firstName
required
string <= 100 characters

First name

middleName
string <= 100 characters

Middle name

lastName
required
string <= 100 characters

Last name

email
required
string <email> [ 5 .. 254 ] characters

Email address

telephoneNumber
required
string [ 8 .. 20 ] characters

Telephone number

object (Address)

Address using PAF Plus format

roles
required
Array of strings [ 1 .. 20 ] items
Items Value: "Applicant"

Responses

Request samples

Content type
application/json

Example request for adding a person to a quote. reference is omitted; a reference is generated automatically in the response.

{
  • "title": "Mrs",
  • "firstName": "Jane",
  • "lastName": "Smith",
  • "email": "jane.smith@example.com",
  • "telephoneNumber": "+447987654321",
  • "roles": [
    ]
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Update Person on Quote

Update a person on a quote. The values you provide replace that person's details.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: 550e8400-e29b-41d4-a716-446655440000

Unique identifier for the quote

personReference
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: bf13cb52-6676-4f3d-a27a-b6cafaf52f19

Unique identifier for the person on the quote

Request Body schema: application/json
required
title
string <= 20 characters

Person's title

firstName
required
string <= 100 characters

First name

middleName
string <= 100 characters

Middle name

lastName
required
string <= 100 characters

Last name

email
required
string <email> [ 5 .. 254 ] characters

Email address

telephoneNumber
required
string [ 8 .. 20 ] characters

Telephone number

object (Address)

Address using PAF Plus format

roles
required
Array of strings [ 1 .. 20 ] items
Items Value: "Applicant"

Responses

Request samples

Content type
application/json

Example request for updating a person on a quote

{
  • "title": "Mrs",
  • "firstName": "Jane",
  • "lastName": "Smith",
  • "email": "jane.smith@example.com",
  • "telephoneNumber": "+447987654321",
  • "correspondenceAddress": {
    },
  • "roles": [
    ]
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Remove Person from Quote

Remove a person from a quote.

Authorizations:
BearerAuth
path Parameters
quoteId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: 550e8400-e29b-41d4-a716-446655440000

Unique identifier for the quote

personReference
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...
Example: bf13cb52-6676-4f3d-a27a-b6cafaf52f19

Unique identifier for the person on the quote

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Cases

Once you instruct a quote it becomes a case. If you're the conveyancer, these are the cases assigned to you: you work them through to completion and post updates as you go. If you're the introducer, this is how you follow the work you've referred and see how it's progressing. Either way, you only see the cases your account is party to.

From here you can retrieve your cases, read the full detail of one, update its status and handler, work the task hierarchy, follow the activity history, and add notes. Document exchange is marked Preview.

List Cases

Retrieve your cases, most recently updated first. As a conveyancer these are the cases assigned to you; as an introducer these are the cases you've instructed.

Filter, sort, and page the results with the OData-style query parameters below.

Authorizations:
BearerAuth
query Parameters
$filter
string <= 1000 characters

OData $filter syntax i.e. $filter=status eq 'Completed'

Supported $filter values are: 'status', 'createdDate', 'updatedDate', 'productId'

$orderby
string <= 1000 characters
Default: "updatedDate desc"

OData $orderby syntax i.e. $orderby=updatedDate desc

Supported $orderby values are: 'createdDate', 'updatedDate', 'productName', 'status'

$top
integer <int32> [ 1 .. 999 ]
Default: 20

The number of items to return

$skip
integer <int32> [ 0 .. 9999999 ]
Default: 0

The number of items to skip

$count
boolean
Default: false

Whether or not to return a count of items

countOnly
boolean
Default: false

Return only the count of items

Responses

Response samples

Content type
application/json

Example response for retrieving a list of cases

{
  • "count": 3,
  • "cases": [
    ]
}

Retrieve Case Details

Retrieve the full detail of one of your cases, including its current status, activities, and documents.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Responses

Response samples

Content type
application/json

Example response for retrieving a complete case

{
  • "caseId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  • "status": "In Progress",
  • "additionalReferences": [
    ],
  • "propertyAddress": {
    },
  • "product": {
    },
  • "persons": [
    ],
  • "conveyancer": {},
  • "documents": [
    ],
  • "accounts": [
    ],
  • "contacts": [
    ]
}

Accept Case

Accept a case that has been instructed to you.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Reject Case

Reject a case that has been instructed to you. A reason must be provided.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Request Body schema: application/json
required
reason
required
string <= 1000 characters

Reason for rejecting the case

Responses

Request samples

Content type
application/json

Example request for rejecting a case

{
  • "reason": "Unable to take on this case due to capacity constraints"
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Change Case Status

Update the status of a case — place on hold, cancel, or resume from hold back to in progress. A reason must be provided for the change.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Request Body schema: application/json
required
status
required
string
Enum: "In Progress" "On Hold" "Cancelled"

The status to set on the case. Use "On Hold" or "Cancelled" when the case is in progress. Use "In Progress" to resume a case that is on hold.

reason
required
string <= 1000 characters

Reason for the status change

Responses

Request samples

Content type
application/json

Example request for updating a case status

{
  • "status": "On Hold",
  • "reason": "Awaiting additional documentation from the client"
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Add Case Handler

Assign a specific conveyancer to a case, making the responsible contact visible to all parties and tracked in the case history.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Request Body schema: application/json
required
Any of
contactId
required
string <uuid> = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case handler contact

email
string <email> [ 5 .. 254 ] characters

Email address of the case handler contact

Responses

Request samples

Content type
application/json
Example

Example request for adding a case handler by email

{
  • "email": "case.handler@example.com"
}

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

List Case Activities

Retrieve the activity history on a case — milestones, notes, task updates, and contact logs. This is how you follow a case's progress.

Filter and page the results with the OData-style query parameters below.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

query Parameters
$filter
string <= 1000 characters

OData $filter syntax i.e. $filter=type eq 'Note'

The only supported $filter value is 'type' (activity type).

$top
integer <int32> [ 1 .. 999 ]
Default: 50

The number of items to return

$skip
integer <int32> [ 0 .. 9999999 ]
Default: 0

The number of items to skip

Responses

Response samples

Content type
application/json

Example response for retrieving activities on a case

{
  • "activities": [
    ]
}

List Case Tasks

Retrieve the task hierarchy for a case. Tasks mark key events in the conveyancing lifecycle and are visible to connected parties so they can see progress.

The set is tailored to the case (for example by jurisdiction) and is generated when the case is first created.

Tasks are organised as parents and children. Completing a parent completes all uncompleted children; completing the last uncompleted child completes the parent.

Each task has a reference that is consistent across cases where that task applies. Use reference when mapping events in your own platform; use taskId when completing a specific instance on a case.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Responses

Response samples

Content type
application/json

Example response for retrieving tasks on a case

{
  • "tasks": [
    ],
  • "count": 12
}

Complete Case Task

Mark a task on a case as complete. Completing a parent completes all uncompleted children; completing the last uncompleted child completes the parent.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

taskId
required
string (LgsReferenceId) ^[0-9]{6,16}$

The taskId of the task to complete (from TaskItem.taskId)

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

List Case Notes

Retrieve all notes recorded on a case. Notes are visible to all parties on the case.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Responses

Response samples

Content type
application/json

Example response for retrieving notes on a case

{
  • "notes": [
    ]
}

Add Note to Case

Add a note to a case. Notes are recorded in the case activity history and are visible to all parties on the case.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Request Body schema: application/json
required
title
string or null <= 100 characters
body
required
string [ 1 .. 5000 ] characters

Responses

Request samples

Content type
application/json

Example request for adding a note to a case

{
  • "title": "ID documents received",
  • "body": "Client confirmed they have submitted ID documents."
}

Response samples

Content type
application/json

Example response when a note is added to a case

{
  • "title": "ID documents received",
  • "body": "Client confirmed they have submitted ID documents.",
  • "createdDate": "2024-01-20T10:30:00Z"
}

Add Document to Case Preview

Add a document to a case.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

Request Body schema: multipart/form-data
required
documentType
required
string
Value: "Undefined"

Type of document (currently only Undefined; will be expanded in future updates)

filename
required
string [ 3 .. 250 ] characters ^(?!.*\.\..*)[^\:/\*"\<\>\|]+?\.[a-zA-Z\d]{1,...

Name of the file being uploaded

file
required
string <binary> <= 99614720 characters

The document file content

Responses

Request samples

Content type
multipart/form-data

Example request for uploading a document to a case

{
  "mimeType": "application/pdf",
  "documentType": "Undefined",
  "filename": "search-report.pdf",
  "file": "<binary file content>"
}

Response samples

Content type
application/json
{ }

Retrieve Document Preview

Download a document from a case.

Authorizations:
BearerAuth
path Parameters
caseId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique identifier for the case

documentId
required
string <uuid> (LgsUuid) = 36 characters ^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]...

Unique Landmark ID for the document

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": "400",
  • "code": "40000",
  • "title": "Invalid content type supplied"
}

Product Schemas

The request schema for each product and country combination, used when you create or amend a quote.

Purchase - England/Wales

productId
required
string <uuid>
Value: "f7a7438b-fe4e-4361-b00b-d3d709a16d01"

Product ID for Purchase in England/Wales

propertyLocation
required
string
Value: "EnglandWales"

Property location - must be EnglandWales for this product

required
object
{
  • "productId": "f7a7438b-fe4e-4361-b00b-d3d709a16d01",
  • "propertyLocation": "EnglandWales",
  • "productDetails": {
    }
}

Purchase - Scotland

productId
required
string <uuid>
Value: "f7a7438b-fe4e-4361-b00b-d3d709a16d01"

Product ID for Purchase in Scotland

propertyLocation
required
string
Value: "Scotland"

Property location - must be Scotland for this product

required
object
{
  • "productId": "f7a7438b-fe4e-4361-b00b-d3d709a16d01",
  • "propertyLocation": "Scotland",
  • "productDetails": {
    }
}

Sale - England/Wales

productId
required
string <uuid>
Value: "e5e42a0e-6717-4b45-8cd5-0f3a3b79cf4d"

Product ID for Sale in England/Wales

propertyLocation
required
string
Value: "EnglandWales"

Property location - must be EnglandWales for this product

required
object
{
  • "productId": "e5e42a0e-6717-4b45-8cd5-0f3a3b79cf4d",
  • "propertyLocation": "EnglandWales",
  • "productDetails": {
    }
}

Sale - Scotland

productId
required
string <uuid>
Value: "e5e42a0e-6717-4b45-8cd5-0f3a3b79cf4d"

Product ID for Sale in Scotland

propertyLocation
required
string
Value: "Scotland"

Property location - must be Scotland for this product

required
object
{
  • "productId": "e5e42a0e-6717-4b45-8cd5-0f3a3b79cf4d",
  • "propertyLocation": "Scotland",
  • "productDetails": {
    }
}

Fixed Fee Remortgage - England/Wales

productId
required
string <uuid>
Value: "1d67bbf2-5054-4dce-a1f4-7fc3fc31234d"

Product ID for Fixed Fee Remortgage in England/Wales

propertyLocation
required
string
Value: "EnglandWales"

Property location - must be EnglandWales for this product

required
object
{
  • "productId": "1d67bbf2-5054-4dce-a1f4-7fc3fc31234d",
  • "propertyLocation": "EnglandWales",
  • "productDetails": {
    }
}

Fixed Fee Remortgage - Scotland

productId
required
string <uuid>
Value: "1d67bbf2-5054-4dce-a1f4-7fc3fc31234d"

Product ID for Fixed Fee Remortgage in Scotland

propertyLocation
required
string
Value: "Scotland"

Property location - must be Scotland for this product

required
object
{
  • "productId": "1d67bbf2-5054-4dce-a1f4-7fc3fc31234d",
  • "propertyLocation": "Scotland",
  • "productDetails": {
    }
}

Cashback Remortgage - England/Wales

productId
required
string <uuid>
Value: "611ec5c5-3259-4043-9442-333820712b6a"

Product ID for Cashback Remortgage in England/Wales

propertyLocation
required
string
Value: "EnglandWales"

Property location - must be EnglandWales for this product

required
object
{
  • "productId": "611ec5c5-3259-4043-9442-333820712b6a",
  • "propertyLocation": "EnglandWales",
  • "productDetails": {
    }
}